NW4F G3d
Loading...
Searching...
No Matches
nw::g3d::ModelObj Class Reference

#include <g3d_ModelObj.h>

Classes

class  InitArg
class  Sizer

Public Types

enum  Alignment { BUFFER_ALIGNMENT = SkeletonObj::BUFFER_ALIGNMENT , BLOCK_BUFFER_ALIGNMENT = GX2_UNIFORM_BLOCK_ALIGNMENT }

Public Member Functions

 ModelObj ()
bool Init (const InitArg &arg, void *pBuffer, size_t bufferSize)
size_t CalcBlockBufferSize ()
bool SetupBlockBuffer (void *pBuffer, size_t bufferSize)
void CleanupBlockBuffer ()
void CalcWorld (const Mtx34 &baseMtx)
void CalcBounding ()
void CalcMtxBlock (int bufferIndex=0)
void CalcShape (int bufferIndex=0)
void CalcMaterial ()
void CalcView (int viewIndex, const Mtx34 &cameraMtx, int bufferIndex=0)
ResModelGetResource ()
const ResModelGetResource () const
void * GetBufferPtr ()
void * GetBlockBufferPtr ()
bool IsBlockBufferValid () const
void EnableBlockSwapAll ()
void DisableBlockSwapAll ()
int GetViewCount () const
bool IsViewDependent () const
void UpdateViewDependency ()
SphereGetBounding ()
const SphereGetBounding () const
void SetUserPtr (void *pUserPtr)
void * GetUserPtr ()
const void * GetUserPtr () const
template<typename T>
T * GetUserPtr ()
template<typename T>
const T * GetUserPtr () const
bool IsShapeVisible (int shapeIndex) const
bool IsBoneVisible (int boneIndex) const
void SetBoneVisibility (int boneIndex, bool visible)
bit32GetBoneVisArray ()
const bit32GetBoneVisArray () const
void ClearBoneVisibility ()
bool IsMatVisible (int matIndex) const
void SetMatVisibility (int matIndex, bool visible)
bit32GetMatVisArray ()
const bit32GetMatVisArray () const
void ClearMatVisibility ()
SkeletonObjGetSkeleton ()
const SkeletonObjGetSkeleton () const
int GetShapeCount () const
ShapeObjGetShape (int shapeIndex)
const ShapeObjGetShape (int shapeIndex) const
ShapeObjGetShape (const char *name)
const ShapeObjGetShape (const char *name) const
const char * GetShapeName (int shapeIndex) const
int GetShapeIndex (const char *name) const
int GetMaterialCount () const
MaterialObjGetMaterial (int matIndex)
const MaterialObjGetMaterial (int matIndex) const
MaterialObjGetMaterial (const char *name)
const MaterialObjGetMaterial (const char *name) const
const char * GetMaterialName (int matIndex) const
int GetMaterialIndex (const char *name) const

Static Public Member Functions

static size_t CalcBufferSize (const InitArg &arg)

Protected Types

enum  Flag { BLOCK_BUFFER_VALID = 0x1 << 0 }

Private Member Functions

 NW_G3D_DISALLOW_COPY_AND_ASSIGN (ModelObj)

Private Attributes

ResModelm_pRes
bit32m_pBoneVisArray
bit32m_pMatVisArray
u8 m_NumView
u8 m_ViewDependent
bit16 m_Flag
GfxBufferm_pViewBlockArray
u16 m_NumShape
u16 m_NumMaterial
SkeletonObjm_pSkeleton
ShapeObjm_pShapeArray
MaterialObjm_pMaterialArray
Spherem_pBounding
void * m_pUserPtr
void * m_pBufferPtr
void * m_pBlockBuffer

Member Enumeration Documentation

◆ Alignment

Enumerator
BUFFER_ALIGNMENT 
BLOCK_BUFFER_ALIGNMENT 

◆ Flag

enum nw::g3d::ModelObj::Flag
protected
Enumerator
BLOCK_BUFFER_VALID 

Constructor & Destructor Documentation

◆ ModelObj()

nw::g3d::ModelObj::ModelObj ( )
inline

Member Function Documentation

◆ CalcBufferSize()

size_t nw::g3d::ModelObj::CalcBufferSize ( const InitArg & arg)
static

