24#ifndef OD_GETRSIMPLIFICATION_H
25#define OD_GETRSIMPLIFICATION_H
56 OdGeTr() : tagFace(-1) { nb.set(-1); tagEdge.set(-1); }
170 bool isEdgeValid(
int t,
int v);
171 bool checkEdge(
int t,
int v);
172 bool checkOverlap(
int v1,
int v2);
175 void removeGarbage();
177 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 ODRX_OVERRIDE
int getCoEdge(int t, int e) const
OdArray< OdArray< intPair > > m_vxToTr
OdGeVector3d vxNormal(int v) const
void append(const OdGeTrMesh &mesh)
bool walkAroundVertex(int &iTr, int &w, int3 &aux) const
void removeUnusedVertices()
virtual int checkMeshMismatch(const OdGeMesh &mesh, OdGePoint3dArray &aPtMismatch, double tol) const ODRX_OVERRIDE
OdGeVector3d trNormal(int t, double *area=NULL) const
void removeDegenerateTriangles(double tol)
bool walkNextTr(int &iTr, int &w, bool dir) const
GLfloat GLfloat GLfloat v2
GLfloat GLfloat GLfloat GLfloat w
GE_TOOLKIT_EXPORT bool compareMeshes(const OdGeTrMesh &meshTemplate, const OdGeTrMesh &mesh, double tolCoef, bool bDebugOutput)
std::pair< int, int > intPair
GE_TOOLKIT_EXPORT bool triangulateProfile(const OdGePoint2dArray &vertexSource, const std::vector< OdInt32 > &inFaceData, OdArray< OdInt32 > &vecTriangles, double tol=0)
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