- riduzione del numero di copie di polyline nel tree di una bezier.
This commit is contained in:
+23
-14
@@ -1611,19 +1611,18 @@ SurfBezier::GetCurveOnVApproxLen( double dU) const
|
||||
bool
|
||||
SurfBezier::UpdateEdgesFromTree( Tree& tr) const
|
||||
{
|
||||
POLYLINEMATRIX mPlEdges ;
|
||||
tr.GetEdges3D( mPlEdges) ;
|
||||
for ( int i= 0 ; i < int( mPlEdges.size()); ++i) {
|
||||
for ( int j = 0 ; j < int ( mPlEdges[i].size()) ; ++j) {
|
||||
m_mCCEdge[i].emplace_back(CreateBasicCurveComposite()) ;
|
||||
if ( ! m_mCCEdge[i].back()->FromPolyLine(mPlEdges[i][j]) ) {
|
||||
Point3d ptStart ;
|
||||
if ( ! mPlEdges[i][j].GetFirstPoint( ptStart))
|
||||
continue ;
|
||||
m_mCCEdge[i].back()->FromPoint( ptStart) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
tr.GetEdges3D( m_mCCEdge) ;
|
||||
//for ( int i= 0 ; i < int( mPlEdges.size()); ++i) {
|
||||
// for ( int j = 0 ; j < int ( mPlEdges[i].size()) ; ++j) {
|
||||
// m_mCCEdge[i].emplace_back(CreateBasicCurveComposite()) ;
|
||||
// if ( ! m_mCCEdge[i].back()->FromPolyLine(mPlEdges[i][j]) ) {
|
||||
// Point3d ptStart ;
|
||||
// if ( ! mPlEdges[i][j].GetFirstPoint( ptStart))
|
||||
// continue ;
|
||||
// m_mCCEdge[i].back()->FromPoint( ptStart) ;
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
if ( m_bTrimmed) {
|
||||
POLYLINEVECTOR vPl ;
|
||||
@@ -1636,6 +1635,17 @@ SurfBezier::UpdateEdgesFromTree( Tree& tr) const
|
||||
}
|
||||
}
|
||||
|
||||
// if ( m_bTrimmed) {
|
||||
// //POLYLINEVECTOR vPl ;
|
||||
// tr.GetSplitLoops( m_vCCLoop) ;
|
||||
|
||||
// //// recupero i loop nel parametrico
|
||||
// //for( int i = 0 ; i < int( vPl.size()); ++i) {
|
||||
// // m_vCCLoop.emplace_back(CreateBasicCurveComposite()) ;
|
||||
// // m_vCCLoop.back()->FromPolyLine(vPl[i]) ;
|
||||
// //}
|
||||
// }
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
@@ -1681,7 +1691,6 @@ SurfBezier::GetApproxSurf( double dTol, double dSideMin) const
|
||||
bool bTest = false ; // per debug
|
||||
// resetto il vettore degli edge
|
||||
m_mCCEdge.clear() ;
|
||||
m_mCCEdge = vector<ICRVCOMPOPOVECTOR>(4) ;
|
||||
m_vCCLoop.clear() ;
|
||||
for ( int i = 0 ; i < (int) vTrees.size() ; ++ i) {
|
||||
Point3d ptMin = get<0>( vTrees[i]) ;
|
||||
|
||||
Reference in New Issue
Block a user