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

Lamp::Animation Class Reference

アニメーション More...

#include <Animation.h>

Inheritance diagram for Lamp::Animation:

Lamp::AnimationSet Lamp::ObjectAnimation Lamp::CameraAnimation Lamp::CharacterModelAnimation Lamp::SceneNodeAnimation List of all members.

Public Types

enum  AnimationMask {
  maskCamera = 1 << 0, maskSceneNode = 1 << 1, maskCharacterModel = 1 << 2, maskPreCulling,
  maskPostCulling, maskForce
}
 アニメーションマスク More...

enum  DataCopyMask { copyNone = 0, copyCamera = 1 << 0, copySceneNode = 1 << 1, copyCharacterModel = 1 << 2 }
 データコピーマスク More...


Public Member Functions

virtual bool bind (Scene *scene)=0
 バインド

virtual void unbind ()=0
 バインド解除

virtual int getSequenceCount () const=0
 シーケンス数の取得

virtual void setSequence (int sequence, float time=0.f)=0
 シーケンスの設定

virtual int getSequence () const=0
 シーケンスの取得

virtual void setTime (float time)=0
 時間の設定

virtual float getTime () const=0
 時間の取得

virtual bool animate (float deltaTime, AnimationMask mask)=0
 アニメーション

virtual bool isFinished () const=0
 終了しているか

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

virtual bool isLooped () const=0
 ループしているか

virtual Animation * copy (DataCopyMask dataCopyMask=copyNone) const=0
 コピー

virtual bool isAnimationSet () const
 アニメーションセットかどうか

virtual AnimationSet * castAnimationSet () const
 アニメーションセットへのキャスト

virtual bool isObjectAnimation () const
 オブジェクトアニメーションかどうか

virtual ObjectAnimation * castObjectAnimation () const
 オブジェクトアニメーションへのキャスト

virtual bool isCameraAnimation () const
 カメラアニメーションかどうか

virtual CameraAnimation * castCameraAnimation () const
 カメラアニメーションへのキャスト

virtual bool isSceneNodeAnimation () const
 シーンノードアニメーションかどうか

virtual SceneNodeAnimation * castSceneNodeAnimation () const
 シーンノードアニメーションへのキャスト

virtual bool isCharacterModelAnimation () const
 キャラクタモデルアニメーションかどうか

virtual CharacterModelAnimation * castCharacterModelAnimation () const
 キャラクタモデルアニメーションへのキャスト

virtual const String & getName () const
 名前の取得

virtual AnimationManager * getManager () const
 マネージャの取得

virtual void setEnabled (bool enabled)
 有効、無効の設定

virtual bool isEnabled () const
 有効、無効の取得


Protected Member Functions

 Animation (String name, AnimationManager *manager)
 コンストラクタ

virtual ~Animation ()
 デストラクタ

float increasesTime (float deltaTime)
 時間の増加


Friends

class AnimationManager

Detailed Description

アニメーション

Definition at line 41 of file Animation.h.


Member Enumeration Documentation

enum Lamp::Animation::AnimationMask
 

アニメーションマスク

Enumeration values:
maskCamera  カメラアニメーション
maskSceneNode  シーンノードアニメーション
maskCharacterModel  キャラクタモデルアニメーション
maskPreCulling  カリング前アニメーション
maskPostCulling  カリング後アニメーション
maskForce  強制アニメーション

Definition at line 46 of file Animation.h.

enum Lamp::Animation::DataCopyMask
 

データコピーマスク

Enumeration values:
copyNone  データコピーしない
copyCamera  カメラデータコピー
copySceneNode  シーンノードデータコピー
copyCharacterModel  キャラクタモデルデータコピー

Definition at line 69 of file Animation.h.


Constructor & Destructor Documentation

Lamp::Animation::Animation (  String  name,
AnimationManager *  manager
)  [inline, protected]
 

コンストラクタ

Parameters:
name 名前
manager アニメーションマネージャ

Definition at line 295 of file Animation.h.


Member Function Documentation

virtual bool Lamp::Animation::animate (  float  deltaTime,
AnimationMask  mask
)  [pure virtual]
 

アニメーション

