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:
Dario Sassi
2015-03-11 07:55:53 +00:00
parent 1b85e111dc
commit 6fc5e1f338
12 changed files with 1062 additions and 152 deletions
+6 -4
View File
@@ -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 ;