pfSuperQuadCurve3d man page on IRIX

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



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

NAME
     pfSuperQuadCurve3d - A super quadric 3D curve

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

     static pfType*   pfSuperQuadCurve3d::getClassType(void);

		      pfSuperQuadCurve3d::pfSuperQuadCurve3d();

		      pfSuperQuadCurve3d::pfSuperQuadCurve3d(pfReal radius,
			pfVec3 *origin, pfReal exponent);

     void	      pfSuperQuadCurve3d::setRadius(pfReal rad);

     pfReal	      pfSuperQuadCurve3d::getRadius();

     void	      pfSuperQuadCurve3d::setExponent(pfReal expn);

     pfReal	      pfSuperQuadCurve3d::getExponent();

     void	      pfSuperQuadCurve3d::evalPt(pfReal t, pfVec3 &pnt);

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

     pfReal	    pfCurve3d::getBeginT()
     pfReal	    pfCurve3d::getEndT()
     pfVec3	    pfCurve3d::getBeginPt();
     pfVec3	    pfCurve3d::getEndPt();
     pfVec3	    pfCurve3d::getBeginTan();
     pfVec3	    pfCurve3d::getEndTan();
     void	    pfCurve3d::setClosed(int loopVal);
     int	    pfCurve3d::getClosed();
     void	    pfCurve3d::setClosedTol(pfReal tol);
     pfReal	    pfCurve3d::getClosedTol();
     virtual void   pfCurve3d::evalPt(pfReal t, pfVec3& pnt) = 0;
     virtual void   pfCurve3d::evalTan(pfReal t, pfVec3& pnt);
     virtual void   pfCurve3d::evalNorm(pfReal t, pfVec3& pnt);
     virtual void   pfCurve3d::evalCurv(pfReal t, pfReal& curv);
     void	    pfCurve3d::eval(pfReal t, pfVec3 &pnt, pfVec3 &tan,
		      pfReal &curv, pfVec3 &norm)

     Since the class pfCurve3d is itself derived from the parent class pfRep,
     objects of class pfSuperQuadCurve3d can also be used with these functions
     designed for objects of class pfRep.

									Page 1

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

     void   pfRep::setOrigin(const pfVec3 *origin);
     void   pfRep::setOrient(const pfMatrix *mat);
     void   pfRep::getOrigin(pfVec3& origin);
     void   pfRep::getOrient(pfMatrix& matrix);

     Since the class pfRep is itself derived from the parent class pfGeode,
     objects of class pfSuperQuadCurve3d can also be used with these functions
     designed for objects of class pfGeode.

     int	  pfGeode::addGSet(pfGeoSet* gset);
     int	  pfGeode::removeGSet(pfGeoSet* gset);
     int	  pfGeode::insertGSet(int index, pfGeoSet* gset);
     int	  pfGeode::replaceGSet(pfGeoSet* old, pfGeoSet* new);
     pfGeoSet *	  pfGeode::getGSet(int index);
     int	  pfGeode::getNumGSets(void);

     Since the class pfGeode is itself derived from the parent class pfNode,
     objects of class pfSuperQuadCurve3d can also be used with these functions
     designed for objects of class pfNode.

     pfGroup *	    pfNode::getParent(int i);
     int	    pfNode::getNumParents(void);
     void	    pfNode::setBound(pfSphere *bsph, int mode);
     int	    pfNode::getBound(pfSphere *bsph);
     pfNode*	    pfNode::clone(int mode);
     pfNode*	    pfNode::bufferClone(int mode, pfBuffer *buf);
     int	    pfNode::flatten(int mode);
     int	    pfNode::setName(const char *name);
     const char *   pfNode::getName(void);
     pfNode*	    pfNode::find(const char *pathName, pfType *type);
     pfNode*	    pfNode::lookup(const char *name, pfType* type);
     int	    pfNode::isect(pfSegSet *segSet, pfHit **hits[]);
     void	    pfNode::setTravMask(int which, uint mask, int setMode,
		      int bitOp);
     uint	    pfNode::getTravMask(int which);
     void	    pfNode::setTravFuncs(int which, pfNodeTravFuncType pre,
		      pfNodeTravFuncType post);
     void	    pfNode::getTravFuncs(int which, pfNodeTravFuncType *pre,
		      pfNodeTravFuncType *post);
     void	    pfNode::setTravData(int which, void *data);
     void *	    pfNode::getTravData(int which);
     void	    pfNode::setTravMode(int which, int mode, int val);
     int	    pfNode::getTravMode(int which, int mode) const;

     Since the class pfNode is itself derived from the parent class pfObject,
     objects of class pfSuperQuadCurve3d can also be used with these functions
     designed for objects of class pfObject.

									Page 2

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

     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 pfSuperQuadCurve3d 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
     pfSuperQuadCurve3d defines a three-dimensional parametric curve as the
     following:

     x(t) = radius * sign(cos(t)) * pow(|cos(t)|, exponent);
     y(t) = radius * sign(sin(t)) * pow(|sin(t)|, exponent);
     z(t) = 0.0;

     The curve is subject to the transformation of the matrix orientation and
     translation of origin, which are inherited members from class pfRep.

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

									Page 3

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

     object is of a type derived from a Performer type rather than to test for
     strict equality of the pfType*'s.

     pfSuperQuadCurve3d::pfSuperQuadCurve3d() creates an instance of an
     pfSuperQuadCurve3d. The radius is initialized to 1, exponent is
     initialized to 2, beginT is initialized to 0 and endT is initialized to
     2*pi.

     pfSuperQuadCurve3d::pfSuperQuadCurve3d(pfReal rad,pfVec3 *org,pfReal
     expn) creates an instance of a pfSuperQuadCurve3d. radius is set to rad,
     exponent is set to expn, origin is set to org, beginT is set to 0 and
     endT is set to 2*pi.

     pfSuperQuadCurve3d::setRadius sets the radius value.

     pfSuperQuadCurve3d::getRadius returns the radius value.

     pfSuperQuadCurve3d::setExponent sets the exponent value.

     pfSuperQuadCurve3d::getExponent returns the radius value.

     pfSuperQuadCurve3d::evalPt Evaluates the curve at parameter t. The
     resulting point is store in pnt.

SEE ALSO
     pfRep, pfGeode, pfCurve3d

									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