Physics
Classes
Class | Description | |
---|---|---|
![]() | BasicCollisionFunctor |
Derived from the CollisionFunctor class. The BasicCollisionFunctor can be passed to
CollisionSystem.DetectAllCollision method and gets called for every collision found.
The collisions get added to a list.
|
![]() | Body |
Basic rigid body - can be used as is, or a derived class can
over-ride certain behaviours.
A body can only be added to one physics system at a time!
|
![]() | BodyRenderExtensions |
Class BodyRenderExtensions
|
![]() | CollisionIsland |
Class CollisionIsland
|
![]() | Constraint |
Class Constraint
|
![]() | ConstraintMaxDistance |
Constraints a point on one body to be fixed to a point on another body
|
![]() | ConstraintPoint |
Constraints a point on one body to be fixed to a point on another body
|
![]() | ConstraintVelocity |
Constrains a velocity to be a certain value - either in world
or body (by transforming the velocity direction) coordinates
|
![]() | ConstraintWorldPoint |
Constrains a point within a rigid body to remain at a fixed world point
|
![]() | Controller |
This can get updated at the same time as Body.AddExternalForces so that forces
can be added independant of individual bodies - e.g. joints between pairs of bodies.
|
![]() | FrozenCollisionPredicate |
Derived from CollisionSkinPredicate2. A SkinPredicate2 which can be passed
to CollisionSystem.DetectCollisions. Only active skin owners get considered.
|
![]() | HingeJoint |
Implements a simple hinge between two rigid bodies. The bodies
should be in a suitable configuration when this joint is created.
|
![]() | Joint |
Virtual base class for all joints
All joints are expected to do the following in their constructor:
1. create whatever constraints are necessary
2. register these constraints with the physics engine
|
![]() | PhysicsSystem |
Looks after (but doesn't own) a collection of bodies and runs
their updates. Doesn't deal with collision detection - it will
get passes a collision detector to do that.
In the vast majority of cases there will be only one physics system,
and it is consequently very annoying if every object has to keep
track of which physics system it's associated with. Therefore,
PhysicsSystem supports a "singleton" style use, but it also lets
the user change the "current" physics system (bad things will
happen if you set it to zero whilst there are still physical objects!).
If you want more than one physics system, then in your update loop set
the physics system to the first one, run physics, then set it to
the second one etc.
Note that the physics system constructor and destructor will set the
current physics system variable, so under normal circumstances you don't
need to worry about this.
|
Enumerations
Enumeration | Description | |
---|---|---|
![]() | ConstraintVelocity..::..ReferenceFrame |
enum ReferenceFrame
|
![]() | PhysicsSystem..::..Solver |
enum Solver
|