pfTopo man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



pfTopo(3pf)    OpenGL Performer 3.2.2 libpf C++ Reference Pages	   pfTopo(3pf)

NAME
     pfTopo - Topology information of surfaces

FUNCTION SPECIFICATION
     #include <Performer/pf/pfTopo.h>

		       pfTopo::pfTopo();

     static pfType *   pfTopo::getClassType(void);

     void	       pfTopo::setDistanceTol(pfReal tol, pfLengthUnits u);

     pfReal	       pfTopo::getDistanceTol();

     void	       pfTopo::setSurface(int i, pfParaSurface *sur);

     pfParaSurface*    pfTopo::getSurface(int i);

     int	       pfTopo::getSurfaceCount();

     pfBoundary*       pfTopo::getBoundary(int i);

     int	       pfTopo::getBoundaryCount();

     int	       pfTopo::getSolidCount();

     pfSolid*	       pfTopo::getSolid(int i);

     int	       pfTopo::addSolid(pfSolid *solid);

     int	       pfTopo::addBoundary(pfBoundary *bnd);

     int	       pfTopo::buildTopology();

     int	       pfTopo::buildSolids();

     static pfTopo*    pfTopo::getGlobalTopo(int n);

     static int	       pfTopo::getNumTopos();

PARENT CLASS FUNCTIONS
     The OpenGL Performer class pfTopo is derived from the parent class
     pfObject, so each of these member functions of class pfObject are also
     directly usable with objects of class pfTopo.  This is also true for
     ancestor classes 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);

									Page 1

pfTopo(3pf)    OpenGL Performer 3.2.2 libpf C++ Reference Pages	   pfTopo(3pf)

     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 pfTopo 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();
     int	    pfMemory::getRef();
     int	    pfMemory::checkDelete();
     int	    pfMemory::isFluxed();
     void *	    pfMemory::getArena();
     int	    pfMemory::getSize();

DESCRIPTION
     pfTopo holds the topology information of the surfaces. The basic topology
     information consists of the shared boundaries of any two surfaces. Such
     connectivity information can be used to avoid cracks at tessellation
     time, to find the shells (a set of connected surfaces) of a model, to
     allow better mesh optimizations because the meshes are larger when there
     are no cracks between adjacent surfaces.

     This class provides functions pfTopo::buildTopology and the utility
     function pfdTopoBuildTopologyTraverse to compute the connectivity
     information for any given set of surfaces (stored in surface).

     Another way  to invoke topology computation is through the tessellator.
     (See pfTessellateAction).

     If the connectivity information is already known and you don't want to
     invoke topology computation, you may choose to construct the topology
     yourself using the member function pfTopo::addBoundary.

     new(arena) allocates a pfTopo from the specified memory arena, or from
     the process heap if arena is NULL.	 new allocates a pfTopo from the
     default memory arena (see pfGetSharedArena).  Like other pfObjects,

									Page 2

pfTopo(3pf)    OpenGL Performer 3.2.2 libpf C++ Reference Pages	   pfTopo(3pf)

     pfTopos cannot be created statically, automatically on the stack or in
     arrays.  pfTopos should be deleted with pfDelete rather than the delete
     operator.

     pfTopo::getClassType returns the pfType* for the class pfTopo. the
     pfType* returned by pfTopo::getClassType is the same as the pfType*
     returned by invoking the virtual function getType on any instance of
     class pfTopo.  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.

     pfTopo::setDistanceTol sets the tolerance for determining wheter curves
     overlap or not at topology construction, and the member units which is
     the measure unit in the object space.

     pfTopo::getDistanceTol returns the tolerance which is used for
     determining whether curves overlap or not at topology construction and
     which can be set by pfTopo::setDistanceTol.

     pfTopo::getSurface returns the i'th element of the surface array.

     pfTopo::getSurfaceCount returns the number of surfaces.

     pfTopo::getBoundary returns the i'th element of the boudary list.

     pfTopo::getBoundaryCount returns the number of boundaries.

     pfTopo::getSolidCount returns the number of solids (see
     pfTopo::buildSolids.)

     pfTopo::getSolid returns the i'th solid (see pfTopo::buildSolids.)

     pfTopo::addSollid returns the index of solid in topo if successful and -1
     otherwise.

     pfTopo::addSurface adds a surface onto the surface list. Returns 0 if sur
     was already in the list.

     pfTopo::addBoundary adds a boundary onto the boundary list.

     pfTopo::buildTopology Given a list of surfaces (surface), computes the
     shared boundaries and junctions of these surfaces. The shared boundaries
     are put into boundary, and the junctions are put into junction.

     The previously existing boundaries and junctions, if any, are deleted.
     In the current implementation, the junctions, which can be computed from
     the boundaries, are not computed.	Also notice that the cache space for
     samplePoints is deallocated at the end of this function.

     It assumes that the surfaces have been added to the topology data

									Page 3

pfTopo(3pf)    OpenGL Performer 3.2.2 libpf C++ Reference Pages	   pfTopo(3pf)

     structure (pfTopo::addSurface) by the user.  If the surface list is
     empty, the method	prints a warning message and returns.

     pfTopo::buildSolids Creates solids (pfSolid) from the list of all
     surfaces in this topology, and return the number of solids that have been
     created. Each solid is a list of connected surfaces.  These solids can be
     accessed using pfTopo::getSolidCount and pfTopo::getSolid.

     pfGetTopoGlobalTopopfTopo::getGlobalTopo returns a pointer to the n'th
     pfTopo in the global topology list.

     pfGetTopoNumTopospfTopo::getNumTopos returns the number of pfTopos stored
     in the global topology list.

SEE ALSO
     pfSolid, pfBoundary, pfJunction, pfTessellateAction,
     pfTessParaSurfaceAction, pfdTopoBuildTopologyTraverse

									Page 4

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net