pfPolytope man page on IRIX

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



pfPolytope(3pf)		      OpenGL Performer 3.2.2 libpr C++ Reference Pages

NAME
     pfPolytope - Create, configure, transform, and intersect polytopes

FUNCTION SPECIFICATION
     #include <Performer/pr/pfGeoMath.h>

	       pfPolytope::pfPolytope();

     pfType*   pfPolytope::getClassType(void);

     int       pfPolytope::getNumFacets(void);

     int       pfPolytope::setFacet(int i, const pfPlane *facet);

     int       pfPolytope::getFacet(int i, pfPlane *facet);

     int       pfPolytope::removeFacet(int i);

     void      pfPolytope::orthoXform(const pfPolytope *src,
		 const pfMatrix	 &mat);

     int       pfPolytope::contains(const pfVec3  &pt);

     int       pfPolytope::contains(const pfSphere *sphere);

     int       pfPolytope::contains(const pfBox *box);

     int       pfPolytope::contains(const pfCylinder *cyl);

     int       pfPolytope::contains(const pfPolytope *ptope1);

PARENT CLASS FUNCTIONS
     The OpenGL Performer class pfPolytope is derived from the parent class
     pfObject, so each of these member functions of class pfObject are also
     directly usable with objects of class pfPolytope.	This is also true for
     ancestor classes of class pfObject.

     void*   pfObject::operator new(size_t);
     void*   pfObject::operator new(size_t, void *arena);
     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 pfPolytope can also be used with these
     functions designed for objects of class pfMemory.

									Page 1

pfPolytope(3pf)		      OpenGL Performer 3.2.2 libpr C++ Reference Pages

     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
     A pfPolytope is a set of half spaces whose intersection defines a convex,
     possibly semi-infinite, volume which may be used for culling and other
     intersection testing where a tighter bound than a pfBox, pfSphere, or
     pfCylinder is of benefit.

     new(arena) allocates a pfPolytope from the specified memory arena, or
     from the process heap if arena is NULL.  new allocates a pfPolytope from
     the default memory arena (see pfGetSharedArena).  Like other pfObjects,
     pfPolytopes cannot be created statically, automatically on the stack or
     in arrays.	 pfPolytopes can also be created automatically on the stack or
     statically.  pfPolytopes allocated with new can be deleted with delete or
     pfDelete.

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

     pfPolytope::setFacet sets the ith facet of the pfPolytope to facet.
     facet defines a half space such that the normal of the pfPlane faces
     "outside". pfPolytope::getFacet copies the ith facet of the pfPolytope
     into facet.

     pfPolytope::removeFacet removes the ith facet of the pfPolytope from the
     list. Remaining facets are shifted left over the removed facet.

									Page 2

pfPolytope(3pf)		      OpenGL Performer 3.2.2 libpr C++ Reference Pages

     pfPolytope::getNumFacets returns the number of facets in the pfPolytope.

     pfPolytope::orthoXform transforms src by mat and stores the result in the
     pfPolytope.  mat should be an orthonormal matrix or results are
     undefined.

     The various member functions pfPolytope::contains compute the
     intersection of a pfPolytope with a variety of geometric primitives.
     pfPolytope::contains returns one of the following:

	  PFIS_FALSE:
	       The intersection of the primitive and the pfPolytope is empty.

	  PFIS_MAYBE:
	       The intersection of the primitive and the pfPolytope might be
	       non-empty.

	  PFIS_MAYBE | PFIS_TRUE:
	       The intersection of the primitive and the pfPolytope is
	       definitely non-empty.

	  PFIS_MAYBE | PFIS_TRUE | PFIS_ALL_IN:
	       The primitive is non-empty and lies entirely inside the
	       pfPolytope.

SEE ALSO
     pfBox, pfCylinder, pfDelete, pfFrustum, pfMatrix, pfObject, pfSphere

									Page 3

[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