EgtGeomKernel 2.6c2 :
- modifiche a SurfTriMesh per flag visualizzazione spigoli vivi in shading - modifiche a VolZmap per flag visualizzazione spigoli vivi in shading - aggiunte funzioni PreSave, PostSave e PostLoad per consentire di convertire nuovi parametri delle entità in info prima del salvataggio e riprenderli alla lettura.
This commit is contained in:
+9
-13
@@ -4673,23 +4673,19 @@ VolZmap::GetEdges( ICURVEPOVECTOR& vpCurve) const
|
||||
PtrOwner<CurveComposite> pCrvCompo( CreateBasicCurveComposite()) ;
|
||||
if ( IsNull( pCrvCompo))
|
||||
return false ;
|
||||
// recupero gli estremi dei segmenti, creo le linee e le inserisco nella composita
|
||||
// recupero gli estremi dei segmenti e li inserisco nella composita
|
||||
for ( int i = 0 ; i < int( vId.size()) ; ++ i) {
|
||||
// creo un segmento di retta
|
||||
// recupero indice e flag di inversione
|
||||
int nInd = abs( vId[i]) - 1 ;
|
||||
bool bInvert = ( vId[i] < 0) ;
|
||||
PtrOwner<CurveLine> pLine( CreateBasicCurveLine()) ;
|
||||
if ( IsNull( pLine) || ! pLine->Set( vBpt[nInd].first, vBpt[nInd].second))
|
||||
continue ;
|
||||
if ( bInvert)
|
||||
pLine->Invert() ;
|
||||
// lo accodo alla composita
|
||||
if ( ! pCrvCompo->AddCurve( Release( pLine), true, 1.1 * dToler) &&
|
||||
! AreSamePointApprox( ptNear, ( bInvert ? vBpt[nInd].first : vBpt[nInd].second)))
|
||||
return false ;
|
||||
// aggiorno il prossimo near
|
||||
ptNear = ( bInvert ? vBpt[nInd].first : vBpt[nInd].second) ;
|
||||
// se primo segmento, inserisco il punto iniziale
|
||||
if ( i == 0)
|
||||
pCrvCompo->AddPoint( ! bInvert ? vBpt[nInd].first : vBpt[nInd].second) ;
|
||||
// aggiungo il punto finale
|
||||
pCrvCompo->AddLine( ! bInvert ? vBpt[nInd].second : vBpt[nInd].first) ;
|
||||
}
|
||||
// aggiorno il prossimo near
|
||||
pCrvCompo->GetEndPoint( ptNear) ;
|
||||
// se lunghezza curva inferiore a 5 volte la tolleranza, la salto
|
||||
double dCrvLen ;
|
||||
if ( ! pCrvCompo->GetLength( dCrvLen) || dCrvLen < 5 * dToler)
|
||||
|
||||
Reference in New Issue
Block a user