Parameters:
deltaTime デルタタイム
mask アニメーションマスク
Returns:
アニメーションが終了していればtrue

Implemented in Lamp::CameraAnimation, Lamp::CharacterModelAnimation, Lamp::SceneNodeAnimation, and Lamp::AnimationSet.

Referenced by Lamp::AnimationSet::animate(), and Lamp::SceneFramework::frameworkRenderSetup().

virtual bool Lamp::Animation::bind (  Scene *  scene  )  [pure virtual]
 

バインド

Parameters:
scene バインド対象シーン
Returns:
成功すればtrue

Implemented in Lamp::CameraAnimation, Lamp::CharacterModelAnimation, Lamp::SceneNodeAnimation, and Lamp::AnimationSet.

Referenced by Lamp::AnimationSet::bind(), and Lamp::SceneFramework::loadScene().

virtual AnimationSet* Lamp::Animation::castAnimationSet (   )  const [inline, virtual]
 

アニメーションセットへのキャスト

Returns:
アニメーションセット。型が違えばNULLを返す。

Definition at line 186 of file Animation.h.

References isAnimationSet(), and NULL.

Referenced by Lamp::AnimationCompressor::compressAnimation(), Lamp::TextAnimationLoader::readAnimationSetLink(), Lamp::BinaryAnimationLoader::readAnimationSetLink(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual CameraAnimation* Lamp::Animation::castCameraAnimation (   )  const [inline, virtual]
 

カメラアニメーションへのキャスト

Returns:
カメラアニメーション。型が違えばNULLを返す。

Definition at line 218 of file Animation.h.

References isCameraAnimation(), and NULL.

Referenced by Lamp::AnimationCompressor::compressAnimation(), Lamp::BinaryAnimationLoader::readCameraAnimationLink(), Lamp::TextAnimationLoader::readCameraLinkList(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual CharacterModelAnimation* Lamp::Animation::castCharacterModelAnimation (   )  const [inline, virtual]
 

キャラクタモデルアニメーションへのキャスト

Returns:
キャラクタモデルアニメーション。型が違えばNULLを返す。

Definition at line 250 of file Animation.h.

References isCharacterModelAnimation(), and NULL.

Referenced by Lamp::AnimationCompressor::compressAnimation(), Lamp::BinaryAnimationLoader::readCharacterModelAnimationLink(), Lamp::TextAnimationLoader::readCharacterModelLinkList(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual ObjectAnimation* Lamp::Animation::castObjectAnimation (   )  const [inline, virtual]
 

オブジェクトアニメーションへのキャスト

Returns:
オブジェクトアニメーション。型が違えばNULLを返す。

Definition at line 202 of file Animation.h.

References isObjectAnimation(), and NULL.

virtual SceneNodeAnimation* Lamp::Animation::castSceneNodeAnimation (   )  const [inline, virtual]
 

シーンノードアニメーションへのキャスト

Returns:
シーンノードアニメーション。型が違えばNULLを返す。

Definition at line 234 of file Animation.h.

References isSceneNodeAnimation(), and NULL.

Referenced by Lamp::AnimationCompressor::compressAnimation(), Lamp::BinaryAnimationLoader::readSceneNodeAnimationLink(), Lamp::TextAnimationLoader::readSceneNodeLinkList(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual Animation* Lamp::Animation::copy (  DataCopyMask  dataCopyMask = copyNone  )  const [pure virtual]
 

コピー

Parameters:
dataCopyMask データコピーマスク
Returns:
コピーされたアニメーション

Implemented in Lamp::CameraAnimation, Lamp::CharacterModelAnimation, Lamp::SceneNodeAnimation, and Lamp::AnimationSet.

virtual float Lamp::Animation::getLength (   )  const [pure virtual]
 

長さの取得

Returns:
長さ

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::getLength(), and increasesTime().

virtual AnimationManager* Lamp::Animation::getManager (   )  const [inline, virtual]
 

マネージャの取得

Returns:
マネージャ

Definition at line 273 of file Animation.h.

Referenced by Lamp::AnimationSet::copyAnimationSet(), Lamp::CameraAnimation::copyCameraAnimation(), Lamp::CharacterModelAnimation::copyCharacterModelAnimation(), and Lamp::SceneNodeAnimation::copySceneNodeAnimation().

virtual const String& Lamp::Animation::getName (   )  const [inline, virtual]
 

名前の取得

Returns:
名前

Definition at line 264 of file Animation.h.

Referenced by Lamp::AnimationSet::copyAnimationSet(), Lamp::CameraAnimation::copyCameraAnimation(), Lamp::CharacterModelAnimation::copyCharacterModelAnimation(), Lamp::SceneNodeAnimation::copySceneNodeAnimation(), Lamp::AnimationManager::createAnimationSet(), Lamp::AnimationManager::createCamera(), Lamp::AnimationManager::createCharacterModel(), Lamp::AnimationManager::createSceneNode(), Lamp::AnimationManager::destroy(), Lamp::TextAnimationSaver::writeAnimationSet(), Lamp::BinaryAnimationSaver::writeAnimationSet(), Lamp::TextAnimationSaver::writeAnimationSetLink(), Lamp::BinaryAnimationSaver::writeAnimationSetLink(), Lamp::TextAnimationSaver::writeCameraAnimation(), Lamp::BinaryAnimationSaver::writeCameraAnimation(), Lamp::TextAnimationSaver::writeCameraAnimationLink(), Lamp::BinaryAnimationSaver::writeCameraAnimationLink(), Lamp::TextAnimationSaver::writeCharacterModelAnimation(), Lamp::BinaryAnimationSaver::writeCharacterModelAnimation(), Lamp::TextAnimationSaver::writeCharacterModelAnimationLink(), Lamp::BinaryAnimationSaver::writeCharacterModelAnimationLink(), Lamp::TextAnimationSaver::writeSceneNodeAnimation(), Lamp::BinaryAnimationSaver::writeSceneNodeAnimation(), Lamp::TextAnimationSaver::writeSceneNodeAnimationLink(), and Lamp::BinaryAnimationSaver::writeSceneNodeAnimationLink().

virtual int Lamp::Animation::getSequence (   )  const [pure virtual]
 

シーケンスの取得

Returns:
シーケンス

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::getSequence().

virtual int Lamp::Animation::getSequenceCount (   )  const [pure virtual]
 

シーケンス数の取得

Returns:
シーケンス数

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::getSequenceCount().

virtual float Lamp::Animation::getTime (   )  const [pure virtual]
 

時間の取得

Returns:
時間

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::getTime(), and increasesTime().

float Lamp::Animation::increasesTime (  float  deltaTime  )  [inline, protected]
 

時間の増加

Parameters:
deltaTime デルタタイム
Returns:
ループ補正された時間

Definition at line 308 of file Animation.h.

References getLength(), getTime(), isLooped(), and setTime().

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

virtual bool Lamp::Animation::isAnimationSet (   )  const [inline, virtual]
 

アニメーションセットかどうか

Returns:
アニメーションセットならtrue

Reimplemented in Lamp::AnimationSet.

Definition at line 180 of file Animation.h.

Referenced by castAnimationSet(), Lamp::AnimationCompressor::compressAnimation(), Lamp::TextAnimationSaver::countObjects(), Lamp::BinaryAnimationSaver::countObjects(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual bool Lamp::Animation::isCameraAnimation (   )  const [inline, virtual]
 

カメラアニメーションかどうか

Returns:
カメラアニメーションならtrue

Reimplemented in Lamp::CameraAnimation.

Definition at line 212 of file Animation.h.

Referenced by castCameraAnimation(), Lamp::AnimationCompressor::compressAnimation(), Lamp::TextAnimationSaver::countObjects(), Lamp::BinaryAnimationSaver::countObjects(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual bool Lamp::Animation::isCharacterModelAnimation (   )  const [inline, virtual]
 

キャラクタモデルアニメーションかどうか

Returns:
キャラクタモデルアニメーションならtrue

Reimplemented in Lamp::CharacterModelAnimation.

Definition at line 244 of file Animation.h.

Referenced by castCharacterModelAnimation(), Lamp::AnimationCompressor::compressAnimation(), Lamp::TextAnimationSaver::countObjects(), Lamp::BinaryAnimationSaver::countObjects(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual bool Lamp::Animation::isEnabled (   )  const [inline, virtual]
 

有効、無効の取得

Returns:
trueなら有効、falseなら無効

Definition at line 286 of file Animation.h.

Referenced by Lamp::SceneNodeAnimation::animate(), Lamp::CharacterModelAnimation::animate(), Lamp::CameraAnimation::animate(), Lamp::AnimationSet::animate(), Lamp::AnimationSet::copyAnimationSet(), Lamp::ObjectAnimation::copyObjectAnimationValue(), Lamp::TextAnimationSaver::writeAnimationSet(), Lamp::BinaryAnimationSaver::writeAnimationSet(), Lamp::TextAnimationSaver::writeCameraAnimation(), Lamp::BinaryAnimationSaver::writeCameraAnimation(), Lamp::TextAnimationSaver::writeCharacterModelAnimation(), Lamp::BinaryAnimationSaver::writeCharacterModelAnimation(), Lamp::TextAnimationSaver::writeSceneNodeAnimation(), and Lamp::BinaryAnimationSaver::writeSceneNodeAnimation().

virtual bool Lamp::Animation::isFinished (   )  const [pure virtual]
 

終了しているか

Returns:
終了していればtrue

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::isFinished().

virtual bool Lamp::Animation::isLooped (   )  const [pure virtual]
 

ループしているか

Returns:
ループしていればtrue

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by increasesTime(), and Lamp::AnimationSet::isLooped().

virtual bool Lamp::Animation::isObjectAnimation (   )  const [inline, virtual]
 

オブジェクトアニメーションかどうか

Returns:
オブジェクトアニメーションならtrue

Reimplemented in Lamp::ObjectAnimation.

Definition at line 196 of file Animation.h.

Referenced by castObjectAnimation().

virtual bool Lamp::Animation::isSceneNodeAnimation (   )  const [inline, virtual]
 

シーンノードアニメーションかどうか

Returns:
シーンノードアニメーションならtrue

Reimplemented in Lamp::SceneNodeAnimation.

Definition at line 228 of file Animation.h.

Referenced by castSceneNodeAnimation(), Lamp::AnimationCompressor::compressAnimation(), Lamp::TextAnimationSaver::countObjects(), Lamp::BinaryAnimationSaver::countObjects(), Lamp::TextAnimationSaver::writeAnimationList(), Lamp::BinaryAnimationSaver::writeAnimationList(), Lamp::TextAnimationSaver::writeLink(), and Lamp::BinaryAnimationSaver::writeLink().

virtual void Lamp::Animation::setEnabled (  bool  enabled  )  [inline, virtual]
 

有効、無効の設定

Parameters:
enabled trueなら有効、falseなら無効

Definition at line 280 of file Animation.h.

Referenced by Lamp::AnimationSet::copyAnimationSet(), Lamp::ObjectAnimation::copyObjectAnimationValue(), Lamp::TextAnimationLoader::readAnimationSet(), Lamp::BinaryAnimationLoader::readAnimationSet(), Lamp::TextAnimationLoader::readCameraAnimation(), Lamp::BinaryAnimationLoader::readCameraAnimation(), Lamp::TextAnimationLoader::readCharacterModelAnimation(), Lamp::BinaryAnimationLoader::readCharacterModelAnimation(), Lamp::TextAnimationLoader::readSceneNodeAnimation(), and Lamp::BinaryAnimationLoader::readSceneNodeAnimation().

virtual void Lamp::Animation::setSequence (  int  sequence,
float  time = 0.f
)  [pure virtual]
 

シーケンスの設定

Parameters:
sequence 設定するシーケンス
time 設定する時間

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by Lamp::AnimationSet::setSequence().

virtual void Lamp::Animation::setTime (  float  time  )  [pure virtual]
 

時間の設定

Parameters:
time 設定する時間

Implemented in Lamp::AnimationSet, and Lamp::ObjectAnimation.

Referenced by increasesTime(), and Lamp::AnimationSet::setTime().


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