pfTessParaSurfaceAction(3pf) OpenGL Performer 3.2.2 libpf C++ Reference Pages
NAMEpfTessParaSurfaceAction - General trimmed parametric surface
tessellation.
FUNCTION SPECIFICATION
#include <Performer/pf/pfTessParaSurfaceAction.h>
pfTessParaSurfaceAction::pfTessParaSurfaceAction();
static pfType * pfTessParaSurfaceAction::getClassType(void);
pfTessParaSurfaceAction::pfTessParaSurfaceAction();
-
pfTessParaSurfaceAction::pfTessParaSurfaceAction(pfReal chordalDevTol,
pfBool scaleTolByCurvature, int samples);
void -
pfTessParaSurfaceAction::setChordalDevTol(pfReal devTol);
pfReal pfTessParaSurfaceAction::getChordalDevTol();
void -
pfTessParaSurfaceAction::setScaleTolByCurvature(const pfReal scaleTolByCurvature);
pfBool pfTessParaSurfaceAction::getScaleTolByCurvature();
void -
pfTessParaSurfaceAction::setSampling(const int samples);
int pfTessParaSurfaceAction::getSampling();
void -
pfTessParaSurfaceAction::setNonUniformSampling(const pfBool uniformSamplingFlag);
pfBool pfTessParaSurfaceAction::getNonUniformSampling();
void -
pfTessParaSurfaceAction::setGenUVCoordinates(const pfBool genUVCoordinates);
pfBool pfTessParaSurfaceAction::getGenUVCoordinates();
static void -
pfTessParaSurfaceAction::tessellate(pfTessParaSurfaceAction *action,
pfObject *object);
void -
pfTessParaSurfaceAction::tessellator(pfParaSurface *sur);
Page 1
pfTessParaSurfaceAction(3pf) OpenGL Performer 3.2.2 libpf C++ Reference Pages
PARENT CLASS FUNCTIONS
The OpenGL Performer class pfTessParaSurfaceAction is derived from the
parent class pfTessellateAction, so each of these member functions of
class pfTessellateAction are also directly usable with objects of class
pfTessParaSurfaceAction. This is also true for ancestor classes of class
pfTessellateAction.
int pfTessellateAction::getTriStripCount();
int pfTessellateAction::getTriFanCount();
void pfTessellateAction::setReverseTrimLoop(pfBool enable);
pfBool pfTessellateAction::getReverseTrimLoop();
void -
pfTessellateAction::setBuildTopoWhileTess(pfBool buildTopoWhileTess);
pfBool pfTessellateAction::getBuildTopoWhileTess();
void pfTessellateAction::setTopo(pfTopo *topo);
pfTopo * pfTessellateAction::getTopo();
Since the class pfTessellateAction is itself derived from the parent
class pfObject, objects of class pfTessParaSurfaceAction can also be used
with these functions designed for objects of class pfObject.
void* pfObject::operator new(size_t);
void* pfObject::operator new(size_t, pfFluxMemory *fmem);
void pfObject::setUserData(void *data);
void pfObject::setUserData(int slot, void *data);
void* pfObject::getUserData(pfObject *obj);
void* pfObject::getUserData(pfObject *obj, int slot);
int pfObject::getNumUserData();
Since the class pfObject is itself derived from the parent class
pfMemory, objects of class pfTessParaSurfaceAction can also be used with
these functions designed for objects of class pfMemory.
void* pfMemory::getData(const void *ptr);
pfType * pfMemory::getType();
int pfMemory::isOfType(pfType *type);
int pfMemory::isExactType(pfType *type);
const char * pfMemory::getTypeName();
int pfMemory::copy(pfMemory *src);
int pfMemory::compare(const pfMemory *mem);
void pfMemory::print(uint which, uint verbose, char *prefix,
FILE *file);
int pfMemory::getArena(void *ptr);
void* pfMemory::getArena();
int pfMemory::ref();
int pfMemory::unref();
int pfMemory::unrefDelete();
int pfMemory::unrefGetRef();
Page 2
pfTessParaSurfaceAction(3pf) OpenGL Performer 3.2.2 libpf C++ Reference Pages
int pfMemory::getRef();
int pfMemory::checkDelete();
int pfMemory::isFluxed();
void * pfMemory::getArena();
int pfMemory::getSize();
DESCRIPTIONpfTessParaSurfaceAction contains a general trimmed parametric surface (-
pfParaSurface) tessellator (called generic tessellator). Members
chordalDevTol, samples, and scaleTolByCurvature affect how the surface is
tessellated. chordalDevTol controls the tessellation resolution. samples
is the number of points to sample when tessellating a trim curve. These
sampled points are decimated according to chordalDevTol. Member
scaleTolByCurvature, if set to true, indicates that chordalDevTol is
scaled by curvature.
new(arena) allocates a pfTessParaSurfaceAction from the specified memory
arena, or from the process heap if arena is NULL. new allocates a
pfTessParaSurfaceAction from the default memory arena (see
pfGetSharedArena). Like other pfObjects, pfTessParaSurfaceActions cannot
be created statically, automatically on the stack or in arrays.
pfTessParaSurfaceActions should be deleted with pfDelete rather than the
delete operator. The default value for chordalDevTol is 0.0001,
scaleTolByCurvature is set to false and samples is set to 100.
pfTessParaSurfaceAction::getClassType returns the pfType* for the class
pfTessParaSurfaceAction. the pfType* returned by
pfTessParaSurfaceAction::getClassType is the same as the pfType* returned
by invoking the virtual function getType on any instance of class
pfTessParaSurfaceAction. Because OpenGL Performer allows subclassing of
built-in types, when decisions are made based on the type of an object,
it is usually better to use the member function isOfType to test if an
object is of a type derived from a Performer type rather than to test for
strict equality of the pfType*'s.
pfTessParaSurfaceAction::setChordalDevTol sets chordalDevTol to devTol.
pfTessParaSurfaceAction::getChordalDevTol returns chordalDevTol.
pfTessParaSurfaceAction::scaleTolByCurvature sets scaleTolByCurvature to
scaleTolByCurvature.
pfTessParaSurfaceAction::getScaleTolByCurvature returns
scaleTolByCurvature.
pfTessParaSurfaceAction::setSampling sets samples to samples.
pfTessParaSurfaceAction::getSampling returns samples.
pfTessParaSurfaceAction::setNonUniformSampling sets nonUniformTessFlag.
Page 3
pfTessParaSurfaceAction(3pf) OpenGL Performer 3.2.2 libpf C++ Reference Pages
pfTessParaSurfaceAction::getNonUniformSampling returns
nonUniformTessFlag.
pfTessParaSurfaceAction::genUVCoordinates sets genUVCoordinates to
genUVCoordinates.
pfTessParaSurfaceAction::getGenUVCoordinates returns genUVCoordinates.
pfTessParaSurfaceActionTessellate Casts object a pointer to
pfParaSurface, and action to a pointer to pfTessParaSurfaceAction. Then
the method tessellator of action is applied to the parametric surface
object. Function tessellate gets called when the user calls 'apply' which
is a member function of the super class pfTessellateAction.
If the flag for automatic tolology construction is on and the topology
construction is incremental (see pfTopo), this function calls the
topology construction function to build the topology for all the surfaces
that have been loaded so far before calling the tessellator.
pfTessParaSurfaceActionTessellator Takes a parametric surface,
tessellates it, stores the results (triangle primitives) into one or more
pfGeoSets, and attaches the geoset to its geometry list. It inherites a
geometry list from its superclass pfGeode.
SEE ALSO
pfRep, pfGeode, pfTopo, pfParaSurface, pfdTessellateGeometry,
pfdClearTessellation
Page 4