Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2005-03-25 13:33:39 +0300
committerKester Maddock <Christopher.Maddock.1@uni.massey.ac.nz>2005-03-25 13:33:39 +0300
commitc844aa265ad4eb50ad0e18661470fa6092052728 (patch)
treec4a778ab1227e4266022fd076e8a0cb709badd13 /source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
parent3dd17cec3bcaa3885e14630e6a71a8486e9b2697 (diff)
Big patches:
Erwin Coumans: Abstract the physics engine Charlie C: Joystick fixes Me: Moved the ray cast (shadows, mouse sensor & ray sensor)
Diffstat (limited to 'source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h')
-rw-r--r--source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h b/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
index 0fdac35f514..2ffcf80a62b 100644
--- a/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
+++ b/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
@@ -46,7 +46,12 @@ class PHY_IPhysicsEnvironment
virtual void beginFrame() = 0;
virtual void endFrame() = 0;
/// Perform an integration step of duration 'timeStep'.
- virtual bool proceed(double timeStep)=0;
+ virtual bool proceedDeltaTime(double curTime,float timeStep)=0;
+ virtual void setFixedTimeStep(bool useFixedTimeStep,float fixedTimeStep)=0;
+ //returns 0.f if no fixed timestep is used
+ virtual float getFixedTimeStep()=0;
+
+
virtual void setGravity(float x,float y,float z)=0;
virtual int createConstraint(class PHY_IPhysicsController* ctrl,class PHY_IPhysicsController* ctrl2,PHY_ConstraintType type,
@@ -54,8 +59,19 @@ class PHY_IPhysicsEnvironment
float axisX,float axisY,float axisZ)=0;
virtual void removeConstraint(int constraintid)=0;
- virtual PHY_IPhysicsController* rayTest(void* ignoreClient, float fromX,float fromY,float fromZ, float toX,float toY,float toZ,
+ virtual PHY_IPhysicsController* rayTest(PHY_IPhysicsController* ignoreClient, float fromX,float fromY,float fromZ, float toX,float toY,float toZ,
float& hitX,float& hitY,float& hitZ,float& normalX,float& normalY,float& normalZ)=0;
+
+
+ //Methods for gamelogic collision/physics callbacks
+ //todo:
+ virtual void addSensor(PHY_IPhysicsController* ctrl)=0;
+ virtual void removeSensor(PHY_IPhysicsController* ctrl)=0;
+ virtual void addTouchCallback(int response_class, PHY_ResponseCallback callback, void *user)=0;
+ virtual void requestCollisionCallback(PHY_IPhysicsController* ctrl)=0;
+ virtual PHY_IPhysicsController* CreateSphereController(float radius,const PHY__Vector3& position) =0;
+ virtual PHY_IPhysicsController* CreateConeController(float coneradius,float coneheight)=0;
+
};
#endif //_IPHYSICSENVIRONMENT