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

#include <geometryexporttask.h>

Inherited by AggregateGeometryExportTaskClass, CollisionBoxGeometryExportTaskClass, DazzleGeometryExportTaskClass, MeshGeometryExportTaskClass, NullGeometryExportTaskClass, and ProxyExportTaskClass.

Public Member Functions

 GeometryExportTaskClass (INode *node, GeometryExportContextClass &context)
 
 GeometryExportTaskClass (const GeometryExportTaskClass &that)
 
virtual ~GeometryExportTaskClass (void)
 
virtual void Export_Geometry (GeometryExportContextClass &context)=0
 
char * Get_Name (void)
 
char * Get_Container_Name (void)
 
void Get_Full_Name (char *buffer, int size)
 
int Get_Bone_Index (void)
 
INode * Get_Object_Node (void)
 
Matrix3 Get_Export_Transform (void)
 
void Set_Name (char *name)
 
void Set_Container_Name (char *name)
 
void Generate_Name (char *root, int index, GeometryExportContextClass &context)
 
virtual Point3 Get_Shared_Vertex_Normal (const Point3 &world_space_point, int smgroup)
 
virtual bool Is_Aggregate (void)
 
virtual bool Is_Proxy (void)
 

Static Public Member Functions

static GeometryExportTaskClassCreate_Task (INode *node, GeometryExportContextClass &context)
 
static void Optimize_Geometry (DynamicVectorClass< GeometryExportTaskClass * > &tasks, GeometryExportContextClass &context)
 

Protected Types

enum  {
  MESH = 0 , COLLISIONBOX , DAZZLE , NULLOBJ ,
  AGGREGATE , PROXY
}
 

Protected Member Functions

virtual int Get_Geometry_Type (void)=0
 

Protected Attributes

char Name [W3D_NAME_LEN]
 
char ContainerName [W3D_NAME_LEN]
 
int BoneIndex
 
Matrix3 ExportSpace
 
TimeValue CurTime
 
INode * Node
 

Detailed Description

GeometryExportTaskClass This abstract base class defines the interface for a geometry export task. Derived classes will encapsulate the job of exporting meshes, collision boxes, dazzles, etc. The factory function Create_Task will create the appropriate task for a given INode.

Definition at line 58 of file geometryexporttask.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
MESH 
COLLISIONBOX 
DAZZLE 
NULLOBJ 
AGGREGATE 
PROXY 

Definition at line 130 of file geometryexporttask.h.

Constructor & Destructor Documentation

◆ GeometryExportTaskClass() [1/2]

GeometryExportTaskClass::GeometryExportTaskClass ( INode * node,
GeometryExportContextClass & context )

Definition at line 398 of file geometryexporttask.cpp.

◆ GeometryExportTaskClass() [2/2]

GeometryExportTaskClass::GeometryExportTaskClass ( const GeometryExportTaskClass & that)

Definition at line 437 of file geometryexporttask.cpp.

◆ ~GeometryExportTaskClass()

GeometryExportTaskClass::~GeometryExportTaskClass ( void )
virtual

Definition at line 459 of file geometryexporttask.cpp.

Member Function Documentation

◆ Create_Task()

GeometryExportTaskClass * GeometryExportTaskClass::Create_Task ( INode * node,
GeometryExportContextClass & context )
static

Definition at line 506 of file geometryexporttask.cpp.

◆ Export_Geometry()

◆ Generate_Name()

void GeometryExportTaskClass::Generate_Name ( char * root,
int index,
GeometryExportContextClass & context )

Definition at line 691 of file geometryexporttask.cpp.

◆ Get_Bone_Index()

int GeometryExportTaskClass::Get_Bone_Index ( void )
inline

Definition at line 75 of file geometryexporttask.h.

◆ Get_Container_Name()

char * GeometryExportTaskClass::Get_Container_Name ( void )
inline

Definition at line 72 of file geometryexporttask.h.

◆ Get_Export_Transform()

Matrix3 GeometryExportTaskClass::Get_Export_Transform ( void )
inline

Definition at line 77 of file geometryexporttask.h.

◆ Get_Full_Name()

void GeometryExportTaskClass::Get_Full_Name ( char * buffer,
int size )

Definition at line 476 of file geometryexporttask.cpp.

◆ Get_Geometry_Type()

virtual int GeometryExportTaskClass::Get_Geometry_Type ( void )
protectedpure virtual

◆ Get_Name()

char * GeometryExportTaskClass::Get_Name ( void )
inline

Definition at line 71 of file geometryexporttask.h.

◆ Get_Object_Node()

INode * GeometryExportTaskClass::Get_Object_Node ( void )
inline

Definition at line 76 of file geometryexporttask.h.

◆ Get_Shared_Vertex_Normal()

virtual Point3 GeometryExportTaskClass::Get_Shared_Vertex_Normal ( const Point3 & world_space_point,
int smgroup )
inlinevirtual

Reimplemented in MeshGeometryExportTaskClass.

Definition at line 94 of file geometryexporttask.h.

◆ Is_Aggregate()

virtual bool GeometryExportTaskClass::Is_Aggregate ( void )
inlinevirtual

Reimplemented in AggregateGeometryExportTaskClass.

Definition at line 103 of file geometryexporttask.h.

◆ Is_Proxy()

virtual bool GeometryExportTaskClass::Is_Proxy ( void )
inlinevirtual

Reimplemented in ProxyExportTaskClass.

Definition at line 110 of file geometryexporttask.h.

◆ Optimize_Geometry()

void GeometryExportTaskClass::Optimize_Geometry ( DynamicVectorClass< GeometryExportTaskClass * > & tasks,
GeometryExportContextClass & context )
static

Definition at line 559 of file geometryexporttask.cpp.

◆ Set_Container_Name()

void GeometryExportTaskClass::Set_Container_Name ( char * name)
inline

Definition at line 80 of file geometryexporttask.h.

◆ Set_Name()

void GeometryExportTaskClass::Set_Name ( char * name)
inline

Definition at line 79 of file geometryexporttask.h.

Member Data Documentation

◆ BoneIndex

int GeometryExportTaskClass::BoneIndex
protected

Definition at line 145 of file geometryexporttask.h.

◆ ContainerName

char GeometryExportTaskClass::ContainerName[W3D_NAME_LEN]
protected

Definition at line 144 of file geometryexporttask.h.

◆ CurTime

TimeValue GeometryExportTaskClass::CurTime
protected

Definition at line 148 of file geometryexporttask.h.

◆ ExportSpace

Matrix3 GeometryExportTaskClass::ExportSpace
protected

Definition at line 147 of file geometryexporttask.h.

◆ Name

char GeometryExportTaskClass::Name[W3D_NAME_LEN]
protected

Definition at line 143 of file geometryexporttask.h.

◆ Node

INode* GeometryExportTaskClass::Node
protected

Definition at line 149 of file geometryexporttask.h.


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