All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

Tessellation Class CATSurfaceTessellator

CATSurfaceTessellator
 

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


public class CATSurfaceTessellator

Class defining a tessellation operator on surfaces.

This operator computes a discretized geometry on the surfaces as triangles. The corner of the triangles 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 CATSurfaceTessellator(double,double)
Constructs a CATSurfaceTessellator with an infinite step.
o ~CATSurfaceTessellator()

Method Index


o AddSurface(CATSurface*,CATSurLimits&)
Adds an other surface to this CATSurfaceTessellator.
o GetSurface(CATSurface*,CATBoolean&,CATTessPointIter**,CATTessStripeIter**,CATTessFanIter**,CATTessPolyIter**,CATTessTrianIter**)
Retrieves the results associated with a surface.
o Run()
Runs this CATSurfaceTessellator.
o SetStep(double)
Defines a finite step for this CATCurveTessellator.

Constructor and Destructor


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

Methods


o AddSurface
public void AddSurface(CATSurface* iSurface,
const CATSurLimits& iSurfaceLimits)
Adds an other surface to this CATSurfaceTessellator.
Parameters:
iSurface
The other surface to tessellate in the same operation.
iSurfaceLimits
The part of the surface to take into account.
o GetSurface
public void GetSurface(CATSurface* iSurface,
CATBoolean& ioPlane,
CATTessPointIter** oPoints,
CATTessStripeIter** oStrips,
CATTessFanIter** oFans,
CATTessPolyIter** oPolygons,
CATTessTrianIter** oTriangles)
Retrieves the results associated with a surface.
All the output iterators are allocated by the GetSurface method, and are deleted when the operator is deleted.
Parameters:
iSurface
A surface among the input surfaces.
ioPlane
Retrieves 1 if the surface is planar, 0 otherwise.
oPoints
A pointer to a CATTessPointIterator, to retrieve the computed points.
oStrips
A pointer to a CATTessStripIterator, to retrieve the computed triangle strips.
oStrips
A pointer to a CATTessFanIterator, to retrieve the computed triangle fans.
oStrips
A pointer to a CATTessPolygonIterator, to retrieve the computed polygons.
o Run
public void Run()
Runs this CATSurfaceTessellator.
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: CATSurfaceTessellator.h
If needed, your Imakefile.mk should include the module: CATTessellation

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