75c65d7094
- miglioramenti alla Triangulate.
38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
//----------------------------------------------------------------------------
|
|
// EgalTech 2014-2014
|
|
//----------------------------------------------------------------------------
|
|
// File : SurfTriMesh.h Data : 26.03.14 Versione : 1.5c9
|
|
// Contenuto : Dichiarazione della classe Superfici TriMesh.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 26.03.14 DS Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
#include "/EgtDev/Include/EGkGeoCollection.h"
|
|
|
|
class PolyLine ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
enum { PL_XY = 1, PL_YZ = 2, PL_ZX = 3} ;
|
|
|
|
//----------------------------------------------------------------------------
|
|
class Triangulate
|
|
{
|
|
public :
|
|
bool Make( const PolyLine& PL, PNTVECTOR& vPt, INTVECTOR& vTr) ;
|
|
|
|
private :
|
|
bool MakeByEC( const PNTVECTOR& vPt, const INTVECTOR& vPol, INTVECTOR& vTr) ;
|
|
bool MakeByEC2( const PNTVECTOR& vPt, const INTVECTOR& vPol, INTVECTOR& vTr) ;
|
|
bool TestTriangle( const PNTVECTOR& vPt, const INTVECTOR& vPol,
|
|
const INTVECTOR& vPrev, INTVECTOR& vNext, int i) ;
|
|
bool TriangleIsCCW( const Point3d& ptA, const Point3d& ptB, const Point3d& ptC, double dToler = EPS_SMALL) ;
|
|
bool TestPointInTriangle( const Point3d& ptP, const Point3d& ptA, const Point3d& ptB, const Point3d& ptC) ;
|
|
|
|
private :
|
|
int m_nPlane ;
|
|
} ; |