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

Lamp::Light Class Reference

ライト More...

#include <Light.h>

Inheritance diagram for Lamp::Light:

Lamp::SceneLeaf Lamp::SceneObject Lamp::GlobalLight Lamp::LocalLight Lamp::AmbientLight Lamp::DirectionalLight Lamp::PointLight List of all members.

Public Member Functions

virtual Light * copyLight () const=0
 コピー

virtual void setColor (const Color3f &color)=0
 ライト色の設定

virtual Color3f getColor () const=0
 ライト色の取得

virtual float getLuminance () const
 輝度の取得

virtual void setLightMask (u_int lightMask)
 ライトマスクの設定

virtual u_int getLightMask () const
 ライトマスクの取得

virtual bool isLight () const
 ライトかどうか

virtual bool isGlobalLight () const
 グローバルライトかどうか

virtual GlobalLight * castGlobalLight () const
 グローバルライトへのキャスト

virtual bool isLocalLight () const
 ローカルライトかどうか

virtual LocalLight * castLocalLight () const
 ローカルライトへのキャスト

virtual bool isAmbientLight () const
 アンビエントライトかどうか

virtual AmbientLight * castAmbientLight () const
 アンビエントライトへのキャスト

virtual bool isDirectionalLight () const
 ディレクショナルライトかどうか

virtual DirectionalLight * castDirectionalLight () const
 ディレクショナルライトへのキャスト

virtual bool isPointLight () const
 ポイントライトかどうか

virtual PointLight * castPointLight () const
 ポイントライトへのキャスト


Static Public Member Functions

int destroy (Light *light)
 破棄


Protected Member Functions

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

virtual ~Light ()
 デストラクタ

virtual void copyLightValue (Light *destination) const
 ライトの値コピー


Friends

class SceneObjectManagerTemplate< Light >
class LightManager

Detailed Description

ライト

Definition at line 42 of file Light.h.


Constructor & Destructor Documentation

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

コンストラクタ

Parameters:
name 名前
scene シーン

Definition at line 34 of file Light.cpp.


Member Function Documentation

virtual AmbientLight* Lamp::Light::castAmbientLight (   )  const [inline, virtual]
 

アンビエントライトへのキャスト

Returns:
アンビエントライト。型が違えばNULLを返す。

Definition at line 145 of file Light.h.

References isAmbientLight(), and NULL.

