Data Structures | |
struct | ControlPnt |
Control point: coordinates and element size at these coordinates. More... | |
struct | Deleter |
Auto pointer. More... | |
struct | ArrayDeleter |
Auto pointer to array. More... | |
Functions | |
void | subdivideTriangle (const gp_Pnt &p1, const gp_Pnt &p2, const gp_Pnt &p3, const double &theSize, std::vector< ControlPnt > &thePoints) |
Subdivides a triangle until it reaches a certain size (recursive function) More... | |
std::vector< gp_Pnt > | computePointsForSplitting (const gp_Pnt &p1, const gp_Pnt &p2, const gp_Pnt &p3) |
Returns the appropriate points for splitting a triangle. More... | |
gp_Pnt | tangencyPoint (const gp_Pnt &p1, const gp_Pnt &p2, const gp_Pnt &Center) |
Computes the tangency points of the circle of center Center with. More... | |
void | createControlPoints (const TopoDS_Shape &theShape, const double &theSize, std::vector< ControlPnt > &thePoints) |
Fills a vector of points from which a size map input file can be written. More... | |
void | createPointsSampleFromEdge (const TopoDS_Edge &theEdge, const double &theSize, std::vector< ControlPnt > &thePoints) |
Fills a vector of points with point samples approximately. More... | |
void | createPointsSampleFromFace (const TopoDS_Face &theFace, const double &theSize, std::vector< ControlPnt > &thePoints) |
Fills a vector of points with point samples approximately. More... | |
void | createPointsSampleFromSolid (const TopoDS_Solid &theSolid, const double &theSize, std::vector< ControlPnt > &thePoints) |
Fills a vector of points with point samples approximately. More... | |
template<class TVECTOR > | |
void | FreeVector (TVECTOR &vec) |
Enforce freeing memory allocated by std::vector. More... | |
template<class TVECTOR > | |
void | CompactVector (TVECTOR &vec) |
void SMESHUtils::CompactVector | ( | TVECTOR & | vec | ) |
std::vector< gp_Pnt > SMESHUtils::computePointsForSplitting | ( | const gp_Pnt & | p1, |
const gp_Pnt & | p2, | ||
const gp_Pnt & | p3 | ||
) |
Returns the appropriate points for splitting a triangle.
the tangency points of the incircle are used in order to have mostly well-shaped sub-triangles
References tangencyPoint().
Referenced by subdivideTriangle().
void SMESHUtils::createControlPoints | ( | const TopoDS_Shape & | theShape, |
const double & | theSize, | ||
std::vector< ControlPnt > & | thePoints | ||
) |
Fills a vector of points from which a size map input file can be written.
References createPointsSampleFromEdge(), createPointsSampleFromFace(), createPointsSampleFromSolid(), Edge, and Face.
void SMESHUtils::createPointsSampleFromEdge | ( | const TopoDS_Edge & | theEdge, |
const double & | theSize, | ||
std::vector< ControlPnt > & | thePoints | ||
) |
Fills a vector of points with point samples approximately.
spaced with a given size
References Handle(), and SMESHUtils::ControlPnt::SetSize().
Referenced by createControlPoints().
void SMESHUtils::createPointsSampleFromFace | ( | const TopoDS_Face & | theFace, |
const double & | theSize, | ||
std::vector< ControlPnt > & | thePoints | ||
) |
Fills a vector of points with point samples approximately.
spaced with a given size
References Handle(), and subdivideTriangle().
Referenced by createControlPoints().
void SMESHUtils::createPointsSampleFromSolid | ( | const TopoDS_Solid & | theSolid, |
const double & | theSize, | ||
std::vector< ControlPnt > & | thePoints | ||
) |
Fills a vector of points with point samples approximately.
spaced with a given size
References Face, MESHCUT::intersections, and second.
Referenced by createControlPoints().
void SMESHUtils::FreeVector | ( | TVECTOR & | vec | ) |
Enforce freeing memory allocated by std::vector.
Referenced by VISCOUS_2D::_SegmentTree::buildChildrenData(), SMESH::Controls::ElementsOnShape::OctreeClassifier::buildChildrenData(), DriverGMF_Read::Perform(), SMESH::Controls::ElementsOnShape::SetMesh(), and SMESH::Controls::ElementsOnShape::SetShape().
void SMESHUtils::subdivideTriangle | ( | const gp_Pnt & | p1, |
const gp_Pnt & | p2, | ||
const gp_Pnt & | p3, | ||
const double & | theSize, | ||
std::vector< ControlPnt > & | thePoints | ||
) |
Subdivides a triangle until it reaches a certain size (recursive function)
References computePointsForSplitting().
Referenced by createPointsSampleFromFace().
gp_Pnt SMESHUtils::tangencyPoint | ( | const gp_Pnt & | p1, |
const gp_Pnt & | p2, | ||
const gp_Pnt & | Center | ||
) |
Computes the tangency points of the circle of center Center with.
the straight line (p1 p2)
References MESHCUT::d.
Referenced by computePointsForSplitting().