EgtGeomKernel 2.2a5 :
- miglioria a Collinear di Triangulate.
This commit is contained in:
Binary file not shown.
+5
-1
@@ -648,7 +648,11 @@ Triangulate::SameDirection( const Point3d& ptA, const Point3d& ptB, const Point3
|
||||
bool
|
||||
Triangulate::Collinear( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler)
|
||||
{
|
||||
return ( abs( TwoArea( ptA, ptB, ptC)) < dToler * dToler) ;
|
||||
double dSqDistA = SquareDist( ptA, ptB) ;
|
||||
double dSqDistB = SquareDist( ptB, ptC) ;
|
||||
double dSqDistC = SquareDist( ptC, ptA) ;
|
||||
double dTwoArea = abs( TwoArea( ptA, ptB, ptC)) ;
|
||||
return ( dTwoArea * dTwoArea < dToler * dToler * max( { dSqDistA, dSqDistB, dSqDistC})) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ class Triangulate
|
||||
double TwoArea( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC) ;
|
||||
bool AreSamePoint( const Point3d& ptA, const Point3d& ptB, double dToler = EPS_SMALL) ;
|
||||
bool SameDirection( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC) ;
|
||||
bool Collinear( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler = 0.1 * EPS_SMALL) ;
|
||||
bool Collinear( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler = EPS_TRIA_H) ;
|
||||
bool TriangleIsCCW( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler = 0.1 * EPS_SMALL) ;
|
||||
bool TestIntersection( const Point3d& ptA1, const Point3d& ptA2, const Point3d& ptB1, const Point3d& ptB2) ;
|
||||
bool TestPointInTriangle( const Point3d& ptP, const Point3d& ptA, const Point3d& ptB, const Point3d& ptC) ;
|
||||
|
||||
Reference in New Issue
Block a user