C3D Kernel  104598
Triangulation
Geometric Computations Methods
Collaboration diagram for Triangulation:

## Functions

void CalculateBoundsSltFast (const MbFloatGrid &grid, const MbMatrix3D &matrix, bool perspective, RPArray< MbFloatPoint3D > &points)
Construct silhouette lines by a triangular mesh.
void CalculateBoundsSlt (const MbGrid &grid, const MbMatrix3D &matrix, bool perspective, SArray< MbFloatPoint3D > &points)
Construct silhouette lines by a triangular mesh.
void CalculateSections (const MbGrid &grid, const MbMatrix3D &matrix, SArray< MbFloatPoint3D > &points)
Construct section lines by a triangular mesh.
bool PolygonTubeGrid (const MbPolygon3D &poly, double radius, double sag, MbGrid &grid)
Construct triangulations in the form of a tube of given radius around the polygon.
bool PolygonToGrid (const MbPolygon &poly, MbGrid &grid)
Convert two-dimensional polygon to triangulation.
void CalculateGrid (const MbFace &face, const MbStepData &stepData, MbGrid &grid, bool dualSeams=true)
Approximation of face.
bool StepDataTune (const MbCube &cube, size_t count, MbStepData &stepData)
Configuring step data for triangulation.

## Function Documentation

 void CalculateBoundsSltFast ( const MbFloatGrid & grid, const MbMatrix3D & matrix, bool perspective, RPArray< MbFloatPoint3D > & points )

Get silhouette lines as pairs of pointers to the existed points in the array of triangulation.

Parameters:
 [in] grid - A triangular mesh. [in] matrix - A matrix for setting of view vector. [in] perspective - An attribute of perspective mapping. [out] points - The result - the set of points.
 void CalculateBoundsSlt ( const MbGrid & grid, const MbMatrix3D & matrix, bool perspective, SArray< MbFloatPoint3D > & points )

Get silhouette lines as pairs of points.

Parameters:
 [in] grid - A triangular mesh. [in] matrix - A matrix for setting of view vector. [in] perspective - An attribute of perspective mapping. [out] points - The result - the set of points.
 void CalculateSections ( const MbGrid & grid, const MbMatrix3D & matrix, SArray< MbFloatPoint3D > & points )

Get section lines as pairs of points.

Parameters:
 [in] grid - A triangular mesh. [in] matrix - A matrix for setting of section plane. [out] points - The result - the set of points.
 bool PolygonTubeGrid ( const MbPolygon3D & poly, double radius, double sag, MbGrid & grid )

Construct triangulations in the form of a tube of given radius around the polygon.

Parameters:
 [in] poly - A polygon. [in] radius - Radius of a tube. [in] sag - Maximum deviation of triangulation from a circle (sag). [out] grid - Triangulation - the result.
 bool PolygonToGrid ( const MbPolygon & poly, MbGrid & grid )

Convert two-dimensional polygon to triangulation.

Parameters:
 [in] poly - A two-dimensional polygon. [out] grid - Constructed triangulation.
 void CalculateGrid ( const MbFace & face, const MbStepData & stepData, MbGrid & grid, bool dualSeams = `true` )

Approximation of face by array of triangular and quadrangular plates.

Parameters:
 [in] face - A face. [in] stepData - Data for step calculation during triangulation. [out] grid - Triangulations as a result: for visualization arrays 'params', 'points' and 'normals' are filled; for calculation of the mass-inertial properties an array 'params' is filled; for solids collision detection arrays 'params' and 'points' are filled; for splitting into finite elements arrays 'points' and 'normals' are filled. [in] dualSeams - Whether to keep seam edges polygons and their coincident points.
 bool StepDataTune ( const MbCube & cube, size_t count, MbStepData & stepData )

Checking and Correction step data for triangulation so that the number of points does not exceed a predetermined count on the order of magnitude of.

Parameters:
 [in] cube - A dimensional cube. [in] count - Proposed limit on the number of triangulation points for one face. [in] stepData - Data for step calculation during triangulation.
Returns:
True - stepData was change, false - there was no change.