Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
DecalMeshClass Class Referenceabstract

#include <decalmsh.h>

Inherits RefCountClass.

Inherited by RigidDecalMeshClass, and SkinDecalMeshClass.

Public Member Functions

 DecalMeshClass (MeshClass *parent, DecalSystemClass *system)
 
virtual ~DecalMeshClass (void)
 
virtual void Render (void)=0
 
virtual bool Create_Decal (DecalGeneratorClass *generator, const OBBoxClass &localbox, SimpleDynVecClass< uint32 > &apt, const DynamicVectorClass< Vector3 > *world_vertex_locs=0)=0
 
virtual bool Delete_Decal (uint32 id)=0
 
virtual int Decal_Count (void)=0
 
virtual uint32 Get_Decal_ID (int decal_index)=0
 
MeshClassPeek_Parent (void)
 
DecalSystemClassPeek_System (void)
 
DecalMeshClassPeek_Next_Visible (void)
 
void Set_Next_Visible (DecalMeshClass *mesh)
 
- Public Member Functions inherited from RefCountClass
 RefCountClass (void)
 
 RefCountClass (const RefCountClass &)
 
void Add_Ref (void) const
 
WWINLINE void Release_Ref (void) const
 
int Num_Refs (void) const
 
virtual void Delete_This (void)
 

Protected Attributes

MeshClassParent
 
DecalSystemClassDecalSystem
 
DecalMeshClassNextVisible
 

Additional Inherited Members

- Static Public Member Functions inherited from RefCountClass
static int Total_Refs (void)
 
static RefCountClassAdd_Active_Ref (RefCountClass *obj)
 
static RefCountClassSet_Ref_Owner (RefCountClass *obj, char *file, int line)
 
static void Remove_Active_Ref (RefCountClass *obj)
 
static bool Validate_Active_Ref (RefCountClass *obj)
 
- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Detailed Description

DecalMeshClass This is a "subordinate" class to MeshModel which simply adds "decal" polygons to the mesh. These polygons will always be exact copies of polygons already in the parent mesh.

Design Goals:

  • Each decal can have its own material settings
  • Dynamically growing array of decals
  • Each decal is assigned a unique "logical-decal-id" by the decal manager
  • A decal mesh may be instructed to remove a specified "logical-decal"

DecalMeshClass is an abstract base class from which we derive concrete classes.

Definition at line 79 of file decalmsh.h.

Constructor & Destructor Documentation

◆ DecalMeshClass()

DecalMeshClass::DecalMeshClass ( MeshClass * parent,
DecalSystemClass * system )

Definition at line 198 of file decalmsh.cpp.

◆ ~DecalMeshClass()

DecalMeshClass::~DecalMeshClass ( void )
virtual

Definition at line 219 of file decalmsh.cpp.

Member Function Documentation

◆ Create_Decal()

virtual bool DecalMeshClass::Create_Decal ( DecalGeneratorClass * generator,
const OBBoxClass & localbox,
SimpleDynVecClass< uint32 > & apt,
const DynamicVectorClass< Vector3 > * world_vertex_locs = 0 )
pure virtual

◆ Decal_Count()

virtual int DecalMeshClass::Decal_Count ( void )
pure virtual

◆ Delete_Decal()

virtual bool DecalMeshClass::Delete_Decal ( uint32 id)
pure virtual

◆ Get_Decal_ID()

virtual uint32 DecalMeshClass::Get_Decal_ID ( int decal_index)
pure virtual

◆ Peek_Next_Visible()

DecalMeshClass * DecalMeshClass::Peek_Next_Visible ( void )
inline

Definition at line 105 of file decalmsh.h.

◆ Peek_Parent()

MeshClass * DecalMeshClass::Peek_Parent ( void )
inline

Definition at line 252 of file decalmsh.h.

◆ Peek_System()

DecalSystemClass * DecalMeshClass::Peek_System ( void )
inline

Definition at line 257 of file decalmsh.h.

◆ Render()

virtual void DecalMeshClass::Render ( void )
pure virtual

◆ Set_Next_Visible()

void DecalMeshClass::Set_Next_Visible ( DecalMeshClass * mesh)
inline

Definition at line 106 of file decalmsh.h.

Member Data Documentation

◆ DecalSystem

DecalSystemClass* DecalMeshClass::DecalSystem
protected

Definition at line 114 of file decalmsh.h.

◆ NextVisible

DecalMeshClass* DecalMeshClass::NextVisible
protected

Definition at line 115 of file decalmsh.h.

◆ Parent

MeshClass* DecalMeshClass::Parent
protected

Definition at line 113 of file decalmsh.h.


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