pfGetSeqInterval man page on IRIX

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



pfSequence(3pf)			OpenGL Performer 3.2.2 libpf C Reference Pages

NAME
     pfNewSeq, pfGetSeqClassType, pfSeqTime, pfGetSeqTime, pfSeqInterval,
     pfGetSeqInterval, pfSeqDuration, pfGetSeqDuration, pfSeqMode,
     pfGetSeqMode, pfGetSeqFrame, pfSeqEvaluation, pfGetSeqEvaluation -
     Control animation sequence nodes.

FUNCTION SPECIFICATION
     #include <Performer/pf.h>

     pfSequence *   pfNewSeq(void);

     pfType *	    pfGetSeqClassType(void);

     void	    pfSeqTime(pfSequence *seq, int frame, double time);

     double	    pfGetSeqTime(const pfSequence *seq, int frame);

     void	    pfSeqInterval(pfSequence *seq, int mode, int begin,
		      int end);

     void	    pfGetSeqInterval(const pfSequence *seq, int *mode,
		      int *begin, int *end);

     void	    pfSeqDuration(pfSequence *seq, float speed, int nReps);

     void	    pfGetSeqDuration(const pfSequence *seq, float *speed,
		      int *nReps);

     void	    pfSeqMode(pfSequence *seq, int mode);

     int	    pfGetSeqMode(const pfSequence *seq);

     int	    pfGetSeqFrame(const pfSequence *seq, int *repeat);

     void	    pfSeqEvaluation(const pfSequence *seq, int state);

     int	    pfGetSeqEvaluation(const pfSequence *seq);

PARENT CLASS FUNCTIONS
     The OpenGL Performer class pfSequence is derived from the parent class
     pfGroup, so each of these member functions of class pfGroup are also
     directly usable with objects of class pfSequence.	Casting an object of
     class pfSequence to an object of class pfGroup is taken care of
     automatically.  This is also true for casts to objects of ancestor
     classes of class pfGroup.

     int	pfAddChild(pfGroup *group, pfNode *child);
     int	pfInsertChild(pfGroup *group, int index, pfNode *child);
     int	pfReplaceChild(pfGroup *group, pfNode *old, pfNode *new);
     int	pfRemoveChild(pfGroup *group, pfNode* child);

									Page 1

pfSequence(3pf)			OpenGL Performer 3.2.2 libpf C Reference Pages

     int	pfSearchChild(pfGroup *group, pfNode* child);
     pfNode *	pfGetChild(const pfGroup *group, int index);
     int	pfGetNumChildren(const pfGroup *group);
     int	pfBufferAddChild(pfGroup *group, pfNode *child);
     int	pfBufferRemoveChild(pfGroup *group, pfNode *child);

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

     pfGroup *	    pfGetParent(const pfNode *node, int i);
     int	    pfGetNumParents(const pfNode *node);
     void	    pfNodeBSphere(pfNode *node, pfSphere *bsph, int mode);
     int	    pfGetNodeBSphere(pfNode *node, pfSphere *bsph);
     pfNode*	    pfClone(pfNode *node, int mode);
     pfNode*	    pfBufferClone(pfNode *node, int mode, pfBuffer *buf);
     int	    pfFlatten(pfNode *node, int mode);
     int	    pfNodeName(pfNode *node, const char *name);
     const char *   pfGetNodeName(const pfNode *node);
     pfNode*	    pfFindNode(pfNode *node, const char *pathName,
		      pfType *type);
     pfNode*	    pfLookupNode(const char *name, pfType* type);
     int	    pfNodeIsectSegs(pfNode *node, pfSegSet *segSet,
		      pfHit **hits[]);
     void	    pfNodeTravMask(pfNode *node, int which, uint mask,
		      int setMode, int bitOp);
     uint	    pfGetNodeTravMask(const pfNode *node, int which);
     void	    pfNodeTravFuncs(pfNode* node, int which,
		      pfNodeTravFuncType pre, pfNodeTravFuncType post);
     void	    pfGetNodeTravFuncs(const pfNode* node, int which,
		      pfNodeTravFuncType *pre, pfNodeTravFuncType *post);
     void	    pfNodeTravData(pfNode *node, int which, void *data);
     void *	    pfGetNodeTravData(const pfNode *node, int which);
     void	    pfNodeTravMode(pfNode* node, int which, int mode,
		      int val);
     int	    pfGetNodeTravMode(const pfNode* node, int which,
		      int mode);

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

     void	   pfUserDataSlot(pfObject *obj, int slot, void *data);
     void	   pfUserData(pfObject *obj, void *data);
     void*	   pfGetUserDataSlot(pfObject *obj, int slot);
     void*	   pfGetUserData(pfObject *obj);
     int	   pfGetNumUserData(pfObject *obj);
     int	   pfGetNamedUserDataSlot(const char *name);

									Page 2

pfSequence(3pf)			OpenGL Performer 3.2.2 libpf C Reference Pages

     const char*   pfGetUserDataSlotName(int slot);
     int	   pfGetNumNamedUserDataSlots(void);
     int	   pfDeleteGLHandle(pfObject *obj);

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

     pfType *	    pfGetType(const void *ptr);
     int	    pfIsOfType(const void *ptr, pfType *type);
     int	    pfIsExactType(const void *ptr, pfType *type);
     const char *   pfGetTypeName(const void *ptr);
     int	    pfRef(void *ptr);
     int	    pfUnref(void *ptr);
     int	    pfUnrefDelete(void *ptr);
     int	    pfUnrefGetRef(void *ptr);
     int	    pfGetRef(const void *ptr);
     int	    pfCopy(void *dst, void *src);
     int	    pfDelete(void *ptr);
     int	    pfIsFluxed(void *ptr);
     int	    pfCompare(const void *ptr1, const void *ptr2);
     void	    pfPrint(const void *ptr, uint which, uint verbose,
		      FILE *file);
     void *	    pfGetArena(void *ptr);

