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 Animationcopy (DataCopyMask dataCopyMask=copyNone) const=0
 コピー

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

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

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

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

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

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

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

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

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

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

virtual const StringgetName () const
 名前の取得

virtual AnimationManagergetManager () 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