diff options
Diffstat (limited to 'source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h')
-rw-r--r-- | source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h b/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h index 14904a70553..b1a0480ab14 100644 --- a/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h +++ b/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h @@ -105,87 +105,88 @@ public: class PHY_IPhysicsEnvironment { public: - virtual ~PHY_IPhysicsEnvironment(){}; - virtual void beginFrame() = 0; - virtual void endFrame() = 0; + virtual ~PHY_IPhysicsEnvironment(){} + virtual void BeginFrame() = 0; + virtual void EndFrame() = 0; /// Perform an integration step of duration 'timeStep'. - virtual bool proceedDeltaTime(double curTime,float timeStep,float interval)=0; + virtual bool ProceedDeltaTime(double curTime,float timeStep,float interval)=0; ///draw debug lines (make sure to call this during the render phase, otherwise lines are not drawn properly) - virtual void debugDrawWorld() {} - virtual void setFixedTimeStep(bool useFixedTimeStep,float fixedTimeStep)=0; + virtual void DebugDrawWorld() {} + virtual void SetFixedTimeStep(bool useFixedTimeStep,float fixedTimeStep)=0; //returns 0.f if no fixed timestep is used - virtual float getFixedTimeStep()=0; + virtual float GetFixedTimeStep()=0; ///setDebugMode is used to support several ways of debug lines, contact point visualization - virtual void setDebugMode(int debugMode) {} + virtual void SetDebugMode(int debugMode) {} ///setNumIterations set the number of iterations for iterative solvers - virtual void setNumIterations(int numIter) {} + virtual void SetNumIterations(int numIter) {} ///setNumTimeSubSteps set the number of divisions of the timestep. Tradeoff quality versus performance. - virtual void setNumTimeSubSteps(int numTimeSubSteps) {} + virtual void SetNumTimeSubSteps(int numTimeSubSteps) {} + virtual int GetNumTimeSubSteps() {return 0; } ///setDeactivationTime sets the minimum time that an objects has to stay within the velocity tresholds until it gets fully deactivated - virtual void setDeactivationTime(float dTime) {} + virtual void SetDeactivationTime(float dTime) {} ///setDeactivationLinearTreshold sets the linear velocity treshold, see setDeactivationTime - virtual void setDeactivationLinearTreshold(float linTresh) {} + virtual void SetDeactivationLinearTreshold(float linTresh) {} ///setDeactivationAngularTreshold sets the angular velocity treshold, see setDeactivationTime - virtual void setDeactivationAngularTreshold(float angTresh) {} + virtual void SetDeactivationAngularTreshold(float angTresh) {} ///setContactBreakingTreshold sets tresholds to do with contact point management - virtual void setContactBreakingTreshold(float contactBreakingTreshold) {} + virtual void SetContactBreakingTreshold(float contactBreakingTreshold) {} ///continuous collision detection mode, very experimental for Bullet - virtual void setCcdMode(int ccdMode) {} + virtual void SetCcdMode(int ccdMode) {} ///successive overrelaxation constant, in case PSOR is used, values in between 1 and 2 guarantee converging behavior - virtual void setSolverSorConstant(float sor) {} + virtual void SetSolverSorConstant(float sor) {} ///setSolverType, internal setting, chooses solvertype, PSOR, Dantzig, impulse based, penalty based - virtual void setSolverType(int solverType) {} + virtual void SetSolverType(int solverType) {} ///setTau sets the spring constant of a penalty based solver - virtual void setSolverTau(float tau) {} + virtual void SetSolverTau(float tau) {} ///setDamping sets the damper constant of a penalty based solver - virtual void setSolverDamping(float damping) {} + virtual void SetSolverDamping(float damping) {} ///linear air damping for rigidbodies - virtual void setLinearAirDamping(float damping) {} + virtual void SetLinearAirDamping(float damping) {} /// penetrationdepth setting - virtual void setUseEpa(bool epa) {} + virtual void SetUseEpa(bool epa) {} - virtual void setGravity(float x,float y,float z)=0; - virtual void getGravity(MT_Vector3& grav) = 0; + virtual void SetGravity(float x,float y,float z)=0; + virtual void GetGravity(MT_Vector3& grav) = 0; - virtual int createConstraint(class PHY_IPhysicsController* ctrl,class PHY_IPhysicsController* ctrl2,PHY_ConstraintType type, + virtual int CreateConstraint(class PHY_IPhysicsController* ctrl,class PHY_IPhysicsController* ctrl2,PHY_ConstraintType type, float pivotX,float pivotY,float pivotZ, float axis0X,float axis0Y,float axis0Z, float axis1X=0,float axis1Y=0,float axis1Z=0, float axis2X=0,float axis2Y=0,float axis2Z=0,int flag=0 )=0; - virtual void removeConstraint(int constraintid)=0; - virtual float getAppliedImpulse(int constraintid) { return 0.0f; } + virtual void RemoveConstraint(int constraintid)=0; + virtual float GetAppliedImpulse(int constraintid) { return 0.0f; } //complex constraint for vehicles - virtual PHY_IVehicle* getVehicleConstraint(int constraintId) =0; + virtual PHY_IVehicle* GetVehicleConstraint(int constraintId) =0; // Character physics wrapper - virtual PHY_ICharacter* getCharacterController(class KX_GameObject* ob) =0; + virtual PHY_ICharacter* GetCharacterController(class KX_GameObject* ob) =0; - virtual PHY_IPhysicsController* rayTest(PHY_IRayCastFilterCallback &filterCallback, float fromX,float fromY,float fromZ, float toX,float toY,float toZ)=0; + virtual PHY_IPhysicsController* RayTest(PHY_IRayCastFilterCallback &filterCallback, float fromX,float fromY,float fromZ, float toX,float toY,float toZ)=0; //culling based on physical broad phase // the plane number must be set as follow: near, far, left, right, top, botton // the near plane must be the first one and must always be present, it is used to get the direction of the view - virtual bool cullingTest(PHY_CullingCallback callback, void *userData, MT_Vector4* planeNormals, int planeNumber, int occlusionRes, const int *viewport, double modelview[16], double projection[16]) = 0; + virtual bool CullingTest(PHY_CullingCallback callback, void *userData, MT_Vector4* planeNormals, int planeNumber, int occlusionRes, const int *viewport, double modelview[16], double projection[16]) = 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 bool requestCollisionCallback(PHY_IPhysicsController* ctrl)=0; - virtual bool removeCollisionCallback(PHY_IPhysicsController* ctrl)=0; + 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 bool RequestCollisionCallback(PHY_IPhysicsController* ctrl)=0; + virtual bool RemoveCollisionCallback(PHY_IPhysicsController* ctrl)=0; //These two methods are *solely* used to create controllers for sensor! Don't use for anything else virtual PHY_IPhysicsController* CreateSphereController(float radius,const MT_Vector3& position) =0; virtual PHY_IPhysicsController* CreateConeController(float coneradius,float coneheight)=0; - virtual void setConstraintParam(int constraintId,int param,float value,float value1) = 0; - virtual float getConstraintParam(int constraintId,int param) = 0; + virtual void SetConstraintParam(int constraintId,int param,float value,float value1) = 0; + virtual float GetConstraintParam(int constraintId,int param) = 0; - virtual void exportFile(const char* filename) {}; + virtual void ExportFile(const char* filename) {}; #ifdef WITH_CXX_GUARDEDALLOC |