PARAMETERS
     seq  identifies a pfSequence.

DESCRIPTION
     A pfSequence is a pfGroup that sequences through a range of its children,
     drawing each child for a certain length of time.  Its primary use is for
     animations, where a sequence of objects or geometry (children) represent
     a desired visual event.  pfNewSeq creates and returns a handle to a
     pfSequence.  Like other pfNodes, pfSequences are always allocated from
     shared memory and can be deleted using pfDelete.

     pfGetSeqClassType returns the pfType* for the class pfSequence.  The
     pfType* returned by pfGetSeqClassType is the same as the pfType* returned
     by invoking pfGetType on any instance of class pfSequence.	 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
     pfIsOfType 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.

     Children are added to a pfSequence using normal pfGroup API (pfAddChild).
     The length of time that a child is drawn is specified by pfSeqTime.
     frame is the index of a child that should be drawn for time seconds.  If
     frame < 0, then all children will be displayed for time seconds.  If time
     = 0.0 or time is not specified for a particular child, then it will not
     be drawn at all.  If time < 0.0 the sequence will pause at child frame
     and draw it repeatedly until the sequence is resumed or stopped (see

									Page 3

pfSequence(3pf)			OpenGL Performer 3.2.2 libpf C Reference Pages

     pfSeqMode below).	pfGetSeqTime returns the time for frame frame.

     pfSeqInterval specifies the interval or range of frames (children) to
     sequence.	begin and end specify the beginning and ending indexes of seq
     respectively.  Indexes are inclusive and should be in the range 0,
     numChildren - 1.  An index < 0 is equivalent to numChildren - 1 for
     convenience.  end may be less than begin for reverse sequences.  The
     default sequence interval is 0, numChildren - 1.

     mode specifies how seq is sequenced over the range from begin to end if
     it is a repeating sequence.

	  PFSEQ_CYCLE
	       seq will go from begin to end then restart at begin.

	  PFSEQ_SWING
	       seq will go back and forth from begin to end.  The endpoint
	       frames are drawn only once when the swing changes directions.

     The default mode is PFSEQ_CYCLE.  pfGetSeqInterval copies the interval
     parameters into mode, begin, and end.

     pfSeqDuration controls the duration of an sequence.  speed divides the
     time that each sequence frame is displayed.  Values < 1.0 slow down the
     sequence while values > 1.0 speed up the sequence.	 The default speed is
     1.0.  nReps is the number of times seq repeats before stopping.  If nReps
     is < 0, seq will sequence indefinitely and if == 0 the sequence is
     disabled.	If nReps is > 1, seq will sequence for nReps cycles or swings
     depending on the sequencing mode set by pfSeqInterval.

     The number of repetitions for both PFSEQ_CYCLE and PFSEQ_SWING is
     increased by 1 every time an endpoint of the sequence is reached.
     Therefore PFSEQ_CYCLE begins to repeat itself after 1 repetition while
     PFSEQ_SWING repeats itself after 2 repetitions.  Note that for 1
     repetition, both modes are equivalent.

     The default value for nReps is 1.	pfGetSeqDuration copies the duration
     parameters into speed and nReps.

     pfSeqMode controls the run-time execution of seq.	mode is a symbolic
     token:

	  PFSEQ_START
	       Restarts the sequence from its beginning.  Once started, a
	       sequence may be stopped, paused, or started again in which case
	       it is restarted from its beginning.

	  PFSEQ_STOP
	       Stops the sequence.  After an sequence is stopped, it is reset
	       so that further executions of the sequence begin from the
	       starting index.

									Page 4

pfSequence(3pf)			OpenGL Performer 3.2.2 libpf C Reference Pages

	  PFSEQ_PAUSE
	       Pauses the sequence without resetting it.  When paused, the
	       current child will be drawn until the sequence is either
	       stopped or resumed.

	  PFSEQ_RESUME
	       Resumes a paused sequence.

     Sequences are evaluated once per frame by pfAppFrame.  The time used in
     the evaluation is that set by pfFrameTimeStamp.  This time is
     automatically set by pfFrame but it may be overridden by the application
     to account for varying latency due to non-constant frame rates.

     By default, all sequences belong to a global Performer list of sequences.
     All members of this list are considered for evaluation by pfAppFrame.
     Only the active sequences are actually evaluated but looping through all
     the sequences may be time consuming for scene graphs with many pfSequence
     nodes.  pfSeqEvaluation enables adding/removing a pfSequence to/from the
     global Performer list of sequences.  pfGetSeqEvaluation returns TRUE if
     the sequence is in the global list.

     pfGetSeqMode returns the mode of seq.  The mode will automatically be set
     to PFSEQ_STOP if the sequence completes the number of repetitions set by
     pfSeqDuration.

     pfGetSeqFrame returns the index of the child which seq is currently
     drawing and also copies the number of repetitions it has completed into
     repeat.

SEE ALSO
     pfAppFrame, pfFrame, pfFrameTimeStamp, pfGroup, pfNode, pfDelete

									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