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

Lamp::Texture Class Reference

テクスチャ More...

#include <Texture.h>

Inheritance diagram for Lamp::Texture:

Lamp::SceneObject Lamp::SurfaceTexture List of all members.

Public Types

enum  AddressMode { addressModeWrap = 0, addressModeClamp, addressModeMirror, addressModeMax }
 アドレスモード


Public Member Functions

virtual int getReferenceCount () const
 リファレンスカウントの取得

virtual Texture * copy (u_int copyMask=0) const=0
 コピー

virtual void stateChanged ()
 ステート変更フラグを立てる

virtual int getParentCount () const
 親のサイズ取得

virtual Material * getParent (int index) const
 親の取得

virtual void addPicture (Picture *picture)=0
 ピクチャの追加

virtual void removePicture (Picture *picture)=0
 ピクチャの削除

virtual int getPictureCount () const=0
 ピクチャ数の取得

virtual Picture * getPicture (int index) const=0
 ピクチャの取得

virtual bool isTexture () const
 テクスチャかどうか

virtual bool isSurfaceTexture () const
 サーフェーステクスチャかどうか

virtual SurfaceTexture * castSurfaceTexture () const
 サーフェーステクスチャへのキャスト


Static Public Member Functions

int recursiveDestroy (Texture *texture)
 再帰的破棄

const String & addressModeToString (AddressMode addressMode)
 アドレスモードから文字列への変換

AddressMode addressModeFromString (const String &addressModeString)
 文字列からアドレスモードへの変換


Protected Member Functions

 Texture (const String &name, Scene *scene)
 コンストラクタ

virtual ~Texture ()
 デストラクタ

virtual void copyTextureValue (Texture *destination, u_int copyMask) const
 テクスチャの値コピー

virtual int addReference (Material *parent)
 参照の追加

virtual int removeReference (Material *parent)
 参照の削除

virtual void addPictureReference (Picture *picture)
 ピクチャリファレンスの追加

virtual void removePictureReference (Picture *picture)
 ピクチャリファレンスの削除

virtual Direct3DTexture * getD3DTexture ()=0
 D3Dテクスチャの取得.


Friends

class SceneObjectManagerTemplate< Texture >
class TextureManager
class Material
class RenderingDevice

Detailed Description

テクスチャ

Definition at line 40 of file Texture.h.


Constructor & Destructor Documentation

Lamp::Texture::Texture (  const String &  name,
Scene *  scene
)  [protected]
 

コンストラクタ

Parameters:
name 名前
scene シーン

Definition at line 42 of file Texture.cpp.


Member Function Documentation

virtual void Lamp::Texture::addPicture (  Picture *  picture  )  [pure virtual]
 

ピクチャの追加

Parameters:
picture 追加するピクチャ

Implemented in Lamp::SurfaceTexture.

Referenced by copyTextureValue(), Lamp::TextSceneLoader::readTextureLink(), and Lamp::BinarySceneLoader::readTextureLink().

void Lamp::Texture::addPictureReference (  Picture *  picture  )  [protected, virtual]
 

ピクチャリファレンスの追加

Parameters:
picture リファレンスを追加するピクチャ

Definition at line 109 of file Texture.cpp.

References Lamp::Picture::addReference().

Referenced by Lamp::SurfaceTexture::addPicture().

virtual int Lamp::Texture::addReference (  Material *  parent  )  [inline, protected, virtual]
 

参照の追加

Parameters:
parent 親
Returns:
参照カウント

Definition at line 195 of file Texture.h.

References Lamp::ArrayList< Material * >::add(), and getParentCount().

Referenced by Lamp::Material::setTextureReferense().

Texture::AddressMode Lamp::Texture::addressModeFromString (  const String &  addressModeString  )  [static]
 

文字列からアドレスモードへの変換

Parameters:
addressModeString アドレスモード文字列
Returns:
アドレスモード

Definition at line 97 of file Texture.cpp.

References AddressMode, Lamp::String::equals(), and ErrorOut.

const String & Lamp::Texture::addressModeToString (  AddressMode  addressMode  )  [static]
 

アドレスモードから文字列への変換

Parameters:
addressMode アドレスモード
Returns:
アドレスモード文字列

Definition at line 90 of file Texture.cpp.

References Assert.

virtual SurfaceTexture* Lamp::Texture::castSurfaceTexture (   )  const [inline, virtual]
 

サーフェーステクスチャへのキャスト

Returns:
サーフェーステクスチャ。型が違えばNULLを返す。

Definition at line 164 of file Texture.h.

References isSurfaceTexture(), and NULL.

Referenced by Lamp::FixedShader::setFixedTexture(), Lamp::TextSceneSaver::writeTextureList(), and Lamp::BinarySceneSaver::writeTextureList().

virtual Texture* Lamp::Texture::copy (  u_int  copyMask = 0  )  const [pure virtual]
 

コピー

