EgtGeomKernel 1.6b8 :
- velocizzata chiusura DB con molte entità selezionate - aggiunta intersezione linea superficie TM (versione semplice) - migliorata intersezione linea-triangolo - aggiunto calcolo area di superfici TM - aggiunto calcolo volume di superfici TM chiuse - aggiunta gestione facce piane di superficie TM - aggiunto calcolo punti notevoli di facce di superfici TM.
This commit is contained in:
+6
-4
@@ -19,7 +19,8 @@
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int
|
||||
IntersLineTria( const Point3d& ptL1, const Point3d& ptL2, const Triangle3d& trTria, Point3d& ptInt)
|
||||
IntersLineTria( const Point3d& ptL1, const Point3d& ptL2, const Triangle3d& trTria,
|
||||
Point3d& ptInt, Point3d& ptInt2)
|
||||
{
|
||||
Vector3d vtL = ptL2 - ptL1 ;
|
||||
double dLen = vtL.Len() ;
|
||||
@@ -27,12 +28,13 @@ IntersLineTria( const Point3d& ptL1, const Point3d& ptL2, const Triangle3d& trTr
|
||||
vtL /= dLen ;
|
||||
else
|
||||
vtL = V_NULL ;
|
||||
return IntersLineTria( ptL1, vtL, dLen, trTria, ptInt) ;
|
||||
return IntersLineTria( ptL1, vtL, dLen, trTria, ptInt, ptInt2) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
int
|
||||
IntersLineTria( const Point3d& ptL, const Vector3d& vtL, double dLen, const Triangle3d& trTria, Point3d& ptInt)
|
||||
IntersLineTria( const Point3d& ptL, const Vector3d& vtL, double dLen, const Triangle3d& trTria,
|
||||
Point3d& ptInt, Point3d& ptInt2)
|
||||
{
|
||||
// determino il piano del triangolo
|
||||
Plane3d plPlane ;
|
||||
@@ -45,7 +47,7 @@ IntersLineTria( const Point3d& ptL, const Vector3d& vtL, double dLen, const Tria
|
||||
return ILTT_NO ;
|
||||
// se c'è una intersezione
|
||||
else if ( nRes == ILPT_START || nRes == ILPT_END || nRes == ILPT_YES) {
|
||||
int nPTT = PointInTria( ptInt, trTria.GetP(0), trTria.GetP(1), trTria.GetP(2), trTria.GetN()) ;
|
||||
int nPTT = PointInTria( ptInt, trTria) ;
|
||||
switch ( nPTT) {
|
||||
case PTT_OUT :
|
||||
return ILTT_NO ;
|
||||
|
||||
Reference in New Issue
Block a user