My Project
ICadModelImporter.h
1 
2 
3 #pragma once
4 
5 #include <stdint.h>
6 #include <vector>
7 
8 namespace ParaEngine
9 {
10 
11  enum CadModelPrimitiveType
12  {
13  cmpt_triangleList,
14  cmpt_triangleStrip,
15  cmpt_lineStrip,
16  };
17 
18  struct CadVec3
19  {
20  float x;
21  float y;
22  float z;
23  };
24 
25  struct VertexData
26  {
27  CadVec3 position;
28  CadVec3 normal;
29  };
30 
31  struct SubPartInfo
32  {
33  uint32_t vertexOffset;
34  uint32_t indexOffset;
35  uint32_t vertexCount;
36  uint32_t primitiveCount;
37  uint32_t primitiveType;
38 
39  };
40 
41  struct CadModelData
42  {
43  std::vector<VertexData> VertexData;
44  std::vector<int32_t> IndexData;
45  std::vector<SubPartInfo> SubPartInfo;
46  CadVec3 AABBMin;
47  CadVec3 AABBMax;
48  };
49 
51  {
52  public:
53  virtual bool LoadFromFile(const char* fileName,float tessellationFactor,CadModelData** o) = 0;
54  virtual void ReleaseModelData(CadModelData* pModelData) = 0;
55  };
56 
57 }
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: ICadModelImporter.h:18
Definition: ICadModelImporter.h:41
Definition: ICadModelImporter.h:25
Definition: ICadModelImporter.h:31
Definition: ICadModelImporter.h:50