▼Ntainicom | |
▼NAether | |
▼NPhysics2D | |
▼NCollision | |
►NShapes | |
CChainShape | A chain shape is a free form sequence of line segments. The chain has two-sided collision, so you can use inside and outside collision. Therefore, you may use any winding order. Connectivity information is used to create smooth collisions. WARNING: The chain will not collide properly if there are self-intersections |
CCircleShape | A circle shape |
CEdgeShape | A line segment (edge) shape. These can be connected in chains or loops to other edge shapes. The connectivity information is used to ensure correct contact normals |
CPolygonShape | Represents a simple non-selfintersecting convex polygon. Create a convex hull from the given array of points |
CMassData | This holds the mass data computed for a shape |
CShape | A shape is used for collision detection. You can create a shape however you like. Shapes used for simulation in World are created automatically when a Fixture is created. Shapes may encapsulate a one or more child shapes |
CContactFeature | The features that intersect to form the contact point This must be 4 bytes or less |
CContactID | Contact ids to facilitate warm starting |
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. The local point usage depends on the manifold type: -ShapeType.Circles: the local center of circleB -SeparationFunction.FaceA: the local center of cirlceB or the clip point of polygonB -SeparationFunction.FaceB: the clip point of polygonA This structure is stored across time steps, so we keep it small. Note: the impulses are used for internal caching and may not provide reliable contact forces, especially for high speed collisions |
CManifold | A manifold for two touching convex Shapes. Box2D supports multiple types of contact: |
CClipVertex | Used for computing contact manifolds |
CRayCastInput | Ray-cast input data |
CRayCastOutput | Ray-cast output data |
CAABB | An axis aligned bounding box |
CEPAxis | This structure is used to keep track of the best separating axis |
CReferenceFace | Reference face used for clipping |
CDistanceProxy | A distance proxy is used by the GJK algorithm. It encapsulates any shape |
CSimplexCache | Used to warm start ComputeDistance. Set count to zero on first call |
CDistanceInput | Input for Distance.ComputeDistance(). You have to option to use the shape radii in the computation |
CDistanceOutput | Output for Distance.ComputeDistance() |
CDynamicTree | A dynamic tree arranges data in a binary tree to accelerate queries such as volume queries and ray casts. Leafs are proxies with an AABB. In the tree we expand the proxy AABB by Settings.b2_fatAABBFactor so that the proxy AABB is bigger than the client object. This allows the client object to move by small amounts without triggering a tree update |
CDynamicTreeBroadPhase | The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap |
CIBroadPhase | |
CTOIInput | Input parameters for CalculateTimeOfImpact |
CTOIOutput | |
▼NCommon | |
►NPhysicsLogic | |
CBreakableBody | A type of body that supports multiple fixtures that can break apart |
CControllerFilter | |
CFilterData | Contains filter data that can determine whether an object should be processed or not |
CPhysicsLogic | |
CRealExplosion | Creates a realistic explosion based on raycasting. Objects in the open will be affected, but objects behind static bodies will not. A body that is half in cover, half in the open will get half the force applied to the end in the open |
CSimpleExplosion | Creates a simple explosion that ignores other bodies hiding behind static bodies |
►NTextureTools | |
CTerrain | Simple class to maintain a terrain. It can keep track |
CTextureConverter | |
CComplex | |
CFixedArray2 | |
CFixedArray3 | |
CFixedArray4 | |
CFixedArray8 | |
CMat22 | A 2-by-2 matrix. Stored in column-major order |
CMat33 | A 3-by-3 matrix. Stored in column-major order |
CTransform | A transform contains translation and rotation. It is used to represent the position and orientation of rigid frames |
CSweep | This describes the motion of a body/shape for TOI computation. Shapes are defined with respect to the body origin, which may no coincide with the center of mass. However, to support dynamics we must interpolate the center of mass position |
CPath | Path: Very similar to Vertices, but this class contains vectors describing control points on a Catmull-Rom curve |
CVector2 | |
CVector3 | |
CVertices | |
▼NContent | |
CFixtureTemplate | |
CBodyTemplate | |
CBodyContainer | |
CPolygon | |
CPolygonContainer | |
CBodyContainerReader | |
CPolygonContainerReader | |
▼NControllers | |
CAbstractForceController | |
CBuoyancyController | |
CController | |
CGravityController | |
CSimpleWindForce | Reference implementation for forces based on AbstractForceController It supports all features provided by the base class and illustrates proper usage as an easy to understand example. As a side-effect it is a nice and easy to use wind force for your projects |
CVelocityLimitController | Put a limit on the linear (translation - the movespeed) and angular (rotation) velocity of bodies added to this controller |
▼NDynamics | |
►NContacts | |
CContactEdge | A contact edge is used to connect bodies and contacts together in a contact graph where each body is a node and each contact is an edge. A contact edge belongs to a doubly linked list maintained in each attached body. Each contact has two contact nodes, one for each attached body |
CContact | The class manages contact between two shapes. A contact exists for each overlapping AABB in the broad-phase (except if filtered). Therefore a contact object may exist that has no contact points |
CContactListHead | Head of a circular doubly linked list |
CContactPositionConstraint | |
CVelocityConstraintPoint | |
CContactVelocityConstraint | |
CContactSolver | |
►NJoints | |
CAngleJoint | Maintains a fixed angle between two bodies |
CDistanceJoint | A distance joint rains two points on two bodies to remain at a fixed distance from each other. You can view this as a massless, rigid rod |
CFixedMouseJoint | A mouse joint is used to make a point on a body track a specified world point. This a soft constraint with a maximum force. This allows the constraint to stretch and without applying huge forces. NOTE: this joint is not documented in the manual because it was developed to be used in the testbed. If you want to learn how to use the mouse joint, look at the testbed |
CFrictionJoint | Friction joint. This is used for top-down friction. It provides 2D translational friction and angular friction |
CGearJoint | A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = ant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length |
CJointEdge | A joint edge is used to connect bodies and joints together in a joint graph where each body is a node and each joint is an edge. A joint edge belongs to a doubly linked list maintained in each attached body. Each joint has two joint nodes, one for each attached body |
CJoint | |
CMotorJoint | A motor joint is used to control the relative motion between two bodies. A typical usage is to control the movement of a dynamic body with respect to the ground |
CPrismaticJoint | A prismatic joint. This joint provides one degree of freedom: translation along an axis fixed in bodyA. Relative rotation is prevented. You can use a joint limit to restrict the range of motion and a joint motor to drive the motion or to model joint friction |
CPulleyJoint | The pulley joint is connected to two bodies and two fixed world points. The pulley supports a ratio such that: length1 + ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio |
CRevoluteJoint | A revolute joint constrains to bodies to share a common point while they are free to rotate about the point. The relative rotation about the shared point is the joint angle. You can limit the relative rotation with a joint limit that specifies a lower and upper angle. You can use a motor to drive the relative rotation about the shared point. A maximum motor torque is provided so that infinite forces are not generated |
CRopeJoint | A rope joint enforces a maximum distance between two points on two bodies. It has no other effect. It can be used on ropes that are made up of several connected bodies, and if there is a need to support a heavy body. This joint is used for stabiliation of heavy objects on soft constraint joints |
CWeldJoint | A weld joint essentially glues two bodies together. A weld joint may distort somewhat because the island constraint solver is approximate |
CWheelJoint | A wheel joint. This joint provides two degrees of freedom: translation along an axis fixed in bodyA and rotation in the plane. You can use a joint limit to restrict the range of motion and a joint motor to drive the rotation or to model rotational friction. This joint is designed for vehicle suspensions |
CBody | |
►CBodyCollection | |
CBodyEnumerator | |
CContactManager | |
►CControllerCollection | |
CControllerEnumerator | |
CFixture | A fixture is used to attach a Shape to a body for collision detection. A fixture inherits its transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc |
►CFixtureCollection | |
CFixtureEnumerator | |
CFixtureProxy | This proxy is used internally to connect fixtures to the broad-phase |
CIsland | This is an internal class |
►CJointCollection | |
CJointEnumerator | |
CSolverIterations | |
CWorld | The world class manages all physics entities, dynamic simulation, and asynchronous queries |