ScummVM API documentation
hpl::iRenderable Class Referenceabstract
Inheritance diagram for hpl::iRenderable:
hpl::iEntity3D hpl::iEntity hpl::iSaveObject hpl::cBeam hpl::cBillboard hpl::cColliderEntity hpl::cMeshEntity hpl::cSubMeshEntity hpl::iLight3D hpl::iParticleEmitter3D hpl::cLight3DPoint hpl::cLight3DSpot hpl::cParticleEmitter3D_UserData

Public Member Functions

 iRenderable (const tString &asName)
 
bool IsRendered ()
 
virtual void SetRendered (bool abX)
 
virtual iMaterialGetMaterial ()=0
 
virtual iVertexBufferGetVertexBuffer ()=0
 
virtual bool IsShadowCaster ()=0
 
virtual bool CollidesWithBV (cBoundingVolume *apBV)
 
virtual bool CollidesWithFrustum (cFrustum *apFrustum)
 
virtual cMatrixfGetModelMatrix (cCamera3D *apCamera)=0
 
virtual eRenderableType GetRenderType ()=0
 
virtual void UpdateGraphics (cCamera3D *apCamera, float afFrameTime, cRenderList *apRenderList)
 
virtual int GetMatrixUpdateCount ()=0
 
float GetZ ()
 
void SetZ (float afZ)
 
cMatrixfGetInvModelMatrix ()
 
void SetPrevMatrix (const cMatrixf &a_mtxPrev)
 
cMatrixfGetPrevMatrix ()
 
const cVector3fGetCalcScale ()
 
void SetStatic (bool abX)
 
bool IsStatic () const
 
int GetRenderCount () const
 
void SetRenderCount (const int alCount)
 
int GetPrevRenderCount () const
 
void SetPrevRenderCount (const int alCount)
 
void SetForceShadow (bool abX)
 
bool GetForceShadow ()
 
bool GetIsOneSided ()
 
const cVector3fGetOneSidedNormal ()
 
virtual iSaveDataCreateSaveData ()
 
virtual void SaveToSaveData (iSaveData *apSaveData)
 
virtual void LoadFromSaveData (iSaveData *apSaveData)
 
virtual void SaveDataSetup (cSaveObjectHandler *apSaveObjectHandler, cGame *apGame)
 
- Public Member Functions inherited from hpl::iEntity3D
 iEntity3D (tString asName)
 
cVector3f GetLocalPosition ()
 
cMatrixfGetLocalMatrix ()
 
cVector3f GetWorldPosition ()
 
cMatrixfGetWorldMatrix ()
 
void SetPosition (const cVector3f &avPos)
 
void SetMatrix (const cMatrixf &a_mtxTransform)
 
void SetWorldPosition (const cVector3f &avWorldPos)
 
void SetWorldMatrix (const cMatrixf &a_mtxWorldTransform)
 
void SetTransformUpdated (bool abUpdateCallbacks=true)
 
bool GetTransformUpdated ()
 
int GetTransformUpdateCount ()
 
void AddCallback (iEntityCallback *apCallback)
 
void RemoveCallback (iEntityCallback *apCallback)
 
void SetSourceFile (const tString &asFile)
 
const tStringGetSourceFile ()
 
virtual cBoundingVolumeGetBoundingVolume ()
 
void AddChild (iEntity3D *apEntity)
 
void RemoveChild (iEntity3D *apEntity)
 
bool IsChild (iEntity3D *apEntity)
 
iEntity3DGetEntityParent ()
 
virtual tRenderContainerDataListGetRenderContainerDataList ()
 
int GetIteratorCount ()
 
void SetIteratorCount (const int alX)
 
void SetCurrentSector (cSector *apSetor)
 
virtual cSectorGetCurrentSector () const
 
bool IsInSector (cSector *apSector)
 
int GetGlobalRenderCount ()
 
void SetGlobalRenderCount (int alX)
 
- Public Member Functions inherited from hpl::iEntity
 iEntity (tString asName)
 
virtual tString GetEntityType ()=0
 
virtual void UpdateLogic (float afTimeStep)
 
tStringGetName ()
 
void SetName (const tString &asName)
 
iNodeGetParent ()
 
void SetParent (iNode *apNode)
 
bool HasParent ()
 
bool IsActive ()
 
void SetActive (bool abActive)
 
virtual bool IsVisible ()
 
virtual void SetVisible (bool abVisible)
 
- Public Member Functions inherited from hpl::iSaveObject
int GetSaveObjectId ()
 
void SetIsSaved (bool abX)
 
bool IsSaved ()
 

Protected Attributes

cMatrixf m_mtxInvModel
 
cMatrixf m_mtxPrevious
 
bool mbIsOneSided
 
cVector3f mvOneSidedNormal
 
int mlLastMatrixCount
 
bool mbStatic
 
bool mbForceShadow
 
int mlRenderCount
 
int mlPrevRenderCount
 
int mlCalcScaleMatrixCount
 
cVector3f mvCalcScale
 
bool mbRendered
 
float mfZ
 
- Protected Attributes inherited from hpl::iEntity3D
cMatrixf m_mtxLocalTransform
 
cMatrixf m_mtxWorldTransform
 
cBoundingVolume mBoundingVolume
 
bool mbUpdateBoundingVolume
 
bool mbApplyTransformToBV
 
bool mbTransformUpdated
 
int mlGlobalRenderCount
 
int mlCount
 
tString msSourceFile
 
tEntityCallbackList mlstCallbacks
 
tRenderContainerDataList mlstRenderContainerData
 
tEntity3DList mlstChildren
 
iEntity3DmpParent
 
cSectormpCurrentSector
 
int mlIteratorCount
 
- Protected Attributes inherited from hpl::iEntity
iNodempParentNode
 
tString msName
 
bool mbIsVisible
 
bool mbIsActive
 
- Protected Attributes inherited from hpl::iSaveObject
iSaveDatampSaveData
 

Member Function Documentation

◆ GetMatrixUpdateCount()

virtual int hpl::iRenderable::GetMatrixUpdateCount ( )
pure virtual

Should return a different number each time the renderable model matrix is updated. never -1

Returns

Implemented in hpl::cMeshEntity, hpl::iLight3D, hpl::cBillboard, hpl::cBeam, hpl::iParticleEmitter3D, hpl::cSubMeshEntity, and hpl::cColliderEntity.

◆ CreateSaveData()

virtual iSaveData* hpl::iRenderable::CreateSaveData ( )
virtual

Creates the SaveData that this class uses.

Reimplemented from hpl::iEntity3D.

Reimplemented in hpl::cMeshEntity, hpl::iLight3D, hpl::cSubMeshEntity, hpl::cBillboard, hpl::iParticleEmitter3D, hpl::cLight3DSpot, and hpl::cLight3DPoint.

◆ SaveToSaveData()

virtual void hpl::iRenderable::SaveToSaveData ( iSaveData apSaveData)
virtual

◆ LoadFromSaveData()

virtual void hpl::iRenderable::LoadFromSaveData ( iSaveData apSaveData)
virtual

◆ SaveDataSetup()

virtual void hpl::iRenderable::SaveDataSetup ( cSaveObjectHandler apSaveObjectHandler,
cGame apGame 
)
virtual

After all objects have been created, this function is called to enable setup.

Reimplemented from hpl::iEntity3D.

Reimplemented in hpl::cMeshEntity, hpl::iLight3D, hpl::cSubMeshEntity, hpl::cBillboard, hpl::iParticleEmitter3D, hpl::cLight3DSpot, and hpl::cLight3DPoint.


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