EgtGeomKernel :

- aggiunta funzione per gestione spigoli in SurfExtend
- correzioni a SurfExtend.
This commit is contained in:
Daniele Bariletti
2026-07-07 09:13:18 +02:00
parent 53cd3c26b9
commit dc46c92c95
2 changed files with 119 additions and 36 deletions
+12 -4
View File
@@ -1325,6 +1325,8 @@ GetCurveOnSurfInfo( const ICurve& crCrv, const ISurfTriMesh& pSurf,
Point3d ptPrev ;
bool bFirst = true ;
const ICurveComposite* pCC = GetCurveComposite( &crCrv) ;
int nTria = -1 ;
Triangle3dEx trTria ;
while ( bFound) {
// se trovo proiezione, la salvo
Point5ax Pt5ax ;
@@ -1335,13 +1337,19 @@ GetCurveOnSurfInfo( const ICurve& crCrv, const ISurfTriMesh& pSurf,
int nCrv = int( bJoint ? dPar - 1 : dPar) ;
if ( nCrv < 0)
nCrv = 0 ;
int nTria ; pCC->GetCurveTempProp( nCrv, nTria, 0) ;
Triangle3d trTria ; pSurf.GetTriangle( nTria, trTria) ;
Pt5ax.vtDir1 = trTria.GetN() ;
int nTriaCurr ; pCC->GetCurveTempProp( nCrv, nTriaCurr, 0) ;
if ( nTriaCurr != nTria)
pSurf.GetTriangle( nTriaCurr, trTria) ;
if ( ! CalcNormal( ptP, trTria, Pt5ax.vtDir1))
Pt5ax.vtDir1 = trTria.GetN() ;
nTria = nTriaCurr ;
if ( bJoint) {
int nTria2 ; pCC->GetCurveTempProp( int( dPar), nTria2, 0) ;
Triangle3d trTria2 ; pSurf.GetTriangle( nTria2, trTria2) ;
Pt5ax.vtDir2 = trTria2.GetN() ;
if ( ! CalcNormal( ptP, trTria2, Pt5ax.vtDir2))
Pt5ax.vtDir2 = trTria2.GetN() ;
nTria = nTria2 ;
trTria = trTria2 ;
}
else
Pt5ax.vtDir2 = Pt5ax.vtDir1 ;