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)
ResModel * GetResource ()
const ResModel * GetResource () const
void * GetBufferPtr ()
void * GetBlockBufferPtr ()
bool IsBlockBufferValid () const
void EnableBlockSwapAll ()
void DisableBlockSwapAll ()
int GetViewCount () const
bool IsViewDependent () const
void UpdateViewDependency ()
Sphere * GetBounding ()
const Sphere * GetBounding () 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)
bit32 * GetBoneVisArray ()
const bit32 * GetBoneVisArray () const
void ClearBoneVisibility ()
bool IsMatVisible (int matIndex) const
void SetMatVisibility (int matIndex, bool visible)
bit32 * GetMatVisArray ()
const bit32 * GetMatVisArray () const
void ClearMatVisibility ()
SkeletonObj * GetSkeleton ()
const SkeletonObj * GetSkeleton () const
int GetShapeCount () const
ShapeObj * GetShape (int shapeIndex)
const ShapeObj * GetShape (int shapeIndex) const
ShapeObj * GetShape (const char *name)
const ShapeObj * GetShape (const char *name) const
const char * GetShapeName (int shapeIndex) const
int GetShapeIndex (const char *name) const
int GetMaterialCount () const
MaterialObj * GetMaterial (int matIndex)
const MaterialObj * GetMaterial (int matIndex) const
MaterialObj * GetMaterial (const char *name)
const MaterialObj * GetMaterial (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

ResModel * m_pRes
bit32 * m_pBoneVisArray
bit32 * m_pMatVisArray
u8 m_NumView
u8 m_ViewDependent
bit16 m_Flag
GfxBuffer * m_pViewBlockArray
u16 m_NumShape
u16 m_NumMaterial
SkeletonObj * m_pSkeleton
ShapeObj * m_pShapeArray
MaterialObj * m_pMaterialArray
Sphere * m_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