osgSim.SequenceGroup类是OpenSceneGraph中的一个节点组合器,它可以将多个节点按照顺序播放,实现动画效果。
osg::Referenced
|
+--osg::Object
|
+--osg::Node
|
+--osg::Group
|
+--osgSim::Sequence
|
+--osgSim::SequencePlayer
|
+--osgSim::SequenceManipulator
|
+--osgSim::SequenceGenerator
|
+--osgSim::SequenceStabilizer
|
+--osgSim::SequenceRecorder
|
+--osgSim::SequenceDumper
|
+--osgSim::SequenceFrameManager
osgSim.SequenceGroup是osgSim.Sequence的子类,也是osg::Group的子类。
SequenceGroup()
创建一个空的osgSim.SequenceGroup对象。
SequenceGroup(const SequenceGroup& sg, const osg::CopyOp& copyop=osg::CopyOp::SHALLOW_COPY)
从现有的osgSim.SequenceGroup对象sg克隆一个新对象,并应用CopyOp指定的操作类型。
osgSim.SequenceGroup是一个组合节点,它可以包含其他节点。使用以下方法添加、删除和查询子节点。
unsigned int addChild(osg::Node* child)
将指定的节点添加为子节点,并返回子节点在组合节点中的位置索引。
unsigned int insertChild(unsigned int index, osg::Node* child)
将指定的节点插入到指定位置,并返回子节点在组合节点中的位置索引。
bool removeChildren(unsigned int pos, unsigned int numChildrenToRemove=1)
从指定位置开始,删除指定数量的子节点。
bool replaceChild(osg::Node* origChild, osg::Node* newChild)
替换指定的子节点。
bool replaceChild(unsigned int pos, osg::Node* newChild)
替换指定位置的子节点。
osg::Node* getChild(unsigned int i)
返回指定位置的子节点。
const osg::Node* getChild(unsigned int i) const
返回指定位置的子节点。
unsigned int getNumChildren() const
返回子节点数量。
unsigned int indexChildren(osg::Node* child)
返回指定节点在组合节点中的位置索引。
osgSim.SequenceGroup可以将多个节点沿着指定的时间轴播放,实现动画效果。以下为相关方法。
void setStartTime(double start_time)
设置起始时间,以秒为单位。
double getStartTime() const
返回起始时间。
void setEndTime(double end_time)
设置结束时间,以秒为单位。
double getEndTime() const
返回结束时间。
osg::BoundingBox computeBoundingBox() const
计算所有子节点的边界框并返回。
void traverse(osg::NodeVisitor& nv)
遍历节点和子节点,并将它们沿时间轴按顺序播放。
void traverseSequence(osg::NodeVisitor& nv)
仅遍历节点序列本身,不影响子节点。
virtual void setNodeMask(unsigned int mask)
设置节点蒙版。
以下是osgSim.SequenceGroup的一些参数和默认值:
参数名 | 类型 | 默认值 | 描述 |
---|---|---|---|
_startTime | double | 0.0 | 起始时间 |
_endTime | double | 0.0 | 结束时间 |
_sequenceMode | SequenceMode | ONCE | 播放模式 |
_playMode | PlayMode | REALTIME | 播放模式 |
_currentDataList | DataListContainer | - | 当前数据列表 |
_ignoreList | IgnoreListContainer | - | 忽略列表 |
_cacheDataLists | CacheDataLists | false | 是否缓存数据列表 |
_frameNumber | unsigned int | 0 | 帧数 |
[1] osgSim.SequenceGroup Documentation. https://openscenegraph.github.io/documentation/OpenSceneGraphReferenceDocs/a00264.html. Accessed 22 Apr. 2021.
[2] OpenSceneGraph Documentation. https://www.openscenegraph.org/index.php/documentation/. Accessed 22 Apr. 2021.