Referenced by Lamp::Renderer::initializeDrawRequest(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual DirectionalLight* Lamp::Light::castDirectionalLight (   )  const [inline, virtual]
 

ディレクショナルライトへのキャスト

Returns:
ディレクショナルライト。型が違えばNULLを返す。

Definition at line 161 of file Light.h.

References isDirectionalLight(), and NULL.

Referenced by Lamp::Renderer::initializeDrawRequest(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual GlobalLight* Lamp::Light::castGlobalLight (   )  const [inline, virtual]
 

グローバルライトへのキャスト

Returns:
グローバルライト。型が違えばNULLを返す。

Definition at line 113 of file Light.h.

References isGlobalLight(), and NULL.

virtual LocalLight* Lamp::Light::castLocalLight (   )  const [inline, virtual]
 

ローカルライトへのキャスト

Returns:
ローカルライト。型が違えばNULLを返す。

Definition at line 129 of file Light.h.

References isLocalLight(), and NULL.

virtual PointLight* Lamp::Light::castPointLight (   )  const [inline, virtual]
 

ポイントライトへのキャスト

Returns:
ポイントライト。型が違えばNULLを返す。

Definition at line 177 of file Light.h.

References isPointLight(), and NULL.

Referenced by Lamp::Scene::getLocalLightList(), Lamp::FixedShader::setupFixedLight(), Lamp::DrawRequest::sortLocalLightsImprement(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual Light* Lamp::Light::copyLight (   )  const [pure virtual]
 

コピー

Returns:
コピーされたライト

Implemented in Lamp::AmbientLight, Lamp::DirectionalLight, and Lamp::PointLight.

void Lamp::Light::copyLightValue (  Light *  destination  )  const [protected, virtual]
 

ライトの値コピー

Parameters:
destination コピー先ライト

Definition at line 43 of file Light.cpp.

References Lamp::SceneLeaf::copySceneLeafValue(), and setLightMask().

Referenced by Lamp::AmbientLight::copyAmbientLight(), Lamp::DirectionalLight::copyDirectionalLight(), and Lamp::PointLight::copyPointLight().

int Lamp::Light::destroy (  Light *  light  )  [static]
 

破棄

Parameters:
light 破棄するライト
Returns:
破棄したオブジェクト数

Definition at line 51 of file Light.cpp.

References Assert, Lamp::SceneObjectManagerTemplate< Light >::destroy(), Lamp::Scene::getLightManager(), Lamp::SceneObject::getScene(), and NULL.

virtual Color3f Lamp::Light::getColor (   )  const [pure virtual]
 

ライト色の取得

Returns:
ライト色

Implemented in Lamp::AmbientLight, Lamp::DirectionalLight, and Lamp::PointLight.

Referenced by getLuminance().

virtual u_int Lamp::Light::getLightMask (   )  const [inline, virtual]
 

ライトマスクの取得

Returns:
ライトマスク

Definition at line 91 of file Light.h.

References u_int.

Referenced by Lamp::DrawRequest::getAmbientColor(), Lamp::Scene::getLocalLightList(), Lamp::FixedShader::setupFixedLight(), Lamp::TextSceneSaver::writeLight(), and Lamp::BinarySceneSaver::writeLight().

virtual float Lamp::Light::getLuminance (   )  const [inline, virtual]
 

輝度の取得

Returns:
輝度

Definition at line 78 of file Light.h.

References getColor(), and Lamp::Color3f::getLuminance().

virtual bool Lamp::Light::isAmbientLight (   )  const [inline, virtual]
 

アンビエントライトかどうか

Returns:
アンビエントライトならtrue

Reimplemented in Lamp::AmbientLight.

Definition at line 139 of file Light.h.

Referenced by castAmbientLight(), Lamp::Renderer::initializeDrawRequest(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual bool Lamp::Light::isDirectionalLight (   )  const [inline, virtual]
 

ディレクショナルライトかどうか

Returns:
ディレクショナルライトならtrue

Reimplemented in Lamp::DirectionalLight.

Definition at line 155 of file Light.h.

Referenced by castDirectionalLight(), Lamp::Renderer::initializeDrawRequest(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual bool Lamp::Light::isGlobalLight (   )  const [inline, virtual]
 

グローバルライトかどうか

Returns:
グローバルライトならtrue

Reimplemented in Lamp::GlobalLight.

Definition at line 107 of file Light.h.

Referenced by castGlobalLight().

virtual bool Lamp::Light::isLight (   )  const [inline, virtual]
 

ライトかどうか

Returns:
ライトならtrue

Reimplemented from Lamp::SceneObject.

Definition at line 100 of file Light.h.

virtual bool Lamp::Light::isLocalLight (   )  const [inline, virtual]
 

ローカルライトかどうか

Returns:
ローカルライトならtrue

Reimplemented in Lamp::LocalLight.

Definition at line 123 of file Light.h.

Referenced by castLocalLight(), and Lamp::Scene::getLocalLightList().

virtual bool Lamp::Light::isPointLight (   )  const [inline, virtual]
 

ポイントライトかどうか

Returns:
ポイントライトならtrue

Reimplemented in Lamp::PointLight.

Definition at line 171 of file Light.h.

Referenced by castPointLight(), Lamp::Scene::getLocalLightList(), Lamp::FixedShader::setupFixedLight(), Lamp::TextSceneSaver::writeLightList(), and Lamp::BinarySceneSaver::writeLightList().

virtual void Lamp::Light::setColor (  const Color3f &  color  )  [pure virtual]
 

ライト色の設定

Parameters:
color ライト色

Implemented in Lamp::AmbientLight, Lamp::DirectionalLight, and Lamp::PointLight.

virtual void Lamp::Light::setLightMask (  u_int  lightMask  )  [inline, virtual]
 

ライトマスクの設定

Parameters:
lightMask ライトマスク

Definition at line 85 of file Light.h.

Referenced by copyLightValue(), Lamp::TextSceneLoader::readLight(), and Lamp::BinarySceneLoader::readLight().


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