7 #include <ThirdParty/EASTL-master/include/EASTL/string.h> 8 #include <ThirdParty/EASTL-master/include/EASTL/vector.h> 22 eastl::vector<eastl::shared_ptr<Mesh>>& GetModelMeshes();
28 eastl::string GetName();
30 void SetSkeleton(eastl::shared_ptr<Skeleton> skeleton);
38 eastl::shared_ptr<Skeleton> GetSkeleton()
const;
44 eastl::vector<eastl::string> GetAnimations();
51 void SetAnimation(eastl::string animation,
bool resetTime);
56 void ResetAnimation();
63 void SetAnimationTime(
float time);
69 void Update(
float deltaTime);
75 void UpdateAnimation(
float deltaTime);
81 float GetAnimationTime()
const;
87 float GetAnimationDuration()
const;
93 void SetPaused(
bool paused);
99 bool IsPaused()
const;
105 bool HasAnimations()
const;
111 void SetLooping(
bool looping);
117 bool IsLooping()
const;
123 void SetSpeed(
float speed);
129 float GetSpeed()
const;
135 eastl::string GetCurrentAnimationName()
const;
141 size_t GetCurrentAnimationIndex()
const;
149 eastl::shared_ptr<Material> GetMeshMaterial(eastl::shared_ptr<Mesh> mesh);
158 void SetMeshMaterial(eastl::shared_ptr<Mesh> mesh, eastl::shared_ptr<Material> material);
165 bool operator==(
Model& other);
171 bool operator!=(
Model& other);
177 explicit Model(
const aiScene* scene, eastl::string name =
"");
184 void AddMesh(eastl::shared_ptr<Mesh> meshToAdd);
185 eastl::vector<eastl::shared_ptr<Mesh>>
meshes;
189 #pragma region AnimationData eastl::string currentAnimationName
This class is used to create models, load in meshes and textures. NOTE: Only the Engine is allowed to...
This object is a storage container for meshes.
eastl::shared_ptr< Skeleton > skeleton
eastl::vector< eastl::shared_ptr< Mesh > > meshes
eastl::map< eastl::shared_ptr< Mesh >, eastl::shared_ptr< Material > > meshMaterialMap