osgAnimation.StackedRotateAxisElement
类代表了一个旋转轴元素,它可以被添加到堆栈中。这个类允许您在动画过程中对节点进行旋转,绕着给定的轴进行旋转。
函数声明 | 描述 |
---|---|
StackedRotateAxisElement(const std::string &name = "", const osg::Vec3d &axis = osg::Vec3d(0.0, 1.0, 0.0), double angle = 0.0) |
构造函数。 |
void setAxis(const osg::Vec3d &axis) |
设置旋转轴。 |
const osg::Vec3d& getAxis() const |
获取旋转轴。 |
void setAngle(double angle) |
设置旋转角度。 |
double getAngle() const |
获取旋转角度。 |
virtual void init() |
初始化元素。 |
virtual void update(osg::NodeVisitor &nv, osg::Drawable *drawable = nullptr) |
更新元素的状态。 |
virtual osg::Matrixd getMatrix() const |
返回旋转矩阵。 |
virtual osg::Quat getQuaternion() const |
返回旋转四元数。 |
virtual osg::Vec3d getPosition() const |
返回元素的位置。 |
virtual void setCurrentToInit() |
将当前状态设置为初始状态。 |
virtual void setNext(osgAnimation::StackedTransformElement *nextInStack) |
设置下一个元素。 |
virtual osg::Matrixd getMatrixForTime(double t) const |
返回给定时间的旋转矩阵。 |
virtual osg::Quat getQuaternionForTime(double t) const |
返回给定时间的旋转四元数。 |
virtual osg::Vec3d getPositionForTime(double t) const |
返回给定时间的位置。 |
virtual double getStartTime() const |
返回动画的起始时间。 |
virtual double getEndTime() const |
返回动画的结束时间。 |
virtual void setStartTime(double t) |
设置动画的起始时间。 |
virtual void setEndTime(double t) |
设置动画的结束时间。 |
virtual void combine(osgAnimation::StackedTransformElement *rhs, float alpha) |
将两个元素进行混合。 |
virtual osgAnimation::StackedTransformElement* clone() const |
返回当前元素的克隆。 |
virtual void write(osgDB::OutputStream &os) const |
将元素的状态写入输出流。 |
virtual void read(osgDB::InputStream &is) |
从输入流中读取元素的状态。 |
osgAnimation::StackedTransformElement - base class
osgAnimation::StackedRotateAxisElement - 旋转轴元素类
osg::Vec3d - 三维向量类
osg::Matrixd - 4x4 的矩阵类
osg::Quat - 四元数类
osg::NodeVisitor - 节点遍历访问器类
osg::Drawable - 可绘制对象类
OpenSceneGraph 内部
2014 年 11 月
3.3.7
osgAnimation