Pyrogenesis  trunk
Public Member Functions | Public Attributes | List of all members
CModelDecal Class Reference

#include <Decal.h>

Inheritance diagram for CModelDecal:
Inheritance graph
[legend]
Collaboration diagram for CModelDecal:
Collaboration graph
[legend]

Public Member Functions

 CModelDecal (CTerrain *terrain, const SDecal &decal)
 
virtual CModelDecalToCModelDecal ()
 Dynamic cast. More...
 
virtual CModelAbstractClone () const
 
virtual void SetTerrainDirty (ssize_t i0, ssize_t j0, ssize_t i1, ssize_t j1)
 Called when terrain has changed in the given inclusive bounds. More...
 
virtual void CalcBounds ()
 (Re)calculates and stores any bounds or bound-dependent data for this object. More...
 
virtual void ValidatePosition ()
 Ensure that both the transformation and the bone matrices are correct for this model and all its props. More...
 
virtual void InvalidatePosition ()
 Mark this model's position and bone matrices, and all props' positions as invalid. More...
 
virtual void SetTransform (const CMatrix3D &transform)
 
void RemoveShadows ()
 
void CalcVertexExtents (ssize_t &i0, ssize_t &j0, ssize_t &i1, ssize_t &j1)
 Compute the terrain vertex indexes that bound the decal's projection onto the terrain. More...
 
- Public Member Functions inherited from CModelAbstract
 CModelAbstract ()
 
 ~CModelAbstract ()
 
virtual CModelDummyToCModelDummy ()
 Dynamic cast. More...
 
virtual CModelToCModel ()
 Dynamic cast. More...
 
virtual CModelParticleEmitterToCModelParticleEmitter ()
 Dynamic cast. More...
 
virtual const CBoundingBoxAligned GetWorldBoundsRec ()
 Returns world space bounds of this object and all child objects. More...
 
virtual const CBoundingBoxOrientedGetSelectionBox ()
 Returns the world-space selection box of this model. More...
 
virtual void InvalidateBounds ()
 Marks the bounds as invalid. More...
 
void SetCustomSelectionShape (CustomSelectionShape *descriptor)
 Sets a custom selection shape as described by a descriptor. More...
 
virtual const CBoundingBoxAligned GetObjectSelectionBoundsRec ()
 Returns the (object-space) bounds that should be used to construct a selection box for this model and its children. More...
 
virtual void SetEntityVariable (const std::string &name, float value)
 Called when the entity tries to set some variable to affect the display of this model and/or its child objects. More...
 
virtual void SetPlayerID (player_id_t id)
 
virtual player_id_t GetPlayerID () const
 
virtual void SetShadingColor (const CColor &color)
 
virtual const CColorGetShadingColor () const
 
- Public Member Functions inherited from CRenderableObject
 CRenderableObject ()
 
virtual ~CRenderableObject ()
 
const CMatrix3DGetTransform () const
 
const CMatrix3DGetInvTransform () const
 
void SetDirty (u32 dirtyflags)
 
const CBoundingBoxAlignedGetWorldBounds ()
 Returns the world-space axis-aligned bounds of this object. More...
 
void SetRenderData (CRenderData *renderdata)
 
CRenderDataGetRenderData ()
 Return object renderdata - can be null if renderer hasn't yet created the renderdata. More...
 

Public Attributes

CTerrainm_Terrain
 
SDecal m_Decal
 
- Public Attributes inherited from CModelAbstract
CModelAbstractm_Parent
 If non-null, points to the model that we are attached to. More...
 
bool m_PositionValid
 True if both transform and and bone matrices are valid. More...
 
player_id_t m_PlayerID
 
CColor m_ShadingColor
 Modulating color. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CModelAbstract
void CalcSelectionBox ()
 
- Protected Member Functions inherited from CRenderableObject
void RecalculateBoundsIfNecessary ()
 Factored out so subclasses don't need to repeat this if they want to add additional getters for bounds-related methods (since they'll have to make sure to recalc the bounds if necessary before they return it). More...
 
- Protected Attributes inherited from CModelAbstract
CBoundingBoxOriented m_SelectionBox
 Selection box for this model. More...
 
bool m_SelectionBoxValid
 Is the current selection box valid? More...
 
CustomSelectionShapem_CustomSelectionShape
 Pointer to a descriptor for a custom-defined selection box shape. More...
 
- Protected Attributes inherited from CRenderableObject
CBoundingBoxAligned m_WorldBounds
 World-space bounds of this object. More...
 
CMatrix3D m_Transform
 
CMatrix3D m_InvTransform
 
CRenderDatam_RenderData
 
bool m_BoundsValid
 Remembers whether any bounds need to be recalculated. More...
 

Constructor & Destructor Documentation

◆ CModelDecal()

CModelDecal::CModelDecal ( CTerrain terrain,
const SDecal decal 
)
inline

Member Function Documentation

◆ CalcBounds()

void CModelDecal::CalcBounds ( )
virtual

(Re)calculates and stores any bounds or bound-dependent data for this object.

At this abstraction level, this is only the world-space bounds stored in m_WorldBounds; subclasses may use this method to (re)compute additional bounds if necessary, or any data that depends on the bounds. Whenever bound-dependent data is requested through a public interface, RecalculateBoundsIfNecessary should be called first to ensure bound correctness, which will in turn call this method if it turns out that they're outdated.

See also
m_BoundsValid
RecalculateBoundsIfNecessary

Implements CRenderableObject.

◆ CalcVertexExtents()

void CModelDecal::CalcVertexExtents ( ssize_t i0,
ssize_t j0,
ssize_t i1,
ssize_t j1 
)

Compute the terrain vertex indexes that bound the decal's projection onto the terrain.

The returned indexes are clamped to the terrain size.

◆ Clone()

CModelAbstract * CModelDecal::Clone ( ) const
virtual

Implements CModelAbstract.

◆ InvalidatePosition()

void CModelDecal::InvalidatePosition ( )
virtual

Mark this model's position and bone matrices, and all props' positions as invalid.

Implements CModelAbstract.

◆ RemoveShadows()

void CModelDecal::RemoveShadows ( )

◆ SetTerrainDirty()

void CModelDecal::SetTerrainDirty ( ssize_t  i0,
ssize_t  j0,
ssize_t  i1,
ssize_t  j1 
)
virtual

Called when terrain has changed in the given inclusive bounds.

Might call SetDirty if the change affects this model.

Implements CModelAbstract.

◆ SetTransform()

void CModelDecal::SetTransform ( const CMatrix3D transform)
virtual

Reimplemented from CRenderableObject.

◆ ToCModelDecal()

virtual CModelDecal* CModelDecal::ToCModelDecal ( )
inlinevirtual

Dynamic cast.

Reimplemented from CModelAbstract.

◆ ValidatePosition()

void CModelDecal::ValidatePosition ( )
virtual

Ensure that both the transformation and the bone matrices are correct for this model and all its props.

Implements CModelAbstract.

Member Data Documentation

◆ m_Decal

SDecal CModelDecal::m_Decal

◆ m_Terrain

CTerrain* CModelDecal::m_Terrain

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