PhysicsEngine Class |
[Missing <summary> documentation for "T:Demo3D.Visuals.PhysicsEngine"]
Namespace: Demo3D.Visuals
public class PhysicsEngine : IDisposable
The PhysicsEngine type exposes the following members.
| Name | Description | |
|---|---|---|
| CallbacksCount |
The total number of ProcessContact calls made following the collision detection phase.
| |
| CCD |
Whether Continuous Collision Detection should be performed.
| |
| ContactsCount |
The total number of contact points generated in the collision detection phase.
| |
| ConveyorsGroup |
The collision group for conveyors.
| |
| DeflectorsGroup |
The collision group for deflectors.
| |
| DiagnosticSensorsGroup |
The collision group for diagnostic sensors.
| |
| EngineCollisionDetectionTime | ||
| EngineNativeCollisionDetectionTime | ||
| EngineProcessingTime | ||
| EngineSolverTime | ||
| FloorsGroup |
The collision group for floors.
| |
| LoadsGroup |
The collision group for loads.
| |
| NoneGroup |
The special "None" collision group.
| |
| PhysicsStepSubscribed |
Whether anything has subscribed to receive physics step notifications.
| |
| ProcessCollisionsSingleThreaded |
Whether to process collisions received from the physics engine in the simulation thread.
| |
| ProcessCollisionsTime | ||
| RandomSeed |
The random seed for the physics engine.
| |
| RenderBodyProperties |
Whether to render important properties for each rigid body.
| |
| RenderBoundingBoxes |
Whether to render axis aligned bounding boxes for the physics bodies.
| |
| RenderPhysics |
Whether to render the physics geometry and contact points for debugging purposes.
| |
| SensorsGroup |
The collision group for sensors.
| |
| SimulationGroup |
The collision group for planar physics.
| |
| SleepingTime |
The time that a rigid body must be idle, according to the rigid body's
LinearSleepingThreshold and
AngularSleepingThreshold values, before it is allowed to
enter the sleeping state.
| |
| SolverIterations |
Number of iterations to use when solving constraints in the dynamics response phase.
| |
| StopBladesGroup |
The collision group for stop blades.
| |
| Ticks |
Counter incremented every time AdvanceTime(Boolean, Double) is called, and reset to zero on Reset.
Can be used to notice in other code if a new physics step has been started,
allowing per-physics step caches to be implemented.
| |
| Time |
The current simulation time.
| |
| VehiclesGroup |
The collision group for vehicles.
|
| Name | Description | |
|---|---|---|
| AddGeometryProcessCollisionHandler |
Add a delegate for a specific geometry that is called for each collision that the
specified geometry is involved in.
| |
| AddGeometryProcessContactHandler | Obsolete.
Add a delegate for a specific geometry that is called for each contact point generated
when the specified geometry collides with another physics object's geometry.
| |
| AddPostCollideDelegate(PostCollideDelegate, Visual) |
Subscribes to be notified after the collision detection phase has been completed.
| |
| AddPostCollideDelegate(PostCollideDataDelegate, Visual, Object) |
Subscribes to be notified after the collision detection phase has been completed.
| |
| AddRenderPoint | Obsolete.
Renders the specified "render point".
| |
| AddSensorDelegate |
Subscribes to be notified of blocked and cleared events.
| |
| Clear |
Destroys and reconstructs the physics world.
| |
| Clear(Boolean) |
Destroys and reconstructs the physics world if specified.
| |
| ClearAllRenderLabels |
Removes all the labels in the render list, including persistent labels.
| |
| ClearAllRenderLines |
Removes all render lines in the render list, including persistent lines.
| |
| ClearAllRenderLines(String) |
Removes all lines from the render list with the specified key, including persistent
lines.
| |
| ClearAllRenderPoints |
Removes all points in the render list, including persistent points.
| |
| ClearAllRenderPoints(String) |
Removes all points from the render list with the specified key, including persistent points.
| |
| ClearRenderLabels |
Removes all non-persistent labels in the render list.
| |
| ClearRenderLines |
Removes all non-persistent lines in the render list.
| |
| ClearRenderPoints |
Removes all non-persistent points in the render list.
| |
| ClearRenderPoints(String) |
Removes all non-persistent points from the render list with the specified key.
| |
| Collide(BBox, PhysicsGroup, Boolean) |
Finds all physics bodies prescribed to the specified group that are
intersecting the specified bounding box.
| |
| Collide(BBox, IListPhysicsGroup, Boolean) |
Finds all physics bodies prescribed to any of the groups specified in the group list
that are intersecting the specified bounding box.
| |
| Collide(BSphere, PhysicsGroup, Boolean) |
Finds all physics bodies prescribed to the specified group that are
intersecting the specified bounding sphere.
| |
| Collide(BSphere, IListPhysicsGroup, Boolean) |
Finds all physics objects prescribed to any of the groups specified in the group list
that are intersecting the specified bounding sphere.
| |
| Collide(PhysicsBody, PhysicsGroup, Boolean) |
Finds all physics bodies prescribed to the specified group that are
colliding with the specified body.
| |
| Collide(PhysicsBody, IListPhysicsGroup, Boolean) |
Finds all physics objects prescribed to any of the groups specified in the group list
that are colliding with the specified body.
| |
| Collides(IListPhysicsGroup, IListPhysicsGroup) |
Whether physics objects prescribing to any of the groups in
groupListA are tested for collisions against physics objects
prescribing to any of the groups in groupListB.
| |
| Collides(PhysicsBody, PhysicsBody) |
Whether the first physics object is tested for collisions against the second collision
object by virtue of their groups.
| |
| Collides(PhysicsGroup, PhysicsGroup) |
Whether physics objects prescribing to groupA should collide with
physics objects prescribing to groupB.
| |
| Collides(PhysicsGroup, PhysicsGroup, Boolean) |
Specifies whether physics objects prescribing to groupA should
collide with physics objects prescribing to groupB.
| |
| CountBodies |
Counts the number of bodies in the physics world.
| |
| CountBodies(PhysicsGroup) |
Counts the number of bodies in the physics world that prescribe to the specified group.
| |
| CountBodies(PredicatePhysicsBody) |
Counts the number of bodies in the physics world matching the provided predicate.
| |
| CreateApproximateCylinderGeometry |
Approximates a cylindrical collision geometry using a convex-hull.
| |
| CreateBallSocketJoint(PhysicsRigidBody, Vector3) |
Creates a ball and socket (spherical) joint in the physics world that constrains the
specified rigid body to maintain a fixed distance from the specified world-space anchor
position.
| |
| CreateBallSocketJoint(PhysicsRigidBody, PhysicsRigidBody, Vector3) |
Creates a ball and socket (spherical) joint in the physics world that constrains the
two specified rigid bodies to maintain a fixed distance from the specified world-space
anchor position.
| |
| CreateBoxGeometry |
Creates a box (rectangular parallelepiped) collision geometry.
| |
| CreateCompoundGeometry |
Creates an empty compound collision geometry.
| |
| CreateContactJoint(PhysicsBody, PhysicsBody, ContactInfo, Boolean) | Obsolete.
Instructs the physics engine to create a contact joint for the specified contact point.
| |
| CreateContactJoint(Visual, Visual, ContactInfo, Boolean) | Obsolete.
Instructs the physics engine to create a contact joint for the specified contact point.
| |
| CreateConvexHullGeometry(IEnumerableVector3, Double) |
Creates a convex-hull geometry from the provided collection of points that form the
convex-hull.
| |
| CreateConvexHullGeometry(IMesh, Double) |
Creates a convex-hull geometry that tightly wraps the vertices that form the provided
mesh.
| |
| CreateConvexHullGeometryByDecomposition |
Decomposes the provided mesh into a number of convex-hulls.
| |
| CreateCylinderGeometry |
Creates a cylindrical collision geometry formed about the z-axis.
| |
| CreateFixedJoint(PhysicsRigidBody) |
Creates a fixed joint in the physics world that constrains the specified rigid body
to maintain its current position and orientation in the physics world.
| |
| CreateFixedJoint(PhysicsRigidBody, PhysicsRigidBody) |
Creates a fixed joint in the physics world that constrains the two specified rigid
bodies to maintain their current positions and orientations relative to each other.
| |
| CreateGroup |
Creates a collision group identified by the specified name.
| |
| CreateGroupList |
Creates an empty collision group list.
| |
| CreateHingeJoint(PhysicsRigidBody, Matrix) |
Creates a hinge (revolute) joint in the physics world that constrains the specified
rigid body to maintain a fixed distance from the origin of the speicied transform but is
allowed to pivot about the z-axis of the specified transform.
| |
| CreateHingeJoint(PhysicsRigidBody, PhysicsRigidBody, Matrix) |
Creates a hinge (revolute) joint in the physics world that constrains the two specified
rigid bodies to maintain a fixed distance from the origin of the specified transform but
are allowed to pivot about the z-axis of the specified transform.
| |
| CreateRigidBody |
Creates a rigid body in the physics world.
| |
| CreateRigidBodyProperties |
Creates an empty container of properties that is used to instantiate a rigid body.
| |
| CreateSimulationSensor |
Creates a non-movable sensor for planar physics with the specified geometry and
world-space transform in the physics world.
| |
| CreateSliderJoint(PhysicsRigidBody, Matrix) |
Creates a slider (prismatic) joint in the physics world that constrains the specified
rigid body to maintain a fixed orientation in the physics world but is allowed to move
in the direction of the specified transform's x-axis.
| |
| CreateSliderJoint(PhysicsRigidBody, PhysicsRigidBody, Matrix) |
Creates a slider (prismatic) joint in the physics world that constrains the specified
rigid bodies to maintain a fixed orientation relative to each other but are allowed to
move in the direction of the specified transform's x-axis.
| |
| CreateSphereGeometry |
Creates a spherical collision geometry.
| |
| CreateStaticBody |
Creates a static body in the physics world.
| |
| CreateStaticBodyProperties |
Creates an empty container of properties that is used to instantiate a static body.
| |
| CreateTriangleMeshGeometry |
Creates a concave collision geometry formed of triangular faces.
| |
| DestroyBody |
Destroys the specified physics body.
| |
| DestroyGeometry |
Removes the specified geometry from the physics world and disposes of it.
| |
| DestroyJoint |
Removes the specified joint from the physics world and disposes of it.
| |
| DestroySimulationSensor |
Removes the specifed planar physics sensor from the physics world.
| |
| DetectLoad |
Records a load as having been detected by a sensor.
| |
| DisableCCD |
Disables continuous collision detection on the specified physics
body.
| |
| EnableCCD |
Enables continuous collision detection on the specified physics body.
| |
| FindCollisions(SpaceType, Visual) | Obsolete. | |
| FindCollisions(SpaceType, Visual, Double) | Obsolete. | |
| FrictionMaterial(PhysicsGeometry) |
Retrieves the friction material for the specified geometry.
| |
| FrictionMaterial(Visual) |
Retrieves the friction material for the geometry of the specified visual.
| |
| IsDeflector(PhysicsBody) | ||
| IsDeflector(Visual) | ||
| IsDeflectorBlocksSensors(PhysicsBody) | ||
| IsDeflectorBlocksSensors(Visual) | ||
| IsDynamic | ||
| IsFirstContact |
Record the specified sensor and load as touching. The ProcessCollision(PhysicsCollision, Visual, PhysicsBody)
method will be called with other=null when the contact is broken, and the first time
the load is seen this method will return true.
| |
| IsFloor | ||
| IsKinematic | ||
| IsLoad(PhysicsBody) | ||
| IsLoad(Visual) | ||
| IsSensor(PhysicsBody) | ||
| IsSensor(Visual) | ||
| IsStatic | ||
| IsStopBlade | ||
| IsTrigger | ||
| IsVehicle(PhysicsBody) | ||
| IsVehicle(Visual) | ||
| KeepAwake |
Keeps the specified rigid body awake for the physics auto-disable time.
| |
| ProcessPostCollideEvents |
Notifies visuals that were subscribed to be notified when the collision detection phase
was completed.
| |
| ProcessSensorDelegates |
Notifies sensors that were subscribed to be notified of blocked and cleared events.
| |
| RaiseException |
Logs an exception in a thread-safe way for deferred processing.
| |
| RaiseFrictionError |
Logs a friction error in a thread-safe way.
| |
| RemoveGeometryProcessCollisionHandler |
Remove a collision handler delegate from a geometry.
| |
| RemoveGeometryProcessContactHandler | Obsolete.
Remove a contact handler delegate from a geom.
| |
| RemoveVisual |
Removes the physics body from the specified visual and then destroys the removed physics
body.
| |
| RenderLabel(String, Color, Vector3, Boolean) |
Creates a label and adds it to the render list.
| |
| RenderLabel(String, Color, Vector3, Vector2, Boolean) |
Creates a label and adds it to the render list.
| |
| RenderLine |
Creates a renderable line and adds it to the render list.
| |
| RenderPoint |
Creates a renderable point and adds it to the render list.
| |
| SetFrictionMaterialRecursive |
Sets the friction material down the geometry hierarchy.
| |
| UndetectLoad |
Unrecords a load as having been detected by a sensor.
| |
| WakeUp |
Wakes up the specified physics rigid body.
| |
| WakeUpLoads(BBox) |
Wakes up any loads that intersect the specified bounding box.
| |
| WakeUpLoads(BSphere) |
Wakes up any loads that intersect the specified bounding sphere.
|
| Name | Description | |
|---|---|---|
| PhysicsStepBeforeProcessCollisions |
Subscribe/unsubscribe to be notified before collisions are processed.
| |
| PhysicsStepBeforeResolve |
Subscribe/unsubscribe to be notified before the dynamics response phase is performed.
| |
| PhysicsStepCompleted |
Subscribe/unsubscribe to be notified after the dynamics response phase has been
performed.
| |
| PhysicsStepStarted |
Subscribe/unsubscribe to be notified before the collision detection phase is performed.
|