All Frameworks  Class Hierarchy  This Framework  Next  Indexes

Tessellation Class CATBodyTessellator

CATBodyTessellator
 

Usage: you must use this class as is. You should never derive it.


public class CATBodyTessellator

Class defining a Tessellation operator on a body.

This operator computes a discretized geometry on the skin of a body, as triangles and bars. The extremities of the bars are called points. Three parameters tune the tessellation result:

Sag
Defines the maximum distance between a bar and the object to tessellate
Step
Defines the maximum length of a bar. If not defined, the step is infinite (this parameter is unused)
Angle
Defines the maximum angle between the normals at each bar end.
The Tessellation operator follows the scheme of all the CGM operators:


Constructor and Destructor Index


o CATBodyTessellator(CATBody*,double,double)
Constructs a CATBodyTessellator with an infinite step.
o ~CATBodyTessellator()

Method Index


o GetEdge(CATEdge*,CATLONG32&,double**)
Retrieves the results (in doubles) associated with a topological edge of the input body.
o GetEdge(CATEdge*,CATLONG32&,float**)
Retrieves the result (in floats) associated with a topological edge of the input body.
o GetEdge(CATEdge*,CATMathSetOfPointsND**,CATMathSetOfPointsND**)
Retrieves the results associated with a topological edge of the input body.
o GetEdge(CATEdge*,CATTessEdgeIter**)
Retrieves the tessellation point numbers on an edge relative to an adjacent face point.
o GetFace(CATFace*,CATBoolean&,CATTessPointIter**,CATTessStripeIter**,CATTessFanIter**,CATTessPolyIter**,CATTessTrianIter**,short*)
Retrieves the results associated with a topological face of the input body.
o GetVertex(CATVertex*,CATMathPoint*)
Retrieves the result associated with a topological vertex of the input body.
o Run()
Runs this CATBodyTessellator.
o SetStep(double)
Defines a finite step for this CATBodyTessellator.

Constructor and Destructor


o CATBodyTessellator
public CATBodyTessellator(CATBody* iBody,
double iSag,
double iAngle=CATPIBY4)
Constructs a CATBodyTessellator with an infinite step.
Parameters:
iBody
The body to tessellate.
iSag
The Sag value.
iAngle
The Angle value in radian.
o ~CATBodyTessellator
public ~CATBodyTessellator()

Methods


o GetEdge
public void GetEdge(CATEdge* iEdge,
CATLONG32& oNumberOfPoints,
double** oPointData)
Retrieves the results (in doubles) associated with a topological edge of the input body.
Parameters:
iEdge
The pointer to an edge of the input body.
oNumberOfPoints
The number of points of the resulting tessellation.
oPointData
The array of the resulting points. This array is allocated by the GetEdge method. The j-th coordinate of the i-th point is oPointData[3*(i-1)+j-1].
o GetEdge
public void GetEdge(CATEdge* iEdge,
CATLONG32& oNumberOfPoints,
float** oPointData)
Retrieves the result (in floats) associated with a topological edge of the input body.
Parameters:
iEdge
The pointer to an edge of the input body.
oNumberOfPoints
The number of points of the resulting tessellation.
oPointData
The array of the resulting points. This array is allocated by the GetEdge method. The j-th coordinate of the i-th point is oPointData[3*(i-1)+j-1]. of the resulting tessellation.
o GetEdge
public void GetEdge(CATEdge* iEdge,
CATMathSetOfPointsND** oMathPoints,
CATMathSetOfPointsND** oCrvParams)
Retrieves the results associated with a topological edge of the input body.
Parameters:
iEdge
The pointer to an edge of the input body.
oMathPoints
The pointer to the created CATMathSetOfPointsND. This set contains the points (as 3 Cartesian coordinates) of the resulting tessellation.
oCrvParams
The pointer to the created CATMathSetOfPointsND. This set contains the points (as a CATCrvParam on the underlying edge curve) of the resulting tessellation.
o GetEdge
public void GetEdge(CATEdge* iEdge,
CATTessEdgeIter** oEdgeIter)
Retrieves the tessellation point numbers on an edge relative to an adjacent face point.
Parameters:
iEdge
The pointer to an edge of the input body.
oEdgeIter
The pointer to the created CATTessEdgeIterator.
o GetFace
public void GetFace(CATFace* iFace,
CATBoolean& oPlane,
CATTessPointIter** oPoints,
CATTessStripeIter** oStrips,
CATTessFanIter** oFans,
CATTessPolyIter** oPolygons,
CATTessTrianIter** oTriangles,
short* oSide=(short *) 0)
Retrieves the results associated with a topological face of the input body.
All the output iterators are allocated by the GetFace method, and are deleted when the operator is deleted.
Note: The results do not necessarily contain all types of tessellation objects for a single body. You can have no isolated triangles or no triangle strips in a tessellated body. For a example, for a degenerated face with a small width, the result can be made up of two vertices.
Parameters:
iFace
The pointer to a face of the input body.
oPlane
Retrieves 1 if the face is planar, 0 otherwise.
oPoints
The pointer to the created CATTessPointIter, to retrieve the computed points.
oStrips
The pointer to the created CATTessStripeIter, to retrieve the computed triangle strips.
oFans
The pointer to the created CATTessFanIter, to retrieve the computed triangle fans.
oPolygons
The pointer to the created CATTessPolyIter, to retrieve the computed polygons.
oTriangles
The pointer to the created CATTessTrianIter, to retrieve the isolated triangles.
oSide
The face orientation.
Legal values: 1 if the face orientation is outwards, -1 if it is inwards.
o GetVertex
public void GetVertex(CATVertex* iVertex,
CATMathPoint* oMathPoint)
Retrieves the result associated with a topological vertex of the input body.
Parameters:
iVertex
The pointer to a vertex of the input body.
oMathPoint
The corresponding CATMathPoint.
o Run
public void Run()
Runs this CATBodyTessellator.
o SetStep
public void SetStep(double iStep)
Defines a finite step for this CATBodyTessellator.
Parameters:
iStep
The Step value.

This object is included in the file: CATBodyTessellator.h
If needed, your Imakefile.mk should include the module: CATTessellation

Copyright © 2003, Dassault Systèmes. All rights reserved.