OSG AnimationPath

     今天闲的看了下AnimationPath源文件,在这里做个笔记吧~

      AnimationPath封装了一个随时间变化的转型过程。可用于更新相机位置和模型对象的位置。AnimationPathCallback可以直接连接到变换的节点移动子图周围的景物。简单来说该类封装了一个旋转变化过程的对象,并且通过更新回调和指定节点绑定就可以实现旋转效果了。

     该类旋转的矩阵参数:时间,多长时间旋转一次;位置参数,没明白怎么用;角度参数,每次旋转的角度。具体通过其子类ControlPoint设置,并且该子类还接受一个缩放参数(_scale),即模型在三个方向上的缩小放大比例。子类ControlPoint可以通过构造函数直接设置参数,也可以通过内联函数设置,其中:

// 两个ControlPoint对象内插实现,内插公式拉格朗日差值计算

 inline void interpolate(float ratio,const ControlPoint& first, const ControlPoint& second)

 inline void interpolate(double ratio,const ControlPoint& first, const ControlPoint& second)

 该类还内联了父类的getMatrix、getInverse方法。

       

AnimationPath 的旋转方向枚举变量,默认LOOP

 enum LoopMode
        {
            SWING,    // 逆时针旋转
            LOOP,    //顺时针
            NO_LOOPING   //旋转一个周期
        };

一般就需要这么多吧~

你可能感兴趣的:(OSG,AnimationPath)