24 #ifndef OD_GETRSIMPLIFICATION_H
25 #define OD_GETRSIMPLIFICATION_H
56 OdGeTr() : tagFace(-1) { nb.set(-1); tagEdge.set(-1); }
160 virtual bool computeQ(
int iVt);
161 bool isEdgeValid(
int t,
int v);
162 bool checkEdge(
int t,
int v);
163 bool checkOverlap(
int v1,
int v2);
166 void removeGarbage();
168 bool checkVxToTr(
int iVt);
#define GE_TOOLKIT_EXPORT
std::set< VertexPairKey > m_pairMap
OdArray< OdGeMatrix3d > m_Q
OdArray< OdArray< int > > m_vxToPair
void computeErrorOnPair(int iPair)
virtual bool computeQ(int iVt)=0
OdArray< VertexPair > m_pair
void reset(OdGePoint3dArray &vx)
void reset(OdGeTrMesh &trng)
void algo(double simpPercent)
OdGeExtents3d getExtents() const
virtual int checkMeshMismatch(const OdGeMesh &mesh, OdGePoint3dArray &aPtMismatch, double tol) const =0
virtual double distanceTo(const OdGePoint3d &pt, OdGePoint3d &ptClosest, bool bPrecise) const =0
virtual double distanceTo(const OdGePoint3d &pt, OdGePoint3d &ptClosest, bool bPrecise) const
int getCoEdge(int t, int e) const
OdArray< OdArray< intPair > > m_vxToTr
OdGeVector3d vxNormal(int v) const
bool walkAroundVertex(int &iTr, int &w, int3 &aux) const
OdGeVector3d trNormal(int t, double *area=NULL) const
virtual int checkMeshMismatch(const OdGeMesh &mesh, OdGePoint3dArray &aPtMismatch, double tol) const
void removeDegenerateTriangles(double tol)
bool walkNextTr(int &iTr, int &w, bool dir) const
GLfloat GLfloat GLfloat v2
GLfloat GLfloat GLfloat GLfloat w
std::pair< int, int > intPair
GE_TOOLKIT_EXPORT bool triangulateProfile(const OdGePoint2dArray &vertexSource, const std::vector< OdInt32 > &inFaceData, OdArray< OdInt32 > &vecTriangles)
void replaceNb(int nbOld, int nbNew)
void replace(int a, int b)
bool equal(VertexPair &pair)
VertexPairKey(double cost, int ind)
int operator[](unsigned int i) const