Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

Lamp::RotationInterpolator Class Reference

回転補間 More...

#include <RotationInterpolator.h>

Inheritance diagram for Lamp::RotationInterpolator:

Lamp::EulerArrayInterpolator Lamp::QuaternionArrayInterpolator Lamp::QuaternionLinearInterpolator Lamp::RotationConstantInterpolator List of all members.

Public Member Functions

virtual ~RotationInterpolator ()
 デストラクタ

virtual RotationInterpolatorduplicate () const=0
 複製

virtual bool equals (const RotationInterpolator &target) const=0
 同じ値かどうか

virtual float getLength () const=0
 長さの取得

virtual bool isEulerInterpolator () const=0
 オイラー補間かどうか

virtual Vector3 eulerInterpolate (float time)=0
 オイラー補間

virtual bool isQuaternionInterpolator () const=0
 クォータニオン補間かどうか

virtual Quaternion quaternionInterpolate (float time)=0
 クォータニオン補間

virtual bool isRotationConstantInterpolator () const
 回転定数補間かどうか

virtual RotationConstantInterpolatorcastRotationConstantInterpolator () const
 回転定数補間へのキャスト

virtual bool isEulerArrayInterpolator () const
 オイラー回転配列補間かどうか

virtual EulerArrayInterpolatorcastEulerArrayInterpolator () const
 オイラー回転配列補間へのキャスト

virtual bool isQuaternionArrayInterpolator () const
 四元数回転配列補間かどうか

virtual QuaternionArrayInterpolatorcastQuaternionArrayInterpolator () const
 四元数回転配列補間へのキャスト

virtual bool isQuaternionLinearInterpolator () const
 四元数回転線形補間かどうか

virtual QuaternionLinearInterpolatorcastQuaternionLinearInterpolator () const
 四元数回転線形補間へのキャスト


Detailed Description

回転補間

サブクラスでコピーコンストラクタと代入演算子を実装する

Definition at line 41 of file RotationInterpolator.h.


Member Function Documentation

virtual EulerArrayInterpolator* Lamp::RotationInterpolator::castEulerArrayInterpolator  )  const [inline, virtual]
 

オイラー回転配列補間へのキャスト

Returns:
オイラー回転配列補間。型が違えばNULLを返す。

Definition at line 135 of file RotationInterpolator.h.

References isEulerArrayInterpolator(), and NULL.

Referenced by Lamp::AnimationCompressor::compressRotation(), Lamp::EulerArrayInterpolator::equals(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual QuaternionArrayInterpolator* Lamp::RotationInterpolator::castQuaternionArrayInterpolator  )  const [inline, virtual]
 

四元数回転配列補間へのキャスト

Returns:
四元数回転配列補間。型が違えばNULLを返す。

Definition at line 154 of file RotationInterpolator.h.

References isQuaternionArrayInterpolator(), and NULL.

Referenced by Lamp::AnimationCompressor::compressRotation(), Lamp::QuaternionArrayInterpolator::equals(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual QuaternionLinearInterpolator* Lamp::RotationInterpolator::castQuaternionLinearInterpolator  )  const [inline, virtual]
 

四元数回転線形補間へのキャスト

Returns:
四元数回転線形補間。型が違えばNULLを返す。

Definition at line 173 of file RotationInterpolator.h.

References isQuaternionLinearInterpolator(), and NULL.

Referenced by Lamp::QuaternionLinearInterpolator::equals(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual RotationConstantInterpolator* Lamp::RotationInterpolator::castRotationConstantInterpolator  )  const [inline, virtual]
 

回転定数補間へのキャスト

Returns:
回転定数補間。型が違えばNULLを返す。

Definition at line 116 of file RotationInterpolator.h.

References isRotationConstantInterpolator(), and NULL.

Referenced by Lamp::RotationConstantInterpolator::equals(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual RotationInterpolator* Lamp::RotationInterpolator::duplicate  )  const [pure virtual]
 

複製