Parameters:
copyMask コピーマスク
Returns:
コピーされたテクスチャ

Implemented in Lamp::SurfaceTexture.

Referenced by Lamp::BasicMaterial::copyBasicMaterial(), and copyTextureValue().

void Lamp::Texture::copyTextureValue (  Texture *  destination,
u_int  copyMask
)  const [protected, virtual]
 

テクスチャの値コピー

Parameters:
destination コピー先テクスチャ
copyMask コピーマスク

Definition at line 51 of file Texture.cpp.

References addPicture(), copy(), Lamp::SceneObject::copyPicture, getPicture(), and getPictureCount().

Referenced by Lamp::SurfaceTexture::copySurfaceTexture().

virtual Direct3DTexture* Lamp::Texture::getD3DTexture (   )  [protected, pure virtual]
 

D3Dテクスチャの取得.

Returns:
D3Dテクスチャの取得

Implemented in Lamp::SurfaceTexture.

Referenced by Lamp::RenderingDevice::setTexture().

virtual Material* Lamp::Texture::getParent (  int  index  )  const [inline, virtual]
 

親の取得

Parameters:
index 親のインデックス
Returns:
親

Definition at line 85 of file Texture.h.

References Assert, Lamp::ArrayList< Material * >::get(), and getParentCount().

Referenced by stateChanged().

virtual int Lamp::Texture::getParentCount (   )  const [inline, virtual]
 

親のサイズ取得

Returns:
親のサイズ

Definition at line 78 of file Texture.h.

References Lamp::ArrayList< Material * >::getCount().

Referenced by addReference(), getParent(), removeReference(), and stateChanged().

virtual Picture* Lamp::Texture::getPicture (  int  index  )  const [pure virtual]
 

ピクチャの取得

Parameters:
index インデックス
Returns:
ピクチャ

Implemented in Lamp::SurfaceTexture.

Referenced by copyTextureValue(), recursiveDestroy(), Lamp::TextSceneSaver::writeTextureLink(), and Lamp::BinarySceneSaver::writeTextureLink().

virtual int Lamp::Texture::getPictureCount (   )  const [pure virtual]
 

ピクチャ数の取得

Returns:
ピクチャ数

Implemented in Lamp::SurfaceTexture.

Referenced by copyTextureValue(), Lamp::SceneLogicCheckFilter::filterTexture(), recursiveDestroy(), Lamp::TextSceneSaver::writeTextureLink(), and Lamp::BinarySceneSaver::writeTextureLink().

virtual int Lamp::Texture::getReferenceCount (   )  const [inline, virtual]
 

リファレンスカウントの取得

Returns:
リファレンスカウント

Implements Lamp::SceneObject.

Definition at line 50 of file Texture.h.

References Lamp::ArrayList< Material * >::getCount().

Referenced by Lamp::SceneLogicCheckFilter::filterTexture().

virtual bool Lamp::Texture::isSurfaceTexture (   )  const [inline, virtual]
 

サーフェーステクスチャかどうか

Returns:
サーフェーステクスチャならtrue

Reimplemented in Lamp::SurfaceTexture.

Definition at line 158 of file Texture.h.

Referenced by castSurfaceTexture(), Lamp::TextSceneSaver::writeTextureList(), and Lamp::BinarySceneSaver::writeTextureList().

virtual bool Lamp::Texture::isTexture (   )  const [inline, virtual]
 

テクスチャかどうか

Returns:
テクスチャならtrue

Reimplemented from Lamp::SceneObject.

Definition at line 151 of file Texture.h.

int Lamp::Texture::recursiveDestroy (  Texture *  texture  )  [static]
 

再帰的破棄

Parameters:
texture 破棄するテクスチャ
Returns:
破棄したオブジェクト数

Definition at line 65 of file Texture.cpp.

References Assert, Lamp::SceneObjectManagerTemplate< Texture >::destroy(), getPicture(), getPictureCount(), Lamp::SceneObject::getScene(), Lamp::Scene::getTextureManager(), NULL, and removePicture().

virtual void Lamp::Texture::removePicture (  Picture *  picture  )  [pure virtual]
 

ピクチャの削除

Parameters:
picture 削除するピクチャ

Implemented in Lamp::SurfaceTexture.

Referenced by recursiveDestroy().

void Lamp::Texture::removePictureReference (  Picture *  picture  )  [protected, virtual]
 

ピクチャリファレンスの削除

Parameters:
picture リファレンスを削除するピクチャ

Definition at line 114 of file Texture.cpp.

References Lamp::Picture::removeReference().

Referenced by Lamp::SurfaceTexture::removePicture().

virtual int Lamp::Texture::removeReference (  Material *  parent  )  [inline, protected, virtual]
 

参照の削除

Parameters:
parent 親
Returns:
参照カウント

Definition at line 205 of file Texture.h.

References getParentCount(), and Lamp::ArrayList< Material * >::removeByValue().

Referenced by Lamp::Material::setTextureReferense().


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