EgtExecutor 1.6p1 :

- piccole migliorie ed aggiustamenti.
This commit is contained in:
Dario Sassi
2016-04-13 06:33:55 +00:00
parent bb5feba6c4
commit 4ec6568db1
11 changed files with 199 additions and 52 deletions
+7 -7
View File
@@ -337,13 +337,13 @@ ExeIntersectionPoint( int nId1, int nId2, const Point3d& ptNear, int nRefId, Poi
if ( ! pGeomDB->GetGlobFrame( nId2, frEnt2))
return false ;
// se il riferimento della seconda curva è diverso da quello della prima entità, devo trasformarla
PtrOwner<ICurve> crvTrans( nullptr) ;
PtrOwner<ICurve> pcrvTrans ;
if ( ! AreSameFrame( frEnt1, frEnt2)) {
crvTrans.Set( pCrv2->Clone()) ;
if ( IsNull( crvTrans))
pcrvTrans.Set( pCrv2->Clone()) ;
if ( IsNull( pcrvTrans))
return false ;
crvTrans->LocToLoc( frEnt2, frEnt1) ;
pCrv2 = ::Get( crvTrans) ;
pcrvTrans->LocToLoc( frEnt2, frEnt1) ;
pCrv2 = pcrvTrans ;
}
// porto il punto Near nel riferimento della prima entità
Point3d ptNearL = ptNear ;
@@ -875,12 +875,12 @@ ExeSurfFrChunkSimpleClassify( int nId1, int nChunk1, int nId2, int nChunk2)
bOk = bOk && pGeomDB->GetGlobFrame( nId2, frSurf2) ;
// se riferimenti diversi, porto una copia della seconda nel riferimento della prima
const ISurfFlatRegion* pSfr2L = pSfr2 ;
PtrOwner<ISurfFlatRegion>pTmp ;
PtrOwner<ISurfFlatRegion> pTmp ;
if ( ! AreSameFrame( frSurf1, frSurf2)) {
pTmp.Set( CloneSurfFlatRegion( pSfr2)) ;
bOk = bOk && ! IsNull( pTmp) ;
bOk = bOk && pTmp->LocToLoc( frSurf2, frSurf1) ;
pSfr2L = Get( pTmp) ;
pSfr2L = pTmp ;
}
// classifico il chunk della prima regione rispetto a quello della seconda
return pSfr1->GetChunkSimpleClassification( nChunk1, *pSfr2L, nChunk2) ;