Version: 8.3.0
SMESHUtils Namespace Reference

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)
 

Function Documentation

template<class TVECTOR >
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::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().