◆ Init()

bool nw::g3d::ModelObj::Init ( const InitArg & arg,
void * pBuffer,
size_t bufferSize )

◆ CalcBlockBufferSize()

size_t nw::g3d::ModelObj::CalcBlockBufferSize ( )

◆ SetupBlockBuffer()

bool nw::g3d::ModelObj::SetupBlockBuffer ( void * pBuffer,
size_t bufferSize )

◆ CleanupBlockBuffer()

void nw::g3d::ModelObj::CleanupBlockBuffer ( )

◆ CalcWorld()

void nw::g3d::ModelObj::CalcWorld ( const Mtx34 & baseMtx)

◆ CalcBounding()

void nw::g3d::ModelObj::CalcBounding ( )

◆ CalcMtxBlock()

void nw::g3d::ModelObj::CalcMtxBlock ( int bufferIndex = 0)

◆ CalcShape()

void nw::g3d::ModelObj::CalcShape ( int bufferIndex = 0)

◆ CalcMaterial()

void nw::g3d::ModelObj::CalcMaterial ( )

◆ CalcView()

void nw::g3d::ModelObj::CalcView ( int viewIndex,
const Mtx34 & cameraMtx,
int bufferIndex = 0 )

◆ GetResource() [1/2]

ResModel * nw::g3d::ModelObj::GetResource ( )
inline

◆ GetResource() [2/2]

const ResModel * nw::g3d::ModelObj::GetResource ( ) const
inline

◆ GetBufferPtr()

void * nw::g3d::ModelObj::GetBufferPtr ( )
inline

◆ GetBlockBufferPtr()

void * nw::g3d::ModelObj::GetBlockBufferPtr ( )
inline

◆ IsBlockBufferValid()

bool nw::g3d::ModelObj::IsBlockBufferValid ( ) const
inline

◆ EnableBlockSwapAll()

void nw::g3d::ModelObj::EnableBlockSwapAll ( )

◆ DisableBlockSwapAll()

void nw::g3d::ModelObj::DisableBlockSwapAll ( )

◆ GetViewCount()

int nw::g3d::ModelObj::GetViewCount ( ) const
inline

◆ IsViewDependent()

bool nw::g3d::ModelObj::IsViewDependent ( ) const
inline

◆ UpdateViewDependency()

void nw::g3d::ModelObj::UpdateViewDependency ( )

◆ GetBounding() [1/2]

Sphere * nw::g3d::ModelObj::GetBounding ( )
inline

◆ GetBounding() [2/2]

const Sphere * nw::g3d::ModelObj::GetBounding ( ) const
inline

◆ SetUserPtr()

void nw::g3d::ModelObj::SetUserPtr ( void * pUserPtr)
inline

◆ GetUserPtr() [1/4]

void * nw::g3d::ModelObj::GetUserPtr ( )
inline

◆ GetUserPtr() [2/4]

const void * nw::g3d::ModelObj::GetUserPtr ( ) const
inline

◆ GetUserPtr() [3/4]

template<typename T>
T * nw::g3d::ModelObj::GetUserPtr ( )
inline

◆ GetUserPtr() [4/4]

template<typename T>
const T * nw::g3d::ModelObj::GetUserPtr ( ) const
inline

◆ IsShapeVisible()

bool nw::g3d::ModelObj::IsShapeVisible ( int shapeIndex) const
inline

◆ IsBoneVisible()

bool nw::g3d::ModelObj::IsBoneVisible ( int boneIndex) const
inline

◆ SetBoneVisibility()

void nw::g3d::ModelObj::SetBoneVisibility ( int boneIndex,
bool visible )
inline

◆ GetBoneVisArray() [1/2]

bit32 * nw::g3d::ModelObj::GetBoneVisArray ( )
inline

◆ GetBoneVisArray() [2/2]

const bit32 * nw::g3d::ModelObj::GetBoneVisArray ( ) const
inline

◆ ClearBoneVisibility()

void nw::g3d::ModelObj::ClearBoneVisibility ( )

◆ IsMatVisible()

bool nw::g3d::ModelObj::IsMatVisible ( int matIndex) const
inline

◆ SetMatVisibility()

void nw::g3d::ModelObj::SetMatVisibility ( int matIndex,
bool visible )
inline

