All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

Tessellation Class CATCurveTessellator

CATCurveTessellator
 

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


public class CATCurveTessellator

Class defining a tessellation operator on curves.

This operator computes a discretized geometry on the curves as 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 CGM operator:


Constructor and Destructor Index


o CATCurveTessellator(double,double)
Constructs a CATCurveTessellator with an infinite step.
o ~CATCurveTessellator()

Method Index


o AddCurve(CATCurve*,CATCrvLimits&)
Adds an other curve to this CATCurveTessellator.
o GetCurve(CATCurve*,CATLONG32&,double**)
Retrieves the results (in doubles) associated with a curve.
o GetCurve(CATCurve*,CATLONG32&,float**)
Retrieves the results (in floats) associated with a curve.
o GetCurve(CATCurve*,CATMathSetOfPointsND**,CATMathSetOfPointsND**)
Retrieves the results associated with a curve.
o Run()
Runs this CATCurveTessellator.
o SetStep(double)
Defines a finite step for this CATCurveTessellator.

Constructor and Destructor


o CATCurveTessellator
public CATCurveTessellator(double iSag,
double iAngle=CATPI*.25)
Constructs a CATCurveTessellator with an infinite step.
Parameters:
iSag
The Sag value.
iAngle
The Angle value.
o ~CATCurveTessellator
public ~CATCurveTessellator()

Methods


o AddCurve
public void AddCurve(CATCurve* iCurve,
const CATCrvLimits& iCurveLimits)
Adds an other curve to this CATCurveTessellator.
Parameters:
iCurve
The other curve to tessellate in the same operation.
iCurveLimits
The part of the curve to take into account.
o GetCurve
public void GetCurve(CATCurve* iCurve,
CATLONG32& ioNumberOfPoints,
double** oPointData)
Retrieves the results (in doubles) associated with a curve.
Parameters:
iCurve
A curve among the input curves.
ioNumberOfPoints
The number of points of the resulting tessellation.
oPointData
The array of the resulting points. This array is allocated by the GetCurve method. The j-th coordinate of the i-th point is oPointData[3*(i-1)+j-1].
o GetCurve
public void GetCurve(CATCurve* iCurve,
CATLONG32& ioNumberOfPoints,
float** oPointData)
Retrieves the results (in floats) associated with a curve.
Parameters:
iCurve
A curve among the input curves.
ioNumberOfPoints
The number of points of the resulting tessellation.
oPointData
The array of the resulting points. This array is allocated by the GetCurve method. The j-th coordinate of the i-th point is oPointData[3*(i-1)+j-1].
o GetCurve
public void GetCurve(CATCurve* iCurve,
CATMathSetOfPointsND** oMathPoints,
CATMathSetOfPointsND** oCrvParams)
Retrieves the results associated with a curve.
Parameters:
iCurve
A curve among the input curves.
oMathPoints
A CATMathSetOfPointsND pointer. This set contains the points (as 3 Cartesian coordinates) of the resulting tessellation.
oCrvParams
A CATMathSetOfPointsND pointer. This set contains the points (as a CATCrvParam on the underlying edge curve) of the resulting tessellation.
o Run
public void Run()
Runs this CATCurveTessellator.
o SetStep
public void SetStep(double iStep)
Defines a finite step for this CATCurveTessellator.
Parameters:
iStep
The Step value.

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

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