EgtGeomKernel :
- sistemati vari bug nella creazione della superficie trimesh trimmata si una superficie di bezier Problemi noti : - sui casi con un tree reale genero dei poligoni sbagliati per le celle
This commit is contained in:
@@ -1500,6 +1500,7 @@ SurfBezier::GetAuxSurf( void) const
|
||||
// costruttore della superficie
|
||||
|
||||
Tree Tree( this, true) ;
|
||||
//Tree.BuildTree_test() ;
|
||||
Tree.BuildTree() ;
|
||||
vector<POLYLINEVECTOR> vvPL ;
|
||||
Tree.GetPolygons( vvPL) ;
|
||||
|
||||
@@ -99,6 +99,7 @@ public :
|
||||
void SetSurf( const SurfBezier* pSrfBz, bool bSplitPatches = true) ;
|
||||
bool BuildTree( double dLinTol = LIN_TOL_STD, double dSideMin = 5, double dSideMax = INFINITO) ; // dSideMax è il massimo per la dimensione maggiore di un triangolo della trimesh
|
||||
// dSideMin è lunghezza minima del lato di una cella nello spazio reale
|
||||
bool BuildTree_test( double dLinTol = LIN_TOL_STD, double dSideMin = 5, double dSideMax = INFINITO) ;
|
||||
bool GetPolygons( std::vector<POLYLINEVECTOR>& vPolygons) ;
|
||||
bool GetPolygonsBasic( POLYLINEVECTOR& vPolygons) ; // restituisce il poligono corrispondente ad ogni cella foglia dell'albero
|
||||
// ad ogni poligono sono stati aggiunti tutti i vertici dei vicini posizionati sui suoi lati
|
||||
@@ -126,12 +127,13 @@ private :
|
||||
bool CheckIfBefore( PolyLine& pl, int nEdge) const ;
|
||||
bool CheckIfBefore( Inters& inA) const ;
|
||||
bool CheckIfBefore( int& nEdge1, Point3d& ptP1, int& nEdge2, Point3d& ptP2) const ;
|
||||
bool CheckIfAfter( PolyLine& pl, Point3d& ptNextStart, int nEdge) const ;
|
||||
bool CheckIfAfter( PolyLine& pl, Point3d& ptNextStart, int nEdge, bool bSameEdge = true) const ;
|
||||
bool AreSameEdge( int nEdge1, int nEdge2) const ;
|
||||
bool AddVertex( int nId, std::vector<PNTVECTOR>& vEdgeVertex, PolyLine& plTrimmedPoly, int& c, Point3d& ptToAdd) const ;
|
||||
//bool SetRightEdgeIn( int nId, std::vector<PNTVECTOR>& vEdgeVertex, PolyLine& plTrimmedPoly) ;
|
||||
bool SetRightEdgeIn( int nId) ;
|
||||
bool CategorizeCell( int& nId) ;
|
||||
bool CheckIfBetween( Inters& intA, Inters& intB) const ;
|
||||
|
||||
private :
|
||||
const SurfBezier* m_pSrfBz ; // superficie di bezier
|
||||
|
||||
Reference in New Issue
Block a user