EgtGeomKernel 1.6x4 :
- corretta GetSurfFlatRegionFromFatCurve per archi con raggi piccoli su percorso aperto.
This commit is contained in:
+14
-2
@@ -172,11 +172,23 @@ GetSurfFlatRegionFromFatCurve( ICurve* pCrv, double dRadius, bool bSquareEnds, b
|
||||
if ( IsNull( pCompo2) || ! pCompo2->Invert())
|
||||
return nullptr ;
|
||||
// offset della prima curva a destra del raggio
|
||||
if ( ! pCompo1->SimpleOffset( dRadius, nOffsType))
|
||||
OffsetCurve OffsCrv1 ;
|
||||
if ( ! OffsCrv1.Make( pCompo1, dRadius, nOffsType))
|
||||
return nullptr ;
|
||||
ICurve* pOffs1 = OffsCrv1.GetLongerCurve() ;
|
||||
if ( pOffs1 != nullptr) {
|
||||
pCompo1->Clear() ;
|
||||
pCompo1->AddCurve( pOffs1) ;
|
||||
}
|
||||
// offset della seconda curva a destra del raggio
|
||||
if ( ! pCompo2->SimpleOffset( dRadius, nOffsType))
|
||||
OffsetCurve OffsCrv2 ;
|
||||
if ( ! OffsCrv2.Make( pCompo2, dRadius, nOffsType))
|
||||
return nullptr ;
|
||||
ICurve* pOffs2 = OffsCrv2.GetLongerCurve() ;
|
||||
if ( pOffs2 != nullptr) {
|
||||
pCompo2->Clear() ;
|
||||
pCompo2->AddCurve( pOffs2) ;
|
||||
}
|
||||
// se estremi squadrati
|
||||
if ( bSquareEnds) {
|
||||
// aggiungo alla prima curva una linea che la unisca alla seconda
|
||||
|
||||
Reference in New Issue
Block a user