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

#include <g3d_ShapeAnimObj.h>

Inherits nw::g3d::ModelAnimObj.

Classes

class  InitArg
class  Sizer

Public Types

enum  Alignment { BUFFER_ALIGNMENT = 4 }
Public Types inherited from nw::g3d::AnimObj
enum  BindFlag { ENABLED = AnimBindTable::ENABLED , SKIP_CALC = AnimBindTable::SKIP_CALC , SKIP_APPLY = AnimBindTable::SKIP_APPLY , DISABLED = AnimBindTable::DISABLED }

Public Member Functions

 ShapeAnimObj ()
bool Init (const InitArg &arg, void *pBuffer, size_t bufferSize)
virtual BindResult Bind (const ResModel *pModel)
virtual BindResult Bind (const ModelObj *pModel)
virtual void BindFast (const ResModel *pModel)
void SetBindFlag (int shapeIndex, BindFlag flag)
BindFlag GetBindFlag (int shapeIndex)
virtual void ClearResult ()
virtual void Calc ()
virtual void ApplyTo (ModelObj *pModelObj) const
const ResShapeAnimGetResource () const
void SetResource (ResShapeAnim *pRes)
void ResetResource ()
bool IsAcceptable (const ResModel *pModel) const
bool IsAcceptable (const ResShapeAnim *pRes) const
int GetKeyShapeCount (int shapeIndex) const
s8 * GetKeyShapeIndexArray (int shapeIndex) const
Public Member Functions inherited from nw::g3d::ModelAnimObj
AnimBindTableGetBindTable ()
const AnimBindTableGetBindTable () const
bool IsTargetBound () const
int GetAnimCount () const
int GetTargetCount () const
Public Member Functions inherited from nw::g3d::AnimObj
virtual ~AnimObj ()
AnimFrameCtrlGetFrameCtrl ()
const AnimFrameCtrlGetFrameCtrl () const
void SetFrameCtrl (AnimFrameCtrl *pFrameCtrl)
AnimFrameCtrlGetDefaultFrameCtrl ()
const AnimFrameCtrlGetDefaultFrameCtrl () const
AnimContextGetContext ()
const AnimContextGetContext () const
void InvalidateContext ()
int GetCurveCount () const
void * GetBufferPtr ()

Static Public Member Functions

static size_t CalcBufferSize (const InitArg &arg)

Protected Member Functions

ResVertexShapeAnimGetVertexShapeAnim (int animIndex)
const ResVertexShapeAnimGetVertexShapeAnim (int animIndex) const
BindResult SubBind (const ResVertexShapeAnim *pVertexShapeAnim, const ResShape *pShape)
BindResult SubBindFast (const ResVertexShapeAnim *pVertexShapeAnim)
void ApplyTo (ShapeObj *pShapeObj, int animIndex) const
Protected Member Functions inherited from nw::g3d::ModelAnimObj
 ModelAnimObj ()
void SetTargetBound ()
void SetTargetUnbound ()
void SetBindFlagImpl (int targetIndex, BindFlag flag)
BindFlag GetBindFlagImpl (int targetIndex) const
Protected Member Functions inherited from nw::g3d::AnimObj
 AnimObj ()
void SetBufferPtr (void *pBuffer)
void SetResultBuffer (void *pBuffer)
void * GetResultBuffer ()
const void * GetResultBuffer () const
void ResetFrameCtrl (int frameCount, bool loop)
bool IsFrameChanged () const
void UpdateLastFrame ()

Private Member Functions

 NW_G3D_DISALLOW_COPY_AND_ASSIGN (ShapeAnimObj)

Private Attributes

ResShapeAnimm_pRes
ResVertexShapeAnimDatam_pVertexShapeAnimArray
s32 m_MaxVtxShpAnim
s32 m_MaxSubBind
s8 * m_pSubBindIndexArray

Member Enumeration Documentation

◆ Alignment

Enumerator
BUFFER_ALIGNMENT 

Constructor & Destructor Documentation

◆ ShapeAnimObj()

nw::g3d::ShapeAnimObj::ShapeAnimObj ( )
inline

Member Function Documentation

◆ Init()

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

◆ CalcBufferSize()

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

◆ Bind() [1/2]

BindResult nw::g3d::ShapeAnimObj::Bind ( const ResModel * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ Bind() [2/2]

BindResult nw::g3d::ShapeAnimObj::Bind ( const ModelObj * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ BindFast()

void nw::g3d::ShapeAnimObj::BindFast ( const ResModel * pModel)
virtual

Implements nw::g3d::ModelAnimObj.

◆ SetBindFlag()

void nw::g3d::ShapeAnimObj::SetBindFlag ( int shapeIndex,
BindFlag flag )
inline

◆ GetBindFlag()

BindFlag nw::g3d::ShapeAnimObj::GetBindFlag ( int shapeIndex)
inline

◆ ClearResult()

void nw::g3d::ShapeAnimObj::ClearResult ( )
virtual

Implements nw::g3d::AnimObj.

◆ Calc()

void nw::g3d::ShapeAnimObj::Calc ( )
virtual

Implements nw::g3d::AnimObj.

◆ ApplyTo() [1/2]

void nw::g3d::ShapeAnimObj::ApplyTo ( ModelObj * pModelObj) const
virtual

Implements nw::g3d::ModelAnimObj.

◆ GetResource()

const ResShapeAnim * nw::g3d::ShapeAnimObj::GetResource ( ) const
inline

◆ SetResource()

void nw::g3d::ShapeAnimObj::SetResource ( ResShapeAnim * pRes)

◆ ResetResource()

void nw::g3d::ShapeAnimObj::ResetResource ( )
inline

◆ IsAcceptable() [1/2]

bool nw::g3d::ShapeAnimObj::IsAcceptable ( const ResModel * pModel) const
inline

◆ IsAcceptable() [2/2]

bool nw::g3d::ShapeAnimObj::IsAcceptable ( const ResShapeAnim * pRes) const
inline

◆ GetKeyShapeCount()

int nw::g3d::ShapeAnimObj::GetKeyShapeCount ( int shapeIndex) const
inline

◆ GetKeyShapeIndexArray()

s8 * nw::g3d::ShapeAnimObj::GetKeyShapeIndexArray ( int shapeIndex) const
inline

◆ GetVertexShapeAnim() [1/2]

ResVertexShapeAnim * nw::g3d::ShapeAnimObj::GetVertexShapeAnim ( int animIndex)
inlineprotected

◆ GetVertexShapeAnim() [2/2]

const ResVertexShapeAnim * nw::g3d::ShapeAnimObj::GetVertexShapeAnim ( int animIndex) const
inlineprotected

◆ SubBind()

BindResult nw::g3d::ShapeAnimObj::SubBind ( const ResVertexShapeAnim * pVertexShapeAnim,
const ResShape * pShape )
protected

◆ SubBindFast()

BindResult nw::g3d::ShapeAnimObj::SubBindFast ( const ResVertexShapeAnim * pVertexShapeAnim)
protected

◆ ApplyTo() [2/2]

void nw::g3d::ShapeAnimObj::ApplyTo ( ShapeObj * pShapeObj,
int animIndex ) const
protected

◆ NW_G3D_DISALLOW_COPY_AND_ASSIGN()

nw::g3d::ShapeAnimObj::NW_G3D_DISALLOW_COPY_AND_ASSIGN ( ShapeAnimObj )
private

Member Data Documentation

◆ m_pRes

ResShapeAnim* nw::g3d::ShapeAnimObj::m_pRes
private

◆ m_pVertexShapeAnimArray

ResVertexShapeAnimData* nw::g3d::ShapeAnimObj::m_pVertexShapeAnimArray
private

◆ m_MaxVtxShpAnim

s32 nw::g3d::ShapeAnimObj::m_MaxVtxShpAnim
private

◆ m_MaxSubBind

s32 nw::g3d::ShapeAnimObj::m_MaxSubBind
private

◆ m_pSubBindIndexArray

s8* nw::g3d::ShapeAnimObj::m_pSubBindIndexArray
private