working physics
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "tier0/platform.h"
|
||||
#include "trig.h"
|
||||
|
||||
#ifndef PHYSICS_OBJECT_DEFINED
|
||||
struct BallShape_t
|
||||
{
|
||||
float m_fRadius;
|
||||
@@ -16,16 +17,18 @@ struct CuboidShape_t
|
||||
float m_fExtentZ;
|
||||
};
|
||||
|
||||
typedef void *HShape;
|
||||
typedef void *HCollider;
|
||||
|
||||
enum EPhysicsBodyType
|
||||
{
|
||||
k_EPhysics_Static,
|
||||
k_EPhysics_Dynamic,
|
||||
k_EPhysics_KinematicPositionBased,
|
||||
k_EPhysics_KinematicRotationBased,
|
||||
k_EPhysics_KinematicVelocityBased,
|
||||
};
|
||||
#endif
|
||||
|
||||
typedef void *HShape;
|
||||
typedef void *HCollider;
|
||||
|
||||
|
||||
abstract_class IPhysicsBody
|
||||
{
|
||||
@@ -38,6 +41,11 @@ public:
|
||||
abstract_class IPhysicsWorld
|
||||
{
|
||||
public:
|
||||
virtual void Frame( float fDelta ) = 0;
|
||||
|
||||
virtual IPhysicsBody *CreateRigidBody( HCollider hCollider, EPhysicsBodyType eType) = 0;
|
||||
virtual void DestroyPhysicsBody( IPhysicsBody *pBody ) = 0;
|
||||
|
||||
virtual void SetGravity( float fGravity ) = 0;
|
||||
};
|
||||
|
||||
@@ -54,9 +62,8 @@ public:
|
||||
|
||||
virtual IPhysicsWorld *CreateWorld() = 0;
|
||||
virtual void DestroyWorld( IPhysicsWorld *pWorld ) = 0;
|
||||
|
||||
virtual IPhysicsBody *CreateRigidBody( HCollider hCollider, EPhysicsBodyType eType) = 0;
|
||||
virtual void DestroyPhysicsBody( IPhysicsBody *pBody ) = 0;
|
||||
};
|
||||
|
||||
#define PHYSICS_INTERFACE_VERSION "Physics001"
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user