◆ GetMatVisArray() [1/2]

bit32 * nw::g3d::ModelObj::GetMatVisArray ( )
inline

◆ GetMatVisArray() [2/2]

const bit32 * nw::g3d::ModelObj::GetMatVisArray ( ) const
inline

◆ ClearMatVisibility()

void nw::g3d::ModelObj::ClearMatVisibility ( )

◆ GetSkeleton() [1/2]

SkeletonObj * nw::g3d::ModelObj::GetSkeleton ( )
inline

◆ GetSkeleton() [2/2]

const SkeletonObj * nw::g3d::ModelObj::GetSkeleton ( ) const
inline

◆ GetShapeCount()

int nw::g3d::ModelObj::GetShapeCount ( ) const
inline

◆ GetShape() [1/4]

ShapeObj * nw::g3d::ModelObj::GetShape ( int shapeIndex)
inline

◆ GetShape() [2/4]

const ShapeObj * nw::g3d::ModelObj::GetShape ( int shapeIndex) const
inline

◆ GetShape() [3/4]

ShapeObj * nw::g3d::ModelObj::GetShape ( const char * name)
inline

◆ GetShape() [4/4]

const ShapeObj * nw::g3d::ModelObj::GetShape ( const char * name) const
inline

◆ GetShapeName()

const char * nw::g3d::ModelObj::GetShapeName ( int shapeIndex) const
inline

◆ GetShapeIndex()

int nw::g3d::ModelObj::GetShapeIndex ( const char * name) const
inline

◆ GetMaterialCount()

int nw::g3d::ModelObj::GetMaterialCount ( ) const
inline

◆ GetMaterial() [1/4]

MaterialObj * nw::g3d::ModelObj::GetMaterial ( int matIndex)
inline

◆ GetMaterial() [2/4]

const MaterialObj * nw::g3d::ModelObj::GetMaterial ( int matIndex) const
inline

◆ GetMaterial() [3/4]

MaterialObj * nw::g3d::ModelObj::GetMaterial ( const char * name)
inline

◆ GetMaterial() [4/4]

const MaterialObj * nw::g3d::ModelObj::GetMaterial ( const char * name) const
inline

◆ GetMaterialName()

const char * nw::g3d::ModelObj::GetMaterialName ( int matIndex) const
inline

◆ GetMaterialIndex()

int nw::g3d::ModelObj::GetMaterialIndex ( const char * name) const
inline

◆ NW_G3D_DISALLOW_COPY_AND_ASSIGN()

nw::g3d::ModelObj::NW_G3D_DISALLOW_COPY_AND_ASSIGN ( ModelObj )
private

Member Data Documentation

◆ m_pRes

ResModel* nw::g3d::ModelObj::m_pRes
private

◆ m_pBoneVisArray

bit32* nw::g3d::ModelObj::m_pBoneVisArray
private

◆ m_pMatVisArray

bit32* nw::g3d::ModelObj::m_pMatVisArray
private

◆ m_NumView

u8 nw::g3d::ModelObj::m_NumView
private

◆ m_ViewDependent

u8 nw::g3d::ModelObj::m_ViewDependent
private

◆ m_Flag

bit16 nw::g3d::ModelObj::m_Flag
private

◆ m_pViewBlockArray

GfxBuffer* nw::g3d::ModelObj::m_pViewBlockArray
private

◆ m_NumShape

u16 nw::g3d::ModelObj::m_NumShape
private

◆ m_NumMaterial

u16 nw::g3d::ModelObj::m_NumMaterial
private

◆ m_pSkeleton

SkeletonObj* nw::g3d::ModelObj::m_pSkeleton
private

◆ m_pShapeArray

ShapeObj* nw::g3d::ModelObj::m_pShapeArray
private

◆ m_pMaterialArray

MaterialObj* nw::g3d::ModelObj::m_pMaterialArray
private

◆ m_pBounding

Sphere* nw::g3d::ModelObj::m_pBounding
private

◆ m_pUserPtr

void* nw::g3d::ModelObj::m_pUserPtr
private

◆ m_pBufferPtr

void* nw::g3d::ModelObj::m_pBufferPtr
private

◆ m_pBlockBuffer

void* nw::g3d::ModelObj::m_pBlockBuffer
private