Kochol Game Engine  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
kge::sn::Light Class Reference

#include <Light.h>

Inheritance diagram for kge::sn::Light:
kge::sn::SceneNode kge::KgeUnknown

Public Member Functions

 Light (gfx::LightData *light, SceneManager *smgr, gfx::Renderer *renderer)
 Constructor.
 ~Light ()
 Destructor.
void PreRender (float elapsedTime=0.0f)
 Karhayee ke Ghabl az render bayad anjam shvad. Mesle colision detection.
void Render ()
 Render kardane Object.
void PostRender ()
 Karhaee ke bad az render bayad anjam beshe.
bool AddEffect (efx::EffectType p, efx::Effect **ppOut)
void Draw (bool WithMaterial, bool WithTransform, bool bPosition, bool bNormalTexcoord, bool bTangentBinormal)
virtual void SetPosition (const math::Vector &v)
 Set the position of the light.
virtual const math::VectorGetPosition () const
 Returns the light position.
virtual bool IsPositionChanged ()
 Returns true if the light position changed since this function last call.
gfx::LightDataGetLightData () const
 Returns the light data to read/write them.
- Public Member Functions inherited from kge::sn::SceneNode
 SceneNode ()
 Constructor.
virtual ~SceneNode ()
 Destructor.
virtual void AddChild (SceneNode *child)
 Adds a node as child.
virtual void SetSceneManager (SceneManager *smgr)
 Sets the scene manager and renderer pointer.
virtual void SetRotation (const math::Vector &v)
 Set the rotation of the scenenode.
virtual void SetScale (const math::Vector &v)
 Set the scale of the scenenode.
virtual void SetAutomaticCulling (bool isTrue)
 Set Cutting Enable or Disable.
virtual void SetVisible (bool isVisible)
 Set Visible Enable or Disable.
virtual bool GetVisible ()
 Get Visible.
virtual bool IsVisibleInFrame ()
 Is it visible in this frame?
virtual const math::VectorGetRotation () const
 Returns the node rotation.
virtual const math::VectorGetScale () const
 Returns the node scale.
virtual math::MatrixGetAbsoluteMatrix () const
 Get the absolute matrix.
virtual math::MatrixGetFinalMatrix ()
 Get the final matrix.
virtual u32 GetMaterialCount ()
 Get the count of materials this node has.
virtual gfx::MaterialGetMaterial (u32 Index)
virtual math::SphereGetBoundingBox ()
 Returns the node bounding box.
virtual math::AABBGetAxisAlignedBoundingBox ()
 Returns the node Axis aligned bounding box.
virtual NodeType GetType () const
 Returns the node type.
virtual void RemoveChild (SceneNode *child)
virtual void RemoveChildren ()
 Removes all children of this node.
virtual const SceneNodeGetParent ()
 Returns the node parent.
virtual void SetParent (SceneNode *parent)
 Sets the node parent.
virtual void SetName (const char *name)
 Sets the node name.
virtual core::StringGetName ()
 Gets the node name.
virtual void SetID (int ID)
 Sets the node ID.
virtual int GetID ()
 Gets the node ID.
void EnableShadow (bool enable)
bool HasShadow () const
virtual void UpdateFinalMat ()
 Update final matrix.
- Public Member Functions inherited from kge::KgeUnknown
 KgeUnknown ()
 Constructor.
virtual ~KgeUnknown ()
 Destructor.
virtual void AddRef ()
 Add a reference to the object.
virtual void DecRef ()
 Decrease a reference from the object. if its reference count get 0 then the object will destroy.
u32 GetRefCount ()
 Return resource reference count.
const char * GetDebugText ()
 returns the instance debug text.

Protected Attributes

gfx::LightDatam_pLight
bool m_bPosChanged
- Protected Attributes inherited from kge::sn::SceneNode
core::String m_sName
int m_iID
SceneManagerm_pSnMan
gfx::Rendererm_pRenderer
bool m_bVis
bool m_bAutoCulling
bool m_bVisFrame
SceneNodem_pParent
std::vector< SceneNode * > m_vChilds
std::vector< int > m_vEffectType
std::vector< efx::Effect * > m_vEffect
math::Matrixm_pAbsMat
math::Matrixm_pFinalMat
math::Vector m_Position
math::Vector m_Rotation
math::Vector m_Scale
math::Spherem_pBB
math::AABBm_pAABB
NodeType m_eNodeType
bool m_hasShadow

Additional Inherited Members

- Protected Member Functions inherited from kge::sn::SceneNode
virtual bool HasThisEffect (efx::EffectType p)

Detailed Description

Definition at line 16 of file Light.h.

Constructor & Destructor Documentation

kge::sn::Light::Light ( gfx::LightData light,
SceneManager smgr,
gfx::Renderer renderer 
)

Constructor.

kge::sn::Light::~Light ( )

Destructor.

Member Function Documentation

bool kge::sn::Light::AddEffect ( efx::EffectType  p,
efx::Effect **  ppOut 
)
virtual

Ezafe kardane effect be hamin gereh.

Parameters
pEffecti ke mikhahid ezafe konid.
ppOutClass Effect sakhte shode.
Returns
agar ke in gereh betavanad in effect ra bepazirad true bar migardanad.

Reimplemented from kge::sn::SceneNode.

void kge::sn::Light::Draw ( bool  WithMaterial,
bool  WithTransform,
bool  bPosition,
bool  bNormalTexcoord,
bool  bTangentBinormal 
)
virtual

Draw the node with/without its Materials and Transforms.

Parameters
WithMaterialDraw it with its own materials or not?
WithMaterialDraw it with its own Transformations or not?

Implements kge::sn::SceneNode.

gfx::LightData* kge::sn::Light::GetLightData ( ) const

Returns the light data to read/write them.

virtual const math::Vector& kge::sn::Light::GetPosition ( ) const
virtual

Returns the light position.

Reimplemented from kge::sn::SceneNode.

virtual bool kge::sn::Light::IsPositionChanged ( )
virtual

Returns true if the light position changed since this function last call.

void kge::sn::Light::PostRender ( )
virtual

Karhaee ke bad az render bayad anjam beshe.

Implements kge::sn::SceneNode.

void kge::sn::Light::PreRender ( float  elapsedTime = 0.0f)
virtual

Karhayee ke Ghabl az render bayad anjam shvad. Mesle colision detection.

Implements kge::sn::SceneNode.

void kge::sn::Light::Render ( )
virtual

Render kardane Object.

Implements kge::sn::SceneNode.

virtual void kge::sn::Light::SetPosition ( const math::Vector v)
virtual

Set the position of the light.

Reimplemented from kge::sn::SceneNode.

Member Data Documentation

bool kge::sn::Light::m_bPosChanged
protected

Definition at line 63 of file Light.h.

gfx::LightData* kge::sn::Light::m_pLight
protected

Definition at line 61 of file Light.h.


The documentation for this class was generated from the following file: