NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::g3d::G3dObj Class Referenceabstract
Inheritance diagram for nw4r::g3d::G3dObj:
[legend]

Description

Definition at line 16 of file g3d_obj.hpp.

Classes

struct  ResNameDataT
 
struct  TypeObj
 

Public Types

enum  G3dProcOp {
  G3DPROC_CALC_WORLD = 1 ,
  G3DPROC_CALC_MAT ,
  G3DPROC_CALC_VTX ,
  G3DPROC_CALC_VIEW ,
  G3DPROC_GATHER_SCNOBJ ,
  G3DPROC_DRAW_OPA ,
  G3DPROC_DRAW_XLU ,
  G3DPROC_UPDATEFRAME ,
  G3DPROC_CHILD_DETACHED = 0x00010001 ,
  G3DPROC_ATTACHED ,
  G3DPROC_DETACHED ,
  G3DPROC_SORT
}
 The possible G3D process operations. More...
 
enum  G3dProcParam {
  G3DPROCPARAM_CALC_WORLD_SCNOBJMTX_NOUPDATE = BIT_FLAG(0) ,
  G3DPROCPARAM_SORT_ZSORT = BIT_FLAG(-1) ,
  G3DPROCPARAM_SORT_SORT = BIT_FLAG(0) ,
  G3DPROCPARAM_SORT_SORT_WITHFUNC = BIT_FLAG(1)
}
 Additional parameters for G3D process operations. More...
 

Public Member Functions

virtual bool IsDerivedFrom (G3dObj::TypeObj) const
 
virtual void G3dProc (ulong proc, ulong param, void *info)=0
 
virtual const TypeObj GetTypeObj ()
 
virtual const char * GetTypeName ()
 
void Destroy ()
 
void DetachFromParent ()
 

Static Public Member Functions

template<typename DerivedType, typename Type>
static DerivedType * DynamicCast (Type *obj)
 

Private Member Functions

 NW4R_G3D_TYPE_OBJ_DECL (G3dObj)
 

Member Enumeration Documentation

◆ G3dProcOp

The possible G3D process operations.

Enumerator
G3DPROC_CALC_WORLD 

Calculates the world transform matrix.

G3DPROC_CALC_MAT 

Calculates the material settings.

G3DPROC_CALC_VTX 

Performs vertex array calculations.

G3DPROC_CALC_VIEW 

Calculates the view transform matrix.

A pointer to the camera matrix (MTX34) must be passed to the processing function.

G3DPROC_GATHER_SCNOBJ 

Gathers the ScnObj to be rendered.

G3DPROC_DRAW_OPA 

Draws the material specified as OPA.

G3DPROC_DRAW_XLU 

Draws the material specified as XLU.

G3DPROC_UPDATEFRAME 

Calls the UpdateFrame member function for all animation objects.

G3DPROC_CHILD_DETACHED 

The child is about to be detached.

G3DPROC_ATTACHED 

A parent has been attached.

G3DPROC_DETACHED 

The child has been detached from the parent.

G3DPROC_SORT 

Sorts the gathered ScnObj.

Definition at line 41 of file g3d_obj.hpp.

◆ G3dProcParam

Additional parameters for G3D process operations.

Enumerator
G3DPROCPARAM_CALC_WORLD_SCNOBJMTX_NOUPDATE 

Will not update the world conversion matrix of the ScnObj.

G3DPROCPARAM_SORT_ZSORT 

Use ScnRoot::ZSort() for sorting.

G3DPROCPARAM_SORT_SORT 

Use ScnRoot::Sort() for sorting.

G3DPROCPARAM_SORT_SORT_WITHFUNC 

Use ScnRoot::Sort(FuncLess, FuncLess) for sorting.

Definition at line 62 of file g3d_obj.hpp.

Member Function Documentation

◆ DynamicCast()

template<typename DerivedType, typename Type>
static DerivedType * nw4r::g3d::G3dObj::DynamicCast ( Type * obj)
inlinestatic

Definition at line 82 of file g3d_obj.hpp.