Aether3D Game Engine
Model.hpp
1 #ifndef MODEL_H
2 #define MODEL_H
3 
4 #ifndef INCLUDE_STRING_H
5 # include <string>
6 # define INCLUDE_STRING_H
7 #endif
8 #ifndef INCLUDE_VECTOR_H
9 # include <vector>
10 # define INCLUDE_VECTOR_H
11 #endif
12 #ifndef SCENEGRAPHNODE_H
13 # include "SceneGraphNode.hpp"
14 #endif
15 
16 class Material;
17 class Quaternion;
18 struct Vec3;
19 
21 class Model : public SceneGraphNode
22 {
23  public:
24  virtual ~Model() {}
25 
30  virtual void GetAABB( Vec3& outMin, Vec3& outMax ) const = 0;
31 
33  virtual std::vector< std::string > GetMeshNames() const = 0;
34 
41  virtual std::vector< std::string > GetMeshJointNames( const std::string& meshName ) const = 0;
42 
43  // \return Path that was given to Aether3D_API::MakeModel().
44  virtual const std::string& GetPath() const = 0;
45 
52  virtual void ApplyAnimation( int firstKeyFrame, int lastKeyFrame ) = 0;
53 
60  virtual Material* GetMeshMaterial( const char* meshName ) = 0;
61 
68  virtual void SetMaterialForMesh( Material* material, const std::string& meshName ) = 0;
69 
76  virtual void SetMaterialForMeshSubstring( Material* material, const std::string& meshNameSubstring ) = 0;
77 };
78 #endif
Contains meshes loaded from Aether3D&#39;s own .ae3d file format.
Definition: Model.hpp:21
virtual void SetMaterialForMeshSubstring(Material *material, const std::string &meshNameSubstring)=0
virtual std::vector< std::string > GetMeshJointNames(const std::string &meshName) const =0
Stores an orientation.
Definition: Quaternion.hpp:17
virtual void ApplyAnimation(int firstKeyFrame, int lastKeyFrame)=0
Stores material properties for Mesh. Their names/values are directly mapped into shader uniforms...
Definition: Material.hpp:19
3-component vector.
Definition: Vec3.hpp:22
virtual void GetAABB(Vec3 &outMin, Vec3 &outMax) const =0
Scene Graph Node. Models, Lights and Cameras are derived from this class.
Definition: SceneGraphNode.hpp:28
virtual Material * GetMeshMaterial(const char *meshName)=0
virtual void SetMaterialForMesh(Material *material, const std::string &meshName)=0
virtual std::vector< std::string > GetMeshNames() const =0