Returns:
複製された回転補間。呼び出し元でdeleteする必要がある

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::AnimationCompressor::compressRotation(), Lamp::SceneNodeAnimationData::SceneNodeSequence::operator=(), Lamp::CharacterModelAnimationData::CharacterModelSequence::operator=(), and Lamp::CameraAnimationData::CameraSequence::operator=().

virtual bool Lamp::RotationInterpolator::equals const RotationInterpolator target  )  const [pure virtual]
 

同じ値かどうか

Parameters:
target 比較対象
Returns:
同じ値ならtrueをかえす

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

virtual Vector3 Lamp::RotationInterpolator::eulerInterpolate float  time  )  [pure virtual]
 

オイラー補間

Parameters:
time 時間
Returns:
補間された回転

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CharacterModelAnimation::animate(), and Lamp::CameraAnimation::animate().

virtual float Lamp::RotationInterpolator::getLength  )  const [pure virtual]
 

長さの取得

Returns:
長さ

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::SceneNodeAnimationData::SceneNodeSequence::calcLength(), Lamp::CharacterModelAnimationData::CharacterModelSequence::calcLength(), and Lamp::CameraAnimationData::CameraSequence::calcLength().

virtual bool Lamp::RotationInterpolator::isEulerArrayInterpolator  )  const [inline, virtual]
 

オイラー回転配列補間かどうか

Returns:
オイラー回転配列補間ならtrue

Reimplemented in Lamp::EulerArrayInterpolator.

Definition at line 128 of file RotationInterpolator.h.

Referenced by castEulerArrayInterpolator(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual bool Lamp::RotationInterpolator::isEulerInterpolator  )  const [pure virtual]
 

オイラー補間かどうか

Returns:
オイラー補間ならtrue

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CharacterModelAnimation::animate(), and Lamp::CameraAnimation::animate().

virtual bool Lamp::RotationInterpolator::isQuaternionArrayInterpolator  )  const [inline, virtual]
 

四元数回転配列補間かどうか

Returns:
四元数回転配列補間ならtrue

Reimplemented in Lamp::QuaternionArrayInterpolator.

Definition at line 147 of file RotationInterpolator.h.

Referenced by castQuaternionArrayInterpolator(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual bool Lamp::RotationInterpolator::isQuaternionInterpolator  )  const [pure virtual]
 

クォータニオン補間かどうか

Returns:
クォータニオン補間ならtrue

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CharacterModelAnimation::animate(), and Lamp::CameraAnimation::animate().

virtual bool Lamp::RotationInterpolator::isQuaternionLinearInterpolator  )  const [inline, virtual]
 

四元数回転線形補間かどうか

Returns:
四元数回転線形補間ならtrue

Reimplemented in Lamp::QuaternionLinearInterpolator.

Definition at line 166 of file RotationInterpolator.h.

Referenced by castQuaternionLinearInterpolator(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual bool Lamp::RotationInterpolator::isRotationConstantInterpolator  )  const [inline, virtual]
 

回転定数補間かどうか

Returns:
回転定数補間ならtrue

Reimplemented in Lamp::RotationConstantInterpolator.

Definition at line 109 of file RotationInterpolator.h.

Referenced by castRotationConstantInterpolator(), Lamp::TextAnimationSaver::writeRotationInterpolator(), and Lamp::BinaryAnimationSaver::writeRotationInterpolator().

virtual Quaternion Lamp::RotationInterpolator::quaternionInterpolate float  time  )  [pure virtual]
 

クォータニオン補間

Parameters:
time 時間
Returns:
補間された回転

Implemented in Lamp::EulerArrayInterpolator, Lamp::QuaternionArrayInterpolator, Lamp::QuaternionLinearInterpolator, and Lamp::RotationConstantInterpolator.

Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CharacterModelAnimation::animate(), and Lamp::CameraAnimation::animate().


The documentation for this class was generated from the following file:
Generated on Wed Mar 16 10:29:50 2005 for Lamp by doxygen 1.3.2