HughPH.Box2D
Organised dotnet bindings for Box2D 3.1.0
|
▼NBox2D | |
▼NCharacter_Movement | |
CCollisionPlane | These are collision planes that can be fed to b2SolvePlanes. Normally this is assembled by the user from plane results in b2PlaneResult |
CPlane | A plane in 2D space |
CPlaneResult | These are the collision planes returned from b2World_CollideMover |
CPlaneSolverResult | Result returned by b2SolvePlanes |
NComparers | |
▼NDelegates | |
NGeneric | |
NSafe | |
NUnsafe | |
CAABB | An Axis-Aligned Bounding Box |
CBody | A Box2D physics body. The body's transform is the base transform for all shapes attached to this body |
CBodyDef | A body definition holds all the data needed to construct a rigid body. You can safely re-use body definitions. Shapes are added to a body after construction. Body definitions are temporary objects used to bundle creation parameters |
CBodyEvents | Body events are buffered in the Box2D world and are available as event arrays after the time step is complete. Note: this data becomes invalid if bodies are destroyed |
CBodyMoveEvent | Body move events triggered when a body moves. Triggered when a body moves due to simulation. Not reported for bodies moved by the user. This also has a flag to indicate that the body went to sleep so the application can also sleep that actor/entity/object associated with the body. On the other hand if the flag does not indicate the body went to sleep then the application can treat the actor/entity/object associated with the body as awake. This is an efficient way for an application to update game object transforms rather than calling functions such as Body.GetTransform() because this data is delivered as a contiguous array and it is only populated with bodies that have moved. Note: If sleeping is disabled all dynamic and kinematic bodies will trigger move events. |
CBox2DVersion | Box2D version information |
CCapsule | A solid capsule can be viewed as two semicircles connected by a rectangle |
CCastOutput | Low level ray cast or shape-cast output data |
CChainDef | Used to create a chain of line segments. This is designed to eliminate ghost collisions with some limitations |
CChainSegment | A line segment with one-sided collision. Only collides on the right side. Several of these are generated for a chain shape. ghost1 -> point1 -> point2 -> ghost2 |
CChainShape | A chain shape is a series of connected line segments |
CCircle | A solid circle |
CContactBeginTouchEvent | A begin touch event is generated when two shapes begin touching |
CContactData | The contact data for two shapes. By convention the manifold normal points from shape A to shape B |
CContactEndTouchEvent | An end touch event is generated when two shapes stop touching. You will get an end event if you do anything that destroys contacts previous to the last world step. These include things like setting the transform, destroying a body or shape, or changing a filter or body type |
CContactEvents | Contact events are buffered in the Box2D world and are available as event arrays after the time step is complete. Note: these may become invalid if bodies and/or shapes are destroyed |
CContactHitEvent | A hit touch event is generated when two shapes collide with a speed faster than the hit speed threshold |
CCounters | Counters that give details of the simulation size |
CDebugDraw | Debug Draw base class. You cannot set DebugDraw delegates with this class. Use an instance of one of these implementations: |
CDebugDrawGeneric | This class holds callbacks you can implement to draw a Box2D world |
CDebugDrawGenericBase | Base class for DebugDrawGeneric implementations - i.e. those that receive a managed type context |
CDebugDrawInternal | This struct holds callbacks you can implement to draw a Box2D world. This structure should be zero initialized |
CDebugDrawSimple | This class holds callbacks you can implement to draw a Box2D world |
CDebugDrawSimpleBase | Base class for simple debug draw implementations - i.e. without context |
CDebugDrawUnsafe | This class holds callbacks you can implement to draw a Box2D world |
CDebugDrawUnsafeBase | Base class for unsafe debug draw implementations - i.e. those that use pointers |
CDistanceInput | Input for ShapeDistance |
CDistanceJoint | A distance joint. This requires defining an anchor point on both bodies and the non-zero distance of the distance joint. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. This helps when saving and loading a game |
CDistanceJointDef | Distance joint definition This requires defining an anchor point on both bodies and the non-zero distance of the distance joint. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. This helps when saving and loading a game |
CDistanceOutput | Output for ShapeDistance |
CDynamicTree | Dynamic tree for broad-phase collision detection |
CExplosionDef | The explosion definition is used to configure options for explosions. Explosions consider shape geometry when computing the impulse |
CFilter | This is used to filter collision on shapes. It affects shape-vs-shape collision and shape-versus-query collision (such as World.CastRay) |
CFilterJointDef | The filter joint is used to disable collision between two bodies. As a side effect of being a joint, it also keeps the two bodies in the same simulation island |
CGears | Gear calculation functionality no included in Box2D |
CHull | A convex hull. Used to create convex polygons |
CJoint | Joints allow you to connect rigid bodies together while allowing various forms of relative motions |
CManifold | A contact manifold describes the contact points between colliding shapes |
CManifoldPoint | A manifold point is a contact point belonging to a contact manifold. It holds details related to the geometry and dynamics of the contact points. Box2D uses speculative collision so some contact points may be separated. You may use the maxNormalImpulse to determine if there was an interaction during the time step |
CMassData | This holds the mass data computed for a shape |
CMotorJoint | The motor joint is used to drive the relative transform between two bodies. It takes a relative position and rotation and applies the forces and torques needed to achieve that relative transform over time |
CMotorJointDef | A motor joint is used to control the relative motion between two bodies |
CMouseJoint | The mouse joint is designed for use in the samples application, but you may find it useful in applications where the user moves a rigid body with a cursor |
CMouseJointDef | A mouse joint is used to make a point on a body track a specified world point. |
CPolygon | A solid convex polygon. It is assumed that the interior of the polygon is to the left of each edge. Polygons have a maximum number of vertices equal to B2_MAX_POLYGON_VERTICES. In most cases you should not need many vertices for a convex polygon. Warning: DO NOT fill this out manually, instead use a helper function like MakePolygon or MakeBox. |
CPrismaticJoint | A prismatic joint allows for translation along a single axis with no rotation |
CPrismaticJointDef | Prismatic joint definition |
CProfile | Profiling data for Box2D. All times are in milliseconds |
CQueryFilter | The query filter is used to filter collisions between queries and shapes. For example, you may want a ray-cast representing a projectile to hit players and the static environment but not debris |
CRayCastInput | Low level ray cast input data |
CRayResult | Results of a Box2D raycast query, including intersection details and traversal statistics |
CRevoluteJoint | A revolute joint allows for relative rotation in the 2D plane with no relative translation |
CRevoluteJointDef | Revolute joint definition |
CRotation | Rotation expressed as a cosine and sine |
CSegment | A line segment with two-sided collision |
CSegmentDistanceResult | Result of computing the distance between two line segments |
CSensorBeginTouchEvent | A begin touch event is generated when a shape starts to overlap a sensor shape |
CSensorEndTouchEvent | An end touch event is generated when a shape stops overlapping a sensor shape. These include things like setting the transform, destroying a body or shape, or changing a filter. You will also get an end event if the sensor or visitor are destroyed. Therefore you should always confirm the shape is valid using Shape.Valid |
CSensorEvents | Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays after the time step is complete. Note: these may become invalid if bodies and/or shapes are destroyed |
CShape | A shape is a geometric object used for collision detection |
CShapeCastInput | Low level shape cast input in generic form. This allows casting an arbitrary point cloud wrap with a radius. For example, a circle is a single point with a non-zero radius. A capsule is two points with a non-zero radius. A box is four points with a zero radius |
CShapeCastPairInput | Input parameters for ShapeCast |
CShapeDef | Used to create a shape. This is a temporary object used to bundle shape creation parameters. You may use the same shape definition to create multiple shapes |
CShapeProxy | A distance proxy is used by the GJK algorithm. It encapsulates any shape. You can provide between 1 and Constants.MAX_POLYGON_VERTICES and a radius |
CSimplex | Simplex from the GJK algorithm |
CSimplexCache | Used to warm start the GJK simplex. If you call this function multiple times with nearby transforms this might improve performance. Otherwise you can zero initialize this. The distance cache must be initialized to zero on the first call. Users should generally just zero initialize this structure for each call |
CSimplexVertex | Simplex vertex for debugging the GJK algorithm |
CSurfaceMaterial | Surface materials allow chain shapes to have per segment surface properties |
CSweep | This describes the motion of a body/shape for TOI computation. Shapes are defined with respect to the body origin, which may not coincide with the center of mass. However, to support dynamics we must interpolate the center of mass position |
CTOIInput | Input parameters for TimeOfImpact |
CTOIOutput | Output parameters for TimeOfImpact |
CTransform | A transform contains translation and rotation |
CTreeChildren | The children of a TreeNode |
CTreeNode | A node in a DynamicTree |
CTreeStats | These are performance results returned by dynamic tree queries |
CWeldJoint | A weld joint fully constrains the relative transform between two bodies while allowing for springiness A weld joint constrains the relative rotation and translation between two bodies. Both rotation and translation can have damped springs. Note: The accuracy of weld joint is limited by the accuracy of the solver. Long chains of weld joints may flex. |
CWeldJointDef | Weld joint definition |
CWheelJoint | The wheel joint can be used to simulate wheels on vehicles |
CWheelJointDef | Wheel joint definition |
CWorld | A Box2D World, the container for all bodies, shapes, and constraints |
CWorldDef | World definition used to create a simulation world |