All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IMeshUploadService.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "VectorMath.h"
7 #include "QuantizedMeshSetChunkReader.h"
8 #include "Collision.h"
9 #include <string>
10 #include <vector>
11 
12 namespace Eegeo
13 {
14  namespace Rendering
15  {
17  {
18  public:
19  virtual ~IMeshUploadService() {}
20  virtual void UploadMesh(const void* pVertexData, int numOfVertices, const void* pIndexData, size_t indexDataSize, u32 numOfIndices, const std::string& debugName, const std::string& materialName, const dv3& originEcef) = 0;
21  virtual void UploadMesh(const Eegeo::IO::ChunkedFileFormat::QuantizedMeshSetChunkReader::QuantizedMeshInfo& meshInfo, const void* pVertexData, const void* pIndexData, const std::string& debugName) = 0;
22  virtual void UploadMesh(const std::vector<v3>& verts, const std::vector<u16>& triListIndices, const std::string& debugName, const std::string& materialName, const dv3& originEcef) = 0;
23  virtual void UploadMesh(const Collision::CollisionSubMesh& submesh, const std::string& debugName, const std::string& materialName) = 0;
24  virtual void DeleteUploadedMesh(const std::string& id) = 0;
25  virtual void AddMesh(const std::string& name) = 0;
26  virtual void DeleteMesh(const std::string& name) = 0;
27  };
28  }
29 }