1 #ifndef CONCAVE_SCENE_H 2 #define CONCAVE_SCENE_H 3 4 #include "GpuRigidBodyDemo.h" 5 #include "Bullet3Common/b3Vector3.h" 6 7 class ConcaveScene : public GpuRigidBodyDemo 8 { 9 public: ConcaveScene()10 ConcaveScene() {} ~ConcaveScene()11 virtual ~ConcaveScene() {} getName()12 virtual const char* getName() 13 { 14 return "BoxTrimesh"; 15 } 16 MyCreateFunc()17 static GpuDemo* MyCreateFunc() 18 { 19 GpuDemo* demo = new ConcaveScene; 20 return demo; 21 } 22 23 virtual void setupScene(const ConstructionInfo& ci); 24 25 virtual void createDynamicObjects(const ConstructionInfo& ci); 26 27 virtual void createConcaveMesh(const ConstructionInfo& ci, const char* fileName, const b3Vector3& shift, const b3Vector3& scaling); 28 }; 29 30 class ConcaveSphereScene : public ConcaveScene 31 { 32 public: ConcaveSphereScene()33 ConcaveSphereScene() {} ~ConcaveSphereScene()34 virtual ~ConcaveSphereScene() {} getName()35 virtual const char* getName() 36 { 37 return "SphereTrimesh"; 38 } 39 MyCreateFunc()40 static GpuDemo* MyCreateFunc() 41 { 42 GpuDemo* demo = new ConcaveSphereScene; 43 return demo; 44 } 45 46 virtual void setupScene(const ConstructionInfo& ci); 47 48 virtual void createDynamicObjects(const ConstructionInfo& ci); 49 }; 50 51 class ConcaveCompoundScene : public ConcaveScene 52 { 53 public: ConcaveCompoundScene()54 ConcaveCompoundScene() {} ~ConcaveCompoundScene()55 virtual ~ConcaveCompoundScene() {} getName()56 virtual const char* getName() 57 { 58 return "CompoundConcave"; 59 } 60 MyCreateFunc()61 static GpuDemo* MyCreateFunc() 62 { 63 GpuDemo* demo = new ConcaveCompoundScene; 64 return demo; 65 } 66 67 virtual void setupScene(const ConstructionInfo& ci); 68 69 virtual void createDynamicObjects(const ConstructionInfo& ci); 70 }; 71 72 class ConcaveCompound2Scene : public ConcaveCompoundScene 73 { 74 public: ConcaveCompound2Scene()75 ConcaveCompound2Scene() {} ~ConcaveCompound2Scene()76 virtual ~ConcaveCompound2Scene() {} getName()77 virtual const char* getName() 78 { 79 return "GRBConcave2Compound"; 80 } 81 MyCreateFunc()82 static GpuDemo* MyCreateFunc() 83 { 84 GpuDemo* demo = new ConcaveCompound2Scene; 85 return demo; 86 } 87 virtual void createDynamicObjects(const ConstructionInfo& ci); 88 }; 89 90 #endif //CONCAVE_SCENE_H 91