Logo Search packages:      
Sourcecode: blender version File versions  Download package

CcdPhysicsEnvironment Class Reference

#include <CcdPhysicsEnvironment.h>

Inheritance diagram for CcdPhysicsEnvironment:


List of all members.

Detailed Description

CcdPhysicsEnvironment is an experimental mainloop for physics simulation using optional continuous collision detection. Physics Environment takes care of stepping the simulation and is a container for physics entities. It stores rigidbodies,constraints, materials etc. A derived class may be able to 'construct' entities by loading and/or converting

Definition at line 51 of file CcdPhysicsEnvironment.h.

Public Member Functions

void addCcdPhysicsController (CcdPhysicsController *ctrl)
virtual void addSensor (PHY_IPhysicsController *ctrl)
virtual void addTouchCallback (int response_class, PHY_ResponseCallback callback, void *user)
virtual void beginFrame ()
virtual void CallbackTriggers ()
 CcdPhysicsEnvironment (btDispatcher *dispatcher=0, btOverlappingPairCache *pairCache=0)
virtual PHY_IPhysicsControllerCreateConeController (float coneradius, float coneheight)
virtual int createConstraint (class PHY_IPhysicsController *ctrl, class PHY_IPhysicsController *ctrl2, PHY_ConstraintType type, float pivotX, float pivotY, float pivotZ, float axisX, float axisY, float axisZ, float axis1X=0, float axis1Y=0, float axis1Z=0, float axis2X=0, float axis2Y=0, float axis2Z=0)
virtual PHY_IPhysicsControllerCreateSphereController (float radius, const PHY__Vector3 &position)
virtual int createUniversalD6Constraint (class PHY_IPhysicsController *ctrlRef, class PHY_IPhysicsController *ctrlOther, btTransform &localAttachmentFrameRef, btTransform &localAttachmentOther, const btVector3 &linearMinLimits, const btVector3 &linearMaxLimits, const btVector3 &angularMinLimits, const btVector3 &angularMaxLimits)
void EnableSatCollisionDetection (bool enableSat)
virtual void endFrame ()
virtual float getAppliedImpulse (int constraintid)
btBroadphaseInterfacegetBroadphase ()
btTypedConstraintgetConstraintById (int constraintId)
class btConstraintSolverGetConstraintSolver ()
virtual void getContactPoint (int i, float &hitX, float &hitY, float &hitZ, float &normalX, float &normalY, float &normalZ)
virtual float getFixedTimeStep ()
const btPersistentManifold * GetManifold (int index) const
virtual int getNumContactPoints ()
int GetNumControllers ()
CcdPhysicsControllerGetPhysicsController (int index)
virtual PHY_IVehicle * getVehicleConstraint (int constraintId)
bool IsSatCollisionDetectionEnabled () const
virtual bool proceedDeltaTime (double curTime, float timeStep)
 Perform an integration step of duration 'timeStep'.
virtual PHY_IPhysicsControllerrayTest (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)
void removeCcdPhysicsController (CcdPhysicsController *ctrl)
virtual void removeCollisionCallback (PHY_IPhysicsController *ctrl)
virtual void removeConstraint (int constraintid)
virtual void removeSensor (PHY_IPhysicsController *ctrl)
virtual void requestCollisionCallback (PHY_IPhysicsController *ctrl)
virtual void setCcdMode (int ccdMode)
 continuous collision detection mode, very experimental for Bullet
virtual void setConstraintParam (int constraintId, int param, float value, float value1)
virtual void setContactBreakingTreshold (float contactBreakingTreshold)
 setContactBreakingTreshold sets tresholds to do with contact point management
virtual void setDeactivationAngularTreshold (float angTresh)
 setDeactivationAngularTreshold sets the angular velocity treshold, see setDeactivationTime
virtual void setDeactivationLinearTreshold (float linTresh)
 setDeactivationLinearTreshold sets the linear velocity treshold, see setDeactivationTime
virtual void setDeactivationTime (float dTime)
 setDeactivationTime sets the minimum time that an objects has to stay within the velocity tresholds until it gets fully deactivated
virtual void setDebugDrawer (btIDebugDraw *debugDrawer)
 Perform an integration step of duration 'timeStep'.
virtual void setDebugMode (int debugMode)
 setDebugMode is used to support several ways of debug lines, contact point visualization
virtual void setFixedTimeStep (bool useFixedTimeStep, float fixedTimeStep)
virtual void setGravity (float x, float y, float z)
virtual void setLinearAirDamping (float damping)
 linear air damping for rigidbodies
virtual void setNumIterations (int numIter)
 setNumIterations set the number of iterations for iterative solvers
virtual void setNumTimeSubSteps (int numTimeSubSteps)
 setNumTimeSubSteps set the number of divisions of the timestep. Tradeoff quality versus performance.
virtual void setSolverDamping (float damping)
 setDamping sets the damper constant of a penalty based solver
virtual void setSolverSorConstant (float sor)
 successive overrelaxation constant, in case PSOR is used, values in between 1 and 2 guarantee converging behaviour
virtual void setSolverTau (float tau)
 setTau sets the spring constant of a penalty based solver
virtual void setSolverType (int solverType)
 setSolverType, internal setting, chooses solvertype, PSOR, Dantzig, impulse based, penalty based
virtual void setUseEpa (bool epa)
 penetrationdepth setting
void SyncMotionStates (float timeStep)

Protected Attributes

int m_ccdMode
< CcdPhysicsController * > 
btIDebugDraw * m_debugDrawer
class btDiscreteDynamicsWorldm_dynamicsWorld
bool m_enableSatCollisionDetection
class CcdOverlapFilterCallBack * m_filterCallback
int m_numIterations
int m_numTimeSubSteps
class btDispatcherm_ownDispatcher
class btOverlappingPairCachem_ownPairCache
int m_profileTimings
bool m_scalingPropagated
class btConstraintSolverm_solver
btContactSolverInfo m_solverInfo
int m_solverType
PHY_ResponseCallback m_triggerCallbacks [PHY_NUM_RESPONSE]
void * m_triggerCallbacksUserPtrs [PHY_NUM_RESPONSE]
< CcdPhysicsController * > 
std::vector< WrapperVehicle * > m_wrapperVehicles

Private Attributes

btVector3 m_gravity


class CcdOverlapFilterCallBack

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index