osg::Sequence Class Reference

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

Inheritance diagram for osg::Sequence:

Inheritance graph
[legend]

List of all members.

Public Types

enum  LoopMode { LOOP, SWING }
 Interval modes. More...
enum  SequenceMode { START, STOP, PAUSE, RESUME }
 Sequence modes. More...

Public Member Functions

 Sequence ()
 Sequence (const Sequence &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
 META_Node (osg, Sequence)
virtual void traverse (NodeVisitor &nv)
 Traverse downwards : calls children's accept method with NodeVisitor.
virtual bool addChild (Node *child)
 Add Node to Group.
virtual bool addChild (Node *child, double t)
virtual bool insertChild (unsigned int index, Node *child)
 Insert Node to Group at specific location.
virtual bool insertChild (unsigned int index, Node *child, double t)
virtual bool removeChild (Node *child)
 Remove Node from Group.
virtual bool removeChildren (unsigned int pos, unsigned int numChildrenToRemove)
 Remove children from Group.
void setValue (int value)
 value is which child node is to be displayed
int getValue () const
void setTime (unsigned int frame, double t)
 Set time in seconds for child.
double getTime (unsigned int frame) const
 Get time for child.
void setDefaultTime (double t)
 Set default time in seconds for new child.
double getDefaultTime (void) const
 Get default time in seconds for new child.
void setLastFrameTime (double t)
 Set time of last frame of last loop, in seconds.
double getLastFrameTime (void) const
 Get last frame time in seconds.
unsigned int getNumFrames () const
 Get number of frames.
void setInterval (LoopMode mode, int begin, int end)
 Set sequence mode & interval (range of children to be displayed).
void getInterval (LoopMode &mode, int &begin, int &end) const
 Get sequence mode & interval.
void setDuration (float speed, int nreps=-1)
 Set duration: speed-up & number of repeats.
void getDuration (float &speed, int &nreps) const
 Get duration & number of repeats.
void setMode (SequenceMode mode)
 Set sequence mode.
SequenceMode getMode () const
 Get sequence mode.
void setSync (bool sync)
 If false (default), frames will not be sync'd to frameTime.
void getSync (bool &sync) const
 Get sync value.
void setClearOnStop (bool clearOnStop)
 If true, show no child nodes after stopping.
void getClearOnStop (bool &clearOnStop) const
 If true, show no child nodes after stopping.

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
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

enum osg::Sequence::LoopMode

Interval modes.

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

Enumerator:
LOOP 
SWING 

enum osg::Sequence::SequenceMode

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]

bool osg::Sequence::_resetTotalTime [protected]

LoopMode osg::Sequence::_loopMode [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]

double osg::Sequence::_defaultTime [protected]

double osg::Sequence::_lastFrameTime [protected]

double osg::Sequence::_saveRealLastFrameTime [protected]

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

SequenceMode osg::Sequence::_mode [protected]

bool osg::Sequence::_sync [protected]

bool osg::Sequence::_clearOnStop [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:15 2007 for the OpenSceneGraph by doxygen 1.5.3.