Go to the documentation of this file.00001 #pragma once
00002
00005 class IPhysic
00006 {
00007 public:
00009 virtual ~IPhysic(void) {}
00010
00013 virtual bool init(void) = 0;
00014
00017 virtual void uninit(void) = 0;
00018
00020 virtual pIBody createDummy(float3 position, float3 rotation) = 0;
00021
00023 virtual pIBody createSphere(float3 position, float3 rotation,
00024 float radius, float density = 1.f,
00025 ushort colGroup = 0, int material = 0, bool dynamic = false) = 0;
00026
00028 virtual pIBody createBox(float3 position, float3 rotation,
00029 float width, float height, float depth, float density = 1.f,
00030 ushort colGroup = 0, int material = 0, bool dynamic = false) = 0;
00031
00033 virtual pIBody createMesh(float3 position, float3 rotation,
00034 float* vertices, int vertexSize, int numVertices,
00035 ushort* indices, int numIndices, float density = 1.f,
00036 ushort colGroup = 0, int material = 0, bool dynamic = false) = 0;
00037
00039 virtual void createExplosion(float3 position) = 0;
00040
00042 virtual void freeBody(pIBody&) = 0;
00043
00046 virtual void update(float dt) = 0;
00047 };
00048
00049 typedef IPhysic* pIPhysic;