pfPlaneSurface man page on IRIX

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



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

NAME
     pfPlaneSurface - A parametric plane.

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

     static pfType *   pfPlaneSurface::getClassType(void);

		       pfPlaneSurface::pfPlaneSurface();

     void	       pfPlaneSurface::setPoint1(pfReal x1, pfReal y1,
			 pfReal z1, pfReal u1, pfReal v1);

     void	       pfPlaneSurface::getPoint1(pfReal *x1, pfReal *y1,
			 pfReal *z1, pfReal *u1, pfReal *v1);

     void	       pfPlaneSurface::setPoint2(pfReal x2, pfReal y2,
			 pfReal z2, pfReal u2);

     void	       pfPlaneSurface::getPoint2(pfReal *x2, pfReal *y2,
			 pfReal *z2, pfReal *u2);

     void	       pfPlaneSurface::setPoint3(pfReal x3, pfReal y3,
			 pfReal z3, pfReal v3);

     void	       pfPlaneSurface::getPoint3(pfReal *x3, pfReal *y3,
			 pfReal *z3, pfReal *u3);

     void	       pfPlaneSurface::evalPt(pfReal u, pfReal v,
			 pfVec3& pnt);

     void	       pfPlaneSurface::evalDu(pfReal u, pfReal v, pfVec3& Du);

     void	       pfPlaneSurface::evalDv(pfReal u, pfReal v, pfVec3& Dv);

     void	       pfPlaneSurface::evalNorm(pfReal u, pfReal v,
			 pfVec3& norm);

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

     void	   pfParaSurface::setBeginU(pfReal u);
     void	   pfParaSurface::setEndU(pfReal u);
     void	   pfParaSurface::setBeginV(pfReal v);
     void	   pfParaSurface::setEndV(pfReal v);
     void	   pfParaSurface::setSolidId(int solidId);

									Page 1

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

     void	   pfParaSurface::setTopoId(int topoId);
     void	   pfParaSurface::setSurfaceId(int surfaceId);
     pfReal	   pfParaSurface::getBeginU(pfParaSurface* surf);
     pfReal	   pfParaSurface::getEndU(pfParaSurface* surf);
     pfReal	   pfParaSurface::getBeginV(pfParaSurface* surf);
     pfReal	   pfParaSurface::getEndV(pfParaSurface* surf);
     int	   pfParaSurface::getTrimLoopCount(pfParaSurface* surf);
     pfLoop	   pfParaSurface::getTrimLoopClosed(int loopNum);
     int	   pfParaSurface::getTrimCurveCount(int loopNum);
     pfEdge*	   pfParaSurface::getTrimCurve(int loopNum, int curveNum);
     pfTopo*	   pfParaSurface::getTopo();
     int	   pfParaSurface::getTopoId();
     int	   pfParaSurface::getSolidId();
     int	   pfParaSurface::getSurfaceId();
     void	   pfParaSurface::getHandednessHint(pfBool _clockWise);
     pfBool	   pfParaSurface::getHandednessHint();
     void	   pfParaSurface::insertTrimCurve(int loopNum, pfCurve2d *c,
		     pfDisCurve2d *d);
     void	   pfParaSurface::addTrimCurve(int loopNum, pfCurve2d *c,
		     pfDisCurve2d *d);
     void	   pfParaSurface::setTrimLoopClosed(int loopNum,
		     pfLoop closed);
     void	   pfParaSurface::evalPt(pfReal u, pfReal v, pfVec3& pnt);
     void	   pfParaSurface::evalDu(pfReal u, pfReal v, pfVec3& Du);
     void	   pfParaSurface::evalDv(pfReal u, pfReal v, pfVec3& Dv);
     void	   pfParaSurface::evalDuu(pfReal u, pfReal v, pfVec3& Duu);
     void	   pfParaSurface::evalDvv(pfReal u, pfReal v, pfVec3& Dvv);
     void	   pfParaSurface::evalDuv(pfReal u, pfReal v, pfVec3& Duv);
     void	   pfParaSurface::evalNorm(pfReal u, pfReal v, pfVec3& norm);
     void	   pfParaSurface::evalD(pfReal u, pfReal v, pfReal theta,
		     pfVec3& D);
     void	   pfParaSurface::evalDD(pfReal u, pfReal v, pfReal theta,
		     pfVec3& DD);
     int	   pfParaSurface::setGState(pfGeoState *gState);
     pfGeoState*   pfParaSurface::getGState();
     void	   pfParaSurface::clearTessellation();

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

     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 pfGeode is itself derived from the parent class pfGeode,
     objects of class pfPlaneSurface can also be used with these functions
     designed for objects of class pfGeode.

									Page 2

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

     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 pfPlaneSurface 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 pfPlaneSurface 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();

									Page 3

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

     Since the class pfObject is itself derived from the parent class
     pfMemory, objects of class pfPlaneSurface 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
     A plane is a special type of parametric surface and is represented as a
     mapping from UV to XYZ space. The parameterization is defined as follows.
     A plane is defined by 3 points (which are not colinear) A, B, C
     (corresponding to members pu, orig, and pv, respectively).	 If we denote
     vector BA = A-B and vector BC = C-B, then any point on the plane can be
     represented as B + u * BA + v * BC for some (u,v). In addition, we
     reparameterize (u,v) by translation and scaling.  More precisely, given a
     (u,v), the point on the plane is defined as B + ((u-uBias)/uScale) * BA +
     ((v-vBias)/vScale) * BC.

     In addition to the three points and the translation and scaling
     information, the class also caches the directions
     uDirection = pu - orig;
     vDirection = pv - orig;
     and the normal norm.

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

									Page 4

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

     pfPlaneSurface::pfPlaneSurface creates an instance of pfPlaneSurface with
     orig set to (0,0,0), pu set to (1,0,0), pv set to (0,1,0), uScale set to
     1, vScale set to 1, uBias set to 0, vBias set to 0. uDirection and
     vDirection are computed accordingly.

     The domain [beginU,endU]X[beginV,endV], which are inherited members from
     pfParaSurface, is set to [0, 1] X [0, 1].

     pfPlaneSurface::setPoint1 sets orig to be (x1, y1, z1). Sets uBias to u1
     and vBias to v1.  All the other members are updated as in the
     constructor.

     pfPlaneSurface::setPoint2 sets pu to be (x2, y2, z2). Sets uScale to be
     u2 - uBias. All the other members are updated as in the constructor.

     pfPlaneSurface::setPoint3 sets pv to be (x3, y3, z3). Sets vScale to be
     v3 - vBias. All the other members are updated as in the constructor.

     pfPlaneSurface::getPoint1 sets (x1, y1, z1) to be orig. Sets u1 to be
     uBias and v1 to be vBias.

     pfPlaneSurface::getPoint2 sets (x2, y2, z2) to be pu. Sets u2 to be uBias
     + uScale.

     pfPlaneSurface::getPoint3 sets (x3, y3, z3) to be pv. Sets v3 to be vBias
     + vScale.

SEE ALSO
     pfRep, pfGeode, pfParaSurface

									Page 5

[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