osg::Sequence Class Reference
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 ©op=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:
-
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
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] |
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.
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
unsigned int osg::Sequence::getNumFrames |
( |
|
) |
const [inline] |
void osg::Sequence::getSync |
( |
bool & |
sync |
) |
const [inline] |
double osg::Sequence::getTime |
( |
unsigned int |
frame |
) |
const |
int osg::Sequence::getValue |
( |
|
) |
const [inline] |
virtual bool osg::Sequence::insertChild |
( |
unsigned int |
index, |
|
|
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.
osg::Sequence::META_Node |
( |
osg |
, |
|
|
Sequence |
| |
|
) |
| | |
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::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
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] |
Member Data Documentation
The documentation for this class was generated from the following file: