3#include <graphics/Animation.h>
4#include <graphics/Material.h>
5#include <graphics/RenderObj.h>
6#include <graphics/RenderObjLayer.h>
8#include <geom/seadSphere.h>
9#include <heap/seadDisposer.h>
10#include <shadow/aglDepthShadow.h>
18 SEAD_RTTI_OVERRIDE(
Model, RenderObj)
36 virtual void setMtxRT(
const sead::Matrix34f& rt) = 0;
38 virtual void setScale(
const sead::Vector3f& scale) = 0;
45 virtual void setBoneLocalMatrix(s32 index,
const sead::Matrix34f& rt,
const sead::Vector3f& scale) = 0;
46 virtual void getBoneLocalMatrix(s32 index, sead::Matrix34f* rt, sead::Vector3f* scale)
const = 0;
60 virtual void calcViewShapeShadowFlags(agl::sdw::DepthShadow* depth_shadow, RenderObjLayerBase* shadow_layer, RenderObjRenderMgr* render_mgr) = 0;
85static_assert(
sizeof(
Model) == 0x28);
91 static Model*
createG3d(
const ModelResource& res,
const sead::SafeString& name, s32 num_skl_anim, s32 num_tex_anim, s32 num_shu_anim, s32 num_vis_anim, s32 num_sha_anim, Model::BoundingMode bounding_mode, sead::Heap* heap);
93 static Model*
createG3d(
const ModelResource& res,
const sead::SafeString& name, s32 num_view, s32 num_skl_anim, s32 num_tex_anim, s32 num_shu_anim, s32 num_vis_anim, s32 num_sha_anim, Model::BoundingMode bounding_mode, sead::Heap* heap);
Definition ModelResource.h:13
static Model * createG3d(const ModelResource &res, const sead::SafeString &name, s32 num_skl_anim, s32 num_tex_anim, s32 num_shu_anim, s32 num_vis_anim, s32 num_sha_anim, Model::BoundingMode bounding_mode, sead::Heap *heap)
static Model * createG3d(const ModelResource &res, const sead::SafeString &name, s32 num_view, s32 num_skl_anim, s32 num_tex_anim, s32 num_shu_anim, s32 num_vis_anim, s32 num_sha_anim, Model::BoundingMode bounding_mode, sead::Heap *heap)
static void getBoneLocalMatrix(const Model &model, s32 index, sead::Matrix34f *mtx)
virtual void setBoundingEnable(bool enable)=0
virtual u32 getBoneNum() const =0
virtual void setSklAnimBlendWeight(s32 index, f32 weight)=0
virtual void setMtxRT(const sead::Matrix34f &rt)=0
virtual void setShuAnim(s32 index, Animation *anim)=0
virtual bool hasOpa() const =0
virtual Animation *const * getShaAnims() const =0
virtual void calcViewShapeShadowFlags(agl::sdw::DepthShadow *depth_shadow, RenderObjLayerBase *shadow_layer, RenderObjRenderMgr *render_mgr)=0
s32 mXluBufferIdx
Definition Model.h:83
virtual f32 getSklAnimBlendWeight(s32 index) const =0
virtual const sead::Vector3f & getScale() const =0
virtual const char * getBoneName(s32 index) const =0
virtual void setSklAnim(s32 index, Animation *anim)=0
virtual void setVisAnim(s32 index, Animation *anim)=0
virtual sead::SafeString getName() const =0
virtual void setBoneVisible(s32 index, bool visible)=0
virtual bool isBoneVisible(s32 index) const =0
virtual Animation *const * getVisAnims() const =0
s32 getOpaBufferIdx() const
Definition Model.h:75
virtual bool hasXlu() const =0
virtual bool isMaterialVisible(s32 index) const =0
virtual Material * getMaterial(s32 index) const =0
virtual s32 searchMaterialIndex(const sead::SafeString &name) const =0
virtual bool isBoundingEnable() const =0
virtual void setShaAnim(s32 index, Animation *anim)=0
virtual Animation *const * getShuAnims() const =0
virtual const char * getMaterialName(s32 index) const =0
virtual void setBoneLocalMatrix(s32 index, const sead::Matrix34f &rt, const sead::Vector3f &scale)=0
virtual void getBoneWorldMatrix(s32 index, sead::Matrix34f *mtx) const =0
virtual s32 searchBoneIndex(const sead::SafeString &name) const =0
virtual const sead::Sphere3f & getBounding() const =0
virtual void setScale(const sead::Vector3f &scale)=0
void setOpaBufferIdx(s32 index)
Definition Model.h:78
void setXluBufferIdx(s32 index)
Definition Model.h:79
virtual Animation *const * getTexAnims() const =0
virtual Animation *const * getSklAnims() const =0
virtual u32 getMaterialNum() const =0
virtual void setBoneWorldMatrix(s32 index, const sead::Matrix34f &mtx)=0
virtual void setTexAnim(s32 index, Animation *anim)=0
s32 getXluBufferIdx() const
Definition Model.h:76
virtual void getBoneLocalMatrix(s32 index, sead::Matrix34f *rt, sead::Vector3f *scale) const =0
s32 mOpaBufferIdx
Definition Model.h:82
virtual void setMaterialVisible(s32 index, bool visible)=0
virtual const sead::Matrix34f & getMtxRT() const =0