Model.h 828 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef MODEL_H_
  2. #define MODEL_H_
  3. #include "Object.h"
  4. #include "Mesh.h"
  5. #include "MeshSkin.h"
  6. #include "Material.h"
  7. namespace gameplay
  8. {
  9. class Model : public Object
  10. {
  11. public:
  12. /**
  13. * Constructor.
  14. */
  15. Model(void);
  16. /**
  17. * Destructor.
  18. */
  19. virtual ~Model(void);
  20. virtual unsigned int getTypeId(void) const;
  21. virtual const char* getElementName(void) const;
  22. virtual void writeBinary(FILE* file);
  23. virtual void writeText(FILE* file);
  24. Mesh* getMesh();
  25. void setMesh(Mesh* mesh);
  26. MeshSkin* getSkin();
  27. void setSkin(MeshSkin* skin);
  28. void setMaterial(Material* material, int partIndex = -1);
  29. private:
  30. Mesh* _mesh;
  31. MeshSkin* _meshSkin;
  32. std::vector<Material*> _materials;
  33. Material* _material;
  34. };
  35. }
  36. #endif