New Super Mario Bros. U Headers
Loading...
Searching...
No Matches
JointBlendModel Class Reference

#include <JointBlendModel.h>

Inherits AnimModel.

Public Member Functions

 JointBlendModel (Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num)
void init (ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr, sead::Heap *heap=nullptr)
void playAnmFrameCtrl ()
void calcMdl ()
void calcBlend ()
void update (const sead::Vector3f &pos, const sead::Vector3u &rot, const sead::Vector3f &scale, bool animate=true)
SkeletalAnimationgetCurSklAnim () const
void setAnm (ModelResource *mdl_res, const sead::SafeString &name, f32 blend_duration)
void setAnm (const sead::SafeString &name, f32 blend_duration, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)
void setAnm (const sead::SafeString &name, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)
Public Member Functions inherited from AnimModel
 AnimModel (Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num)
ModelgetModel () const
ModelResourcegetModelResource () const
void draw () const
void setMtxRT (const sead::Matrix34f &rt)
void setScale (const sead::Vector3f &scale)
void update (const sead::Vector3f &pos, const sead::Vector3u &rot, const sead::Vector3f &scale, bool animate=true)
SkeletalAnimationgetSklAnim (u32 index) const
TexturePatternAnimationgetTexAnim (u32 index) const
ShaderParamAnimationgetShuAnim (u32 index) const
VisibilityAnimationgetVisAnim (u32 index) const
ShapeAnimationgetShaAnim (u32 index) const
void playSklAnim (const sead::SafeString &name, u32 idx=0)
void playTexAnim (const sead::SafeString &name, u32 idx=0)
void playColorAnim (const sead::SafeString &name, u32 idx=0)
void playTexSrtAnim (const sead::SafeString &name, u32 idx=0)
void playBoneVisAnim (const sead::SafeString &name, u32 idx=0)
void playMatVisAnim (const sead::SafeString &name, u32 idx=0)
void playShapeAnim (const sead::SafeString &name, u32 idx=0)
void init (ModelResource *mdl_res, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr, sead::Heap *heap=nullptr)
void playAnmFrameCtrl ()
void calcMdl ()

Static Public Member Functions

static JointBlendModelcreate (ModelResource *mdl_res, Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, sead::Heap *heap=nullptr, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr)
static JointBlendModelcreate (ModelResource *mdl_res, const sead::SafeString &name, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
static JointBlendModelcreate (ModelResource *mdl_res, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
static JointBlendModelcreate (const sead::SafeString &resource_key, const sead::SafeString &name, s32 skl_anim_num=0, s32 tex_anim_num=0, s32 shu_anim_num=0, s32 vis_anim_num=0, s32 sha_anim_num=0, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
static JointBlendModelcreate (const sead::SafeString &resource_key, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
Static Public Member Functions inherited from AnimModel
static AnimModelcreate (ModelResource *mdl_res, Model *model, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, sead::Heap *heap=nullptr, const sead::PtrArray< ModelResource > *anim_mdl_res_array=nullptr)
static AnimModelcreate (ModelResource *mdl_res, const sead::SafeString &name, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
static AnimModelcreate (ModelResource *mdl_res, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
static AnimModelcreate (const sead::SafeString &resource_key, const sead::SafeString &name, s32 skl_anim_num=0, s32 tex_anim_num=0, s32 shu_anim_num=0, s32 vis_anim_num=0, s32 sha_anim_num=0, Model::BoundingMode bounding_mode=Model::cBoundingMode_Disable, sead::Heap *heap=nullptr)
static AnimModelcreate (const sead::SafeString &resource_key, const sead::SafeString &name, s32 view_num, s32 skl_anim_num, s32 tex_anim_num, s32 shu_anim_num, s32 vis_anim_num, s32 sha_anim_num, Model::BoundingMode bounding_mode, sead::Heap *heap=nullptr)
static void destroy (AnimModel *&anim_model)

Private Member Functions

void setAnm_ (ModelResource *mdl_res, const sead::SafeString &name, f32 blend_duration, FrameCtrl::PlayMode mode=FrameCtrl::cMode_Repeat, f32 rate=1.0f, f32 frame=0.0f)

Private Attributes

JointBlendModelCalcRatio mCalcRatio
u32 mCurAnmIdx

Constructor & Destructor Documentation

◆ JointBlendModel()

JointBlendModel::JointBlendModel ( Model * model,
s32 skl_anim_num,
s32 tex_anim_num,
s32 shu_anim_num,
s32 vis_anim_num,
s32 sha_anim_num )

Member Function Documentation

◆ create() [1/5]

JointBlendModel * JointBlendModel::create ( ModelResource * mdl_res,
Model * model,
s32 skl_anim_num,
s32 tex_anim_num,
s32 shu_anim_num,
s32 vis_anim_num,
s32 sha_anim_num,
sead::Heap * heap = nullptr,
const sead::PtrArray< ModelResource > * anim_mdl_res_array = nullptr )
inlinestatic

◆ create() [2/5]

JointBlendModel * JointBlendModel::create ( ModelResource * mdl_res,
const sead::SafeString & name,
s32 skl_anim_num,
s32 tex_anim_num,
s32 shu_anim_num,
s32 vis_anim_num,
s32 sha_anim_num,
Model::BoundingMode bounding_mode = Model::cBoundingMode_Disable,
sead::Heap * heap = nullptr )
inlinestatic

◆ create() [3/5]

JointBlendModel * JointBlendModel::create ( ModelResource * mdl_res,
const sead::SafeString & name,
s32 view_num,
s32 skl_anim_num,
s32 tex_anim_num,
s32 shu_anim_num,
s32 vis_anim_num,
s32 sha_anim_num,
Model::BoundingMode bounding_mode,
sead::Heap * heap = nullptr )
inlinestatic

◆ create() [4/5]

JointBlendModel * JointBlendModel::create ( const sead::SafeString & resource_key,
const sead::SafeString & name,
s32 skl_anim_num = 0,
s32 tex_anim_num = 0,
s32 shu_anim_num = 0,
s32 vis_anim_num = 0,
s32 sha_anim_num = 0,
Model::BoundingMode bounding_mode = Model::cBoundingMode_Disable,
sead::Heap * heap = nullptr )
inlinestatic

◆ create() [5/5]

JointBlendModel * JointBlendModel::create ( const sead::SafeString & resource_key,
const sead::SafeString & name,
s32 view_num,
s32 skl_anim_num,
s32 tex_anim_num,
s32 shu_anim_num,
s32 vis_anim_num,
s32 sha_anim_num,
Model::BoundingMode bounding_mode,
sead::Heap * heap = nullptr )
inlinestatic

◆ init()

void JointBlendModel::init ( ModelResource * mdl_res,
const sead::PtrArray< ModelResource > * anim_mdl_res_array = nullptr,
sead::Heap * heap = nullptr )

◆ playAnmFrameCtrl()

void JointBlendModel::playAnmFrameCtrl ( )

◆ calcMdl()

void JointBlendModel::calcMdl ( )

◆ calcBlend()

void JointBlendModel::calcBlend ( )

◆ update()

void JointBlendModel::update ( const sead::Vector3f & pos,
const sead::Vector3u & rot,
const sead::Vector3f & scale,
bool animate = true )
inline

◆ getCurSklAnim()

SkeletalAnimation * JointBlendModel::getCurSklAnim ( ) const
inline

◆ setAnm() [1/3]

void JointBlendModel::setAnm ( ModelResource * mdl_res,
const sead::SafeString & name,
f32 blend_duration )

◆ setAnm() [2/3]

void JointBlendModel::setAnm ( const sead::SafeString & name,
f32 blend_duration,
FrameCtrl::PlayMode mode = FrameCtrl::cMode_Repeat,
f32 rate = 1.0f,
f32 frame = 0.0f )

◆ setAnm() [3/3]

void JointBlendModel::setAnm ( const sead::SafeString & name,
FrameCtrl::PlayMode mode = FrameCtrl::cMode_Repeat,
f32 rate = 1.0f,
f32 frame = 0.0f )

◆ setAnm_()

void JointBlendModel::setAnm_ ( ModelResource * mdl_res,
const sead::SafeString & name,
f32 blend_duration,
FrameCtrl::PlayMode mode = FrameCtrl::cMode_Repeat,
f32 rate = 1.0f,
f32 frame = 0.0f )
private

Member Data Documentation

◆ mCalcRatio

JointBlendModelCalcRatio JointBlendModel::mCalcRatio
private

◆ mCurAnmIdx

u32 JointBlendModel::mCurAnmIdx
private