OpenSceneGraph 2.8.4
|
Sequence is a Group node which allows automatic, time based switching between children. More...
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 ©op=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 |
int | _step |
double | _defaultTime |
double | _lastFrameTime |
double | _saveRealLastFrameTime |
unsigned int | _saveRealLastFrameValue |
SequenceMode | _mode |
bool | _sync |
bool | _clearOnStop |
Sequence modes.
osg::Sequence::Sequence | ( | ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
virtual osg::Sequence::~Sequence | ( | ) | [inline, protected, virtual] |
int osg::Sequence::_getNextValue | ( | void | ) | [protected] |
void osg::Sequence::_update | ( | void | ) | [protected] |
virtual bool osg::Sequence::addChild | ( | Node * | child, |
double | t | ||
) | [virtual] |
virtual bool osg::Sequence::addChild | ( | Node * | child | ) | [virtual] |
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.
void osg::Sequence::getClearOnStop | ( | bool & | clearOnStop | ) | const [inline] |
If true, show no child nodes after stopping.
double osg::Sequence::getDefaultTime | ( | void | ) | const [inline] |
Get default time in seconds for new child.
void osg::Sequence::getDuration | ( | float & | speed, |
int & | nreps | ||
) | const [inline] |
Get duration & number of repeats.
void osg::Sequence::getInterval | ( | LoopMode & | mode, |
int & | begin, | ||
int & | end | ||
) | const [inline] |
Get sequence mode & interval.
double osg::Sequence::getLastFrameTime | ( | void | ) | const [inline] |
Get last frame time in seconds.
SequenceMode osg::Sequence::getMode | ( | ) | const [inline] |
Get sequence mode.
unsigned int osg::Sequence::getNumFrames | ( | ) | const [inline] |
Get number of frames.
void osg::Sequence::getSync | ( | bool & | sync | ) | const [inline] |
Get sync value.
double osg::Sequence::getTime | ( | unsigned int | frame | ) | const |
Get time for child.
int osg::Sequence::getValue | ( | ) | const [inline] |
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] |
osg::Sequence::META_Node | ( | osg | , |
Sequence | |||
) |
virtual bool osg::Sequence::removeChild | ( | Node * | child | ) | [virtual] |
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::setClearOnStop | ( | bool | clearOnStop | ) | [inline] |
If true, show no child nodes after stopping.
void osg::Sequence::setDefaultTime | ( | double | t | ) | [inline] |
Set default time in seconds for new child.
if t<0, t=0
void osg::Sequence::setDuration | ( | float | speed, |
int | nreps = -1 |
||
) |
Set duration: speed-up & number of repeats.
void osg::Sequence::setInterval | ( | LoopMode | mode, |
int | begin, | ||
int | end | ||
) |
Set sequence mode & interval (range of children to be displayed).
void osg::Sequence::setLastFrameTime | ( | double | t | ) | [inline] |
Set time of last frame of last loop, in seconds.
if t<= 0, then ignored
void osg::Sequence::setMode | ( | SequenceMode | mode | ) |
Set sequence mode.
Start/stop & pause/resume.
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::setTime | ( | unsigned int | frame, |
double | t | ||
) |
Set time in seconds for child.
void osg::Sequence::setValue | ( | int | value | ) | [inline] |
value is which child node is to be displayed
virtual void osg::Sequence::traverse | ( | NodeVisitor & | ) | [virtual] |
Traverse downwards : calls children's accept method with NodeVisitor.
Reimplemented from osg::Group.
int osg::Sequence::_begin [protected] |
bool osg::Sequence::_clearOnStop [protected] |
double osg::Sequence::_defaultTime [protected] |
int osg::Sequence::_end [protected] |
std::vector<double> osg::Sequence::_frameTime [protected] |
double osg::Sequence::_lastFrameTime [protected] |
LoopMode osg::Sequence::_loopMode [protected] |
SequenceMode osg::Sequence::_mode [protected] |
double osg::Sequence::_now [protected] |
int osg::Sequence::_nreps [protected] |
int osg::Sequence::_nrepsRemain [protected] |
bool osg::Sequence::_resetTotalTime [protected] |
double osg::Sequence::_saveRealLastFrameTime [protected] |
unsigned int osg::Sequence::_saveRealLastFrameValue [protected] |
float osg::Sequence::_speed [protected] |
double osg::Sequence::_start [protected] |
int osg::Sequence::_step [protected] |
bool osg::Sequence::_sync [protected] |
double osg::Sequence::_totalTime [protected] |
int osg::Sequence::_value [protected] |
![]() | Generated at Sun Jan 8 2012 13:16:18 for the OpenSceneGraph by doxygen 1.7.4. |