osg::Sequence Class Reference

Inheritance diagram for osg::Sequence:

osg::Group osg::Node osg::Object osg::Referenced

List of all members.

Public Types

enum  LoopMode { LOOP, SWING }
enum  SequenceMode { START, STOP, PAUSE, RESUME }

Public Member Functions

 Sequence ()
 Sequence (const Sequence &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_Node (osg, Sequence)
virtual void traverse (NodeVisitor &nv)
virtual bool addChild (Node *child)
virtual bool addChild (Node *child, double t)
virtual bool insertChild (unsigned int index, Node *child)
virtual bool insertChild (unsigned int index, Node *child, double t)
virtual bool removeChild (Node *child)
virtual bool removeChildren (unsigned int pos, unsigned int numChildrenToRemove)
void setValue (int value)
int getValue () const
void setTime (unsigned int frame, double t)
double getTime (unsigned int frame) const
void setDefaultTime (double t)
double getDefaultTime (void) const
void setLastFrameTime (double t)
double getLastFrameTime (void) const
unsigned int getNumFrames () const
void setInterval (LoopMode mode, int begin, int end)
void getInterval (LoopMode &mode, int &begin, int &end) const
void setDuration (float speed, int nreps=-1)
void getDuration (float &speed, int &nreps) const
void setMode (SequenceMode mode)
SequenceMode getMode () const
void setSync (bool sync)
void getSync (bool &sync) const
void setClearOnStop (bool clearOnStop)
void getClearOnStop (bool &clearOnStop) const

Protected Member Functions

virtual ~Sequence ()
int _getNextValue (void)
void _update (void)

Protected Attributes

int _value
double _now
double _start
std::vector< double > _frameTime
double _totalTime
bool _resetTotalTime
LoopMode _loopMode
int _begin
int _end
float _speed
int _nreps
int _nrepsRemain
int _step
double _defaultTime
double _lastFrameTime
double _saveRealLastFrameTime
unsigned int _saveRealLastFrameValue
SequenceMode _mode
bool _sync
bool _clearOnStop


Detailed Description

Sequence is a Group node which allows automatic, time based switching between children.

Member Enumeration Documentation

Interval modes. 'Loop' repeats frames 1-N; 'swing' repeats 1->N, (N-1)->1.

Enumerator:
LOOP 
SWING 

Sequence modes.

Enumerator:
START 
STOP 
PAUSE 
RESUME 


Constructor & Destructor Documentation

osg::Sequence::Sequence (  ) 

osg::Sequence::Sequence ( const Sequence ,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
)

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::Sequence::~Sequence (  )  [inline, protected, virtual]


Member Function Documentation

osg::Sequence::META_Node ( osg  ,
Sequence   
)

virtual void osg::Sequence::traverse ( NodeVisitor  )  [virtual]

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Group.

virtual bool osg::Sequence::addChild ( Node child  )  [virtual]

Add Node to Group. If node is not NULL and is not contained in Group then increment its reference count, add it to the child list and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. Otherwise return false. Scene nodes can't be added as child nodes.

Reimplemented from osg::Group.

virtual bool osg::Sequence::addChild ( Node child,
double  t 
) [virtual]

virtual bool osg::Sequence::insertChild ( unsigned int  index,
Node child 
) [virtual]

Insert Node to Group at specific location. The new child node is inserted into the child list before the node at the specified index. No nodes are removed from the group with this operation.

Reimplemented from osg::Group.

virtual bool osg::Sequence::insertChild ( unsigned int  index,
Node child,
double  t 
) [virtual]

virtual bool osg::Sequence::removeChild ( Node child  )  [virtual]

Remove Node from Group. If Node is contained in Group then remove it from the child list, decrement its reference count, and dirty the bounding sphere to force it to recompute on next getBound() and return true for success. If Node is not found then return false and do not change the reference count of the Node. Note, do not override, only override removeChildren(,) is required.

Reimplemented from osg::Group.

virtual bool osg::Sequence::removeChildren ( unsigned int  pos,
unsigned int  numChildrenToRemove 
) [virtual]

Remove children from Group. Note, must be override by subclasses of Group which add per child attributes.

Reimplemented from osg::Group.

void osg::Sequence::setValue ( int  value  )  [inline]

value is which child node is to be displayed

int osg::Sequence::getValue (  )  const [inline]

void osg::Sequence::setTime ( unsigned int  frame,
double  t 
)

Set time in seconds for child.

double osg::Sequence::getTime ( unsigned int  frame  )  const

Get time for child.

void osg::Sequence::setDefaultTime ( double  t  )  [inline]

Set default time in seconds for new child. if t<0, t=0

double osg::Sequence::getDefaultTime ( void   )  const [inline]

Get default time in seconds for new child.

void osg::Sequence::setLastFrameTime ( double  t  )  [inline]

Set time of last frame of last loop, in seconds. if t<= 0, then ignored

double osg::Sequence::getLastFrameTime ( void   )  const [inline]

Get last frame time in seconds

unsigned int osg::Sequence::getNumFrames (  )  const [inline]

Get number of frames

void osg::Sequence::setInterval ( LoopMode  mode,
int  begin,
int  end 
)

Set sequence mode & interval (range of children to be displayed).

void osg::Sequence::getInterval ( LoopMode mode,
int &  begin,
int &  end 
) const [inline]

Get sequence mode & interval.

void osg::Sequence::setDuration ( float  speed,
int  nreps = -1 
)

Set duration: speed-up & number of repeats

void osg::Sequence::getDuration ( float &  speed,
int &  nreps 
) const [inline]

Get duration & number of repeats.

void osg::Sequence::setMode ( SequenceMode  mode  ) 

Set sequence mode. Start/stop & pause/resume.

SequenceMode osg::Sequence::getMode (  )  const [inline]

Get sequence mode.

void osg::Sequence::setSync ( bool  sync  )  [inline]

If false (default), frames will not be sync'd to frameTime. If true, frames will be sync'd to frameTime.

void osg::Sequence::getSync ( bool &  sync  )  const [inline]

Get sync value

void osg::Sequence::setClearOnStop ( bool  clearOnStop  )  [inline]

If true, show no child nodes after stopping

void osg::Sequence::getClearOnStop ( bool &  clearOnStop  )  const [inline]

If true, show no child nodes after stopping

int osg::Sequence::_getNextValue ( void   )  [protected]

void osg::Sequence::_update ( void   )  [protected]


Member Data Documentation

int osg::Sequence::_value [protected]

double osg::Sequence::_now [protected]

double osg::Sequence::_start [protected]

std::vector<double> osg::Sequence::_frameTime [protected]

double osg::Sequence::_totalTime [protected]

int osg::Sequence::_begin [protected]

int osg::Sequence::_end [protected]

float osg::Sequence::_speed [protected]

int osg::Sequence::_nreps [protected]

int osg::Sequence::_nrepsRemain [protected]

int osg::Sequence::_step [protected]

double osg::Sequence::_defaultTime [protected]

double osg::Sequence::_lastFrameTime [protected]

unsigned int osg::Sequence::_saveRealLastFrameValue [protected]

bool osg::Sequence::_sync [protected]

bool osg::Sequence::_clearOnStop [protected]


The documentation for this class was generated from the following file:

Generated on Wed Nov 17 16:52:49 2010 for openscenegraph by  doxygen 1.5.6