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

#include <vertmaterial.h>

Inherits W3DMPO, and RefCountClass.

Public Types

enum  MappingType { MAPPING_NONE = -1 , MAPPING_UV = W3DMAPPING_UV , MAPPING_ENVIRONMENT = W3DMAPPING_ENVIRONMENT }
 
enum  FlagsType { DEPTH_CUE = 0 , DEPTH_CUE_TO_ALPHA , COPY_SPECULAR_TO_DIFFUSE }
 
enum  ColorSourceType { MATERIAL = 0 , COLOR1 , COLOR2 }
 
enum  PresetType { PRELIT_DIFFUSE =0 , PRELIT_NODIFFUSE , PRESET_COUNT }
 

Public Member Functions

 VertexMaterialClass (void)
 
 VertexMaterialClass (const VertexMaterialClass &src)
 
 ~VertexMaterialClass (void)
 
VertexMaterialClassoperator= (const VertexMaterialClass &src)
 
VertexMaterialClassClone (void)
 
void Set_Name (const char *name)
 
const char * Get_Name (void) const
 
void Set_Flag (FlagsType flag, bool onoff)
 
int Get_Flag (FlagsType flag)
 
float Get_Shininess (void) const
 
void Set_Shininess (float shin)
 
float Get_Opacity (void) const
 
void Set_Opacity (float o)
 
void Get_Ambient (Vector3 *set_color) const
 
void Set_Ambient (const Vector3 &color)
 
void Set_Ambient (float r, float g, float b)
 
void Get_Diffuse (Vector3 *set_color) const
 
void Set_Diffuse (const Vector3 &color)
 
void Set_Diffuse (float r, float g, float b)
 
void Get_Specular (Vector3 *set_color) const
 
void Set_Specular (const Vector3 &color)
 
void Set_Specular (float r, float g, float b)
 
void Get_Emissive (Vector3 *set_color) const
 
void Set_Emissive (const Vector3 &color)
 
void Set_Emissive (float r, float g, float b)
 
void Set_Lighting (bool lighting)
 
bool Get_Lighting () const
 
void Set_Ambient_Color_Source (ColorSourceType src)
 
ColorSourceType Get_Ambient_Color_Source (void)
 
void Set_Emissive_Color_Source (ColorSourceType src)
 
ColorSourceType Get_Emissive_Color_Source (void)
 
void Set_Diffuse_Color_Source (ColorSourceType src)
 
ColorSourceType Get_Diffuse_Color_Source (void)
 
void Set_UV_Source (int stage, int array_index)
 
int Get_UV_Source (int stage)
 
void Set_Mapper (TextureMapperClass *mapper, int stage=0)
 
TextureMapperClassGet_Mapper (int stage=0)
 
TextureMapperClassPeek_Mapper (int stage=0)
 
void Reset_Mappers (void)
 
WW3DErrorType Load_W3D (ChunkLoadClass &cload)
 
WW3DErrorType Save_W3D (ChunkSaveClass &csave)
 
void Parse_W3dVertexMaterialStruct (const W3dVertexMaterialStruct &vmat)
 
void Parse_Mapping_Args (const W3dVertexMaterialStruct &vmat, char *mapping0_arg_buffer, char *mapping1_arg_buffer)
 
void Init_From_Material3 (const W3dMaterial3Struct &mat3)
 
unsigned long Get_CRC (void) const
 
bool Do_Mappers_Need_Normals (void) const
 
bool Are_Mappers_Time_Variant (void) const
 
void Make_Unique ()
 
- Public Member Functions inherited from W3DMPO
virtual ~W3DMPO ()
 
- 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)
 

Static Public Member Functions

static void Init ()
 
static void Shutdown ()
 
static VertexMaterialClassGet_Preset (PresetType type)
 
- 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)
 

Additional Inherited Members

- Public Attributes inherited from RefCountClass
RefCountNodeClass ActiveRefNode
 
ActiveRefStruct ActiveRefInfo
 
- Static Public Attributes inherited from RefCountClass
static RefCountListClass ActiveRefList
 
- Protected Member Functions inherited from W3DMPO
virtual int glueEnforcer () const =0
 
- Protected Member Functions inherited from RefCountClass
virtual ~RefCountClass (void)
 

Detailed Description

VertexMaterialClass This is simply the typical W3D thin-wrapper around the surrender vertex material. The vertex material defines things like the lighting properties of a vertex.

Definition at line 72 of file vertmaterial.h.

Member Enumeration Documentation

◆ ColorSourceType

Enumerator
MATERIAL 
COLOR1 
COLOR2 

Definition at line 97 of file vertmaterial.h.

◆ FlagsType

Enumerator
DEPTH_CUE 
DEPTH_CUE_TO_ALPHA 
COPY_SPECULAR_TO_DIFFUSE 

Definition at line 91 of file vertmaterial.h.

◆ MappingType

Enumerator
MAPPING_NONE 
MAPPING_UV 
MAPPING_ENVIRONMENT 

Definition at line 85 of file vertmaterial.h.

◆ PresetType

Enumerator
PRELIT_DIFFUSE 
PRELIT_NODIFFUSE 
PRESET_COUNT 

Definition at line 103 of file vertmaterial.h.

Constructor & Destructor Documentation

◆ VertexMaterialClass() [1/2]

VertexMaterialClass::VertexMaterialClass ( void )

Definition at line 74 of file vertmaterial.cpp.

◆ VertexMaterialClass() [2/2]

VertexMaterialClass::VertexMaterialClass ( const VertexMaterialClass & src)

Definition at line 108 of file vertmaterial.cpp.

◆ ~VertexMaterialClass()

VertexMaterialClass::~VertexMaterialClass ( void )

Definition at line 152 of file vertmaterial.cpp.

Member Function Documentation

◆ Are_Mappers_Time_Variant()

bool VertexMaterialClass::Are_Mappers_Time_Variant ( void ) const
inline

Definition at line 315 of file vertmaterial.h.

◆ Clone()

VertexMaterialClass * VertexMaterialClass::Clone ( void )
inline

Definition at line 116 of file vertmaterial.h.

◆ Do_Mappers_Need_Normals()

bool VertexMaterialClass::Do_Mappers_Need_Normals ( void ) const
inline

Definition at line 307 of file vertmaterial.h.

◆ Get_Ambient()

void VertexMaterialClass::Get_Ambient ( Vector3 * set_color) const

Definition at line 232 of file vertmaterial.cpp.

◆ Get_Ambient_Color_Source()

VertexMaterialClass::ColorSourceType VertexMaterialClass::Get_Ambient_Color_Source ( void )

Definition at line 383 of file vertmaterial.cpp.

◆ Get_CRC()

unsigned long VertexMaterialClass::Get_CRC ( void ) const
inline

Definition at line 217 of file vertmaterial.h.

◆ Get_Diffuse()

void VertexMaterialClass::Get_Diffuse ( Vector3 * set_color) const

Definition at line 256 of file vertmaterial.cpp.

◆ Get_Diffuse_Color_Source()

VertexMaterialClass::ColorSourceType VertexMaterialClass::Get_Diffuse_Color_Source ( void )

Definition at line 405 of file vertmaterial.cpp.

◆ Get_Emissive()

void VertexMaterialClass::Get_Emissive ( Vector3 * set_color) const

Definition at line 304 of file vertmaterial.cpp.

◆ Get_Emissive_Color_Source()

VertexMaterialClass::ColorSourceType VertexMaterialClass::Get_Emissive_Color_Source ( void )

Definition at line 394 of file vertmaterial.cpp.

◆ Get_Flag()

int VertexMaterialClass::Get_Flag ( FlagsType flag)
inline

Definition at line 142 of file vertmaterial.h.

◆ Get_Lighting()

bool VertexMaterialClass::Get_Lighting ( ) const
inline

Definition at line 171 of file vertmaterial.h.

◆ Get_Mapper()

TextureMapperClass * VertexMaterialClass::Get_Mapper ( int stage = 0)
inline

Definition at line 285 of file vertmaterial.h.

◆ Get_Name()

const char * VertexMaterialClass::Get_Name ( void ) const
inline

Definition at line 126 of file vertmaterial.h.

◆ Get_Opacity()

float VertexMaterialClass::Get_Opacity ( void ) const

Definition at line 338 of file vertmaterial.cpp.

◆ Get_Preset()

VertexMaterialClass * VertexMaterialClass::Get_Preset ( PresetType type)
static

Definition at line 1067 of file vertmaterial.cpp.

◆ Get_Shininess()

float VertexMaterialClass::Get_Shininess ( void ) const

Definition at line 327 of file vertmaterial.cpp.

◆ Get_Specular()

void VertexMaterialClass::Get_Specular ( Vector3 * set_color) const

Definition at line 280 of file vertmaterial.cpp.

◆ Get_UV_Source()

int VertexMaterialClass::Get_UV_Source ( int stage)

Definition at line 425 of file vertmaterial.cpp.

◆ Init()

void VertexMaterialClass::Init ( )
static

Definition at line 1016 of file vertmaterial.cpp.

◆ Init_From_Material3()

void VertexMaterialClass::Init_From_Material3 ( const W3dMaterial3Struct & mat3)

Definition at line 433 of file vertmaterial.cpp.

◆ Load_W3D()

WW3DErrorType VertexMaterialClass::Load_W3D ( ChunkLoadClass & cload)

Definition at line 461 of file vertmaterial.cpp.

◆ Make_Unique()

void VertexMaterialClass::Make_Unique ( )

Definition at line 145 of file vertmaterial.cpp.

◆ operator=()

VertexMaterialClass & VertexMaterialClass::operator= ( const VertexMaterialClass & src)

Definition at line 172 of file vertmaterial.cpp.

◆ Parse_Mapping_Args()

void VertexMaterialClass::Parse_Mapping_Args ( const W3dVertexMaterialStruct & vmat,
char * mapping0_arg_buffer,
char * mapping1_arg_buffer )

Definition at line 548 of file vertmaterial.cpp.

◆ Parse_W3dVertexMaterialStruct()

void VertexMaterialClass::Parse_W3dVertexMaterialStruct ( const W3dVertexMaterialStruct & vmat)

Definition at line 521 of file vertmaterial.cpp.

◆ Peek_Mapper()

TextureMapperClass * VertexMaterialClass::Peek_Mapper ( int stage = 0)
inline

Definition at line 293 of file vertmaterial.h.

◆ Reset_Mappers()

void VertexMaterialClass::Reset_Mappers ( void )
inline

Definition at line 298 of file vertmaterial.h.

◆ Save_W3D()

WW3DErrorType VertexMaterialClass::Save_W3D ( ChunkSaveClass & csave)

Definition at line 943 of file vertmaterial.cpp.

◆ Set_Ambient() [1/2]

void VertexMaterialClass::Set_Ambient ( const Vector3 & color)

Definition at line 238 of file vertmaterial.cpp.

◆ Set_Ambient() [2/2]

void VertexMaterialClass::Set_Ambient ( float r,
float g,
float b )

Definition at line 246 of file vertmaterial.cpp.

◆ Set_Ambient_Color_Source()

void VertexMaterialClass::Set_Ambient_Color_Source ( ColorSourceType src)

Definition at line 349 of file vertmaterial.cpp.

◆ Set_Diffuse() [1/2]

void VertexMaterialClass::Set_Diffuse ( const Vector3 & color)

Definition at line 262 of file vertmaterial.cpp.

◆ Set_Diffuse() [2/2]

void VertexMaterialClass::Set_Diffuse ( float r,
float g,
float b )

Definition at line 270 of file vertmaterial.cpp.

◆ Set_Diffuse_Color_Source()

void VertexMaterialClass::Set_Diffuse_Color_Source ( ColorSourceType src)

Definition at line 371 of file vertmaterial.cpp.

◆ Set_Emissive() [1/2]

void VertexMaterialClass::Set_Emissive ( const Vector3 & color)

Definition at line 310 of file vertmaterial.cpp.

◆ Set_Emissive() [2/2]

void VertexMaterialClass::Set_Emissive ( float r,
float g,
float b )

Definition at line 318 of file vertmaterial.cpp.

◆ Set_Emissive_Color_Source()

void VertexMaterialClass::Set_Emissive_Color_Source ( ColorSourceType src)

Definition at line 360 of file vertmaterial.cpp.

◆ Set_Flag()

void VertexMaterialClass::Set_Flag ( FlagsType flag,
bool onoff )
inline

Definition at line 134 of file vertmaterial.h.

◆ Set_Lighting()

void VertexMaterialClass::Set_Lighting ( bool lighting)
inline

Definition at line 170 of file vertmaterial.h.

◆ Set_Mapper()

void VertexMaterialClass::Set_Mapper ( TextureMapperClass * mapper,
int stage = 0 )
inline

Definition at line 279 of file vertmaterial.h.

◆ Set_Name()

void VertexMaterialClass::Set_Name ( const char * name)
inline

Definition at line 121 of file vertmaterial.h.

◆ Set_Opacity()

void VertexMaterialClass::Set_Opacity ( float o)

Definition at line 343 of file vertmaterial.cpp.

◆ Set_Shininess()

void VertexMaterialClass::Set_Shininess ( float shin)

Definition at line 332 of file vertmaterial.cpp.

◆ Set_Specular() [1/2]

void VertexMaterialClass::Set_Specular ( const Vector3 & color)

Definition at line 286 of file vertmaterial.cpp.

◆ Set_Specular() [2/2]

void VertexMaterialClass::Set_Specular ( float r,
float g,
float b )

Definition at line 294 of file vertmaterial.cpp.

◆ Set_UV_Source()

void VertexMaterialClass::Set_UV_Source ( int stage,
int array_index )

Definition at line 415 of file vertmaterial.cpp.

◆ Shutdown()

void VertexMaterialClass::Shutdown ( )
static

Definition at line 1044 of file vertmaterial.cpp.


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