Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
ICmpTerrain Class Referenceabstract

#include <ICmpTerrain.h>

Inheritance diagram for ICmpTerrain:
IComponent CCmpTerrain MockTerrain

Public Member Functions

virtual bool IsLoaded ()=0
 
virtual CFixedVector3D CalcNormal (entity_pos_t x, entity_pos_t z)=0
 
virtual CVector3D CalcExactNormal (float x, float z)=0
 
virtual entity_pos_t GetGroundLevel (entity_pos_t x, entity_pos_t z)=0
 
virtual float GetExactGroundLevel (float x, float z)=0
 
virtual u16 GetTilesPerSide ()=0
 Returns number of tiles per side on the terrain. More...
 
virtual u16 GetVerticesPerSide ()=0
 Returns number of vertices per side on the terrain. More...
 
virtual CTerrainGetCTerrain ()=0
 
virtual void ReloadTerrain ()=0
 Call when the underlying CTerrain has been modified behind our backs. More...
 
virtual void MakeDirty (i32 i0, i32 j0, i32 i1, i32 j1)=0
 Indicate that terrain tiles within the given region (inclusive lower bound, exclusive upper bound) have been changed. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void Init (const CParamNode &paramNode)=0
 
virtual void Deinit ()=0
 
virtual void HandleMessage (const CMessage &msg, bool global)
 
CEntityHandle GetEntityHandle () const
 
void SetEntityHandle (CEntityHandle ent)
 
entity_id_t GetEntityId () const
 
CEntityHandle GetSystemEntity () const
 
const CSimContextGetSimContext () const
 
void SetSimContext (const CSimContext &context)
 
virtual void Serialize (ISerializer &serialize)=0
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)=0
 
virtual JSClass * GetJSClass () const
 
virtual jsval GetJSInstance () const
 

Additional Inherited Members

- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static u8 GetSerializationVersion ()
 

Detailed Description

Definition at line 30 of file ICmpTerrain.h.

Member Function Documentation

virtual CVector3D ICmpTerrain::CalcExactNormal ( float  x,
float  z 
)
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual CFixedVector3D ICmpTerrain::CalcNormal ( entity_pos_t  x,
entity_pos_t  z 
)
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual CTerrain* ICmpTerrain::GetCTerrain ( )
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual float ICmpTerrain::GetExactGroundLevel ( float  x,
float  z 
)
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual entity_pos_t ICmpTerrain::GetGroundLevel ( entity_pos_t  x,
entity_pos_t  z 
)
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual u16 ICmpTerrain::GetTilesPerSide ( )
pure virtual

Returns number of tiles per side on the terrain.

Return value is always non-zero.

Implemented in MockTerrain, and CCmpTerrain.

virtual u16 ICmpTerrain::GetVerticesPerSide ( )
pure virtual

Returns number of vertices per side on the terrain.

Return value is always non-zero.

Implemented in MockTerrain, and CCmpTerrain.

virtual bool ICmpTerrain::IsLoaded ( )
pure virtual

Implemented in MockTerrain, and CCmpTerrain.

virtual void ICmpTerrain::MakeDirty ( i32  i0,
i32  j0,
i32  i1,
i32  j1 
)
pure virtual

Indicate that terrain tiles within the given region (inclusive lower bound, exclusive upper bound) have been changed.

CMessageTerrainChanged will be sent to any components that care about terrain changes.

Implemented in MockTerrain, and CCmpTerrain.

virtual void ICmpTerrain::ReloadTerrain ( )
pure virtual

Call when the underlying CTerrain has been modified behind our backs.

(TODO: eventually we should manage the CTerrain in this class so nobody can modify it behind our backs).

Implemented in MockTerrain, and CCmpTerrain.


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