CmMeshManager.h 678 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace CamelotFramework
  5. {
  6. class CM_EXPORT MeshManager : public Module<MeshManager>
  7. {
  8. public:
  9. MeshManager();
  10. ~MeshManager();
  11. MeshPtr create();
  12. MeshPtr createEmpty();
  13. /**
  14. * @brief Returns empty mesh data. (Technically it is not empty,
  15. * as 0 sized buffers will cause problems, so it contains 3 indices
  16. * and 1 vertex).
  17. */
  18. MeshDataPtr getDummyMeshData() const { return mDummyMeshData; }
  19. HMesh getDummyMesh() const { return mDummyMesh; }
  20. private:
  21. MeshDataPtr mDummyMeshData;
  22. HMesh mDummyMesh;
  23. protected:
  24. virtual void onStartUp();
  25. };
  26. }