Functions | |
ODE_API dJointID | dJointCreateBall (dWorldID, dJointGroupID) |
Create a new joint of the ball type. | |
ODE_API dJointID | dJointCreateHinge (dWorldID, dJointGroupID) |
Create a new joint of the hinge type. | |
ODE_API dJointID | dJointCreateSlider (dWorldID, dJointGroupID) |
Create a new joint of the slider type. | |
ODE_API dJointID | dJointCreateContact (dWorldID, dJointGroupID, const dContact *) |
Create a new joint of the contact type. | |
ODE_API dJointID | dJointCreateHinge2 (dWorldID, dJointGroupID) |
Create a new joint of the hinge2 type. | |
ODE_API dJointID | dJointCreateUniversal (dWorldID, dJointGroupID) |
Create a new joint of the universal type. | |
ODE_API dJointID | dJointCreateFixed (dWorldID, dJointGroupID) |
Create a new joint of the fixed type. | |
ODE_API dJointID | dJointCreateAMotor (dWorldID, dJointGroupID) |
Create a new joint of the A-motor type. | |
ODE_API dJointID | dJointCreateLMotor (dWorldID, dJointGroupID) |
Create a new joint of the L-motor type. | |
ODE_API dJointID | dJointCreatePlane2D (dWorldID, dJointGroupID) |
Create a new joint of the plane-2d type. | |
ODE_API void | dJointDestroy (dJointID) |
Destroy a joint.
disconnects it from its attached bodies and removing it from the world. However, if the joint is a member of a group then this function has no effect - to destroy that joint the group must be emptied or destroyed. | |
ODE_API dJointGroupID | dJointGroupCreate (int max_size) |
Create a joint group. | |
ODE_API void | dJointGroupDestroy (dJointGroupID) |
Destroy a joint group.
All joints in the joint group will be destroyed. | |
ODE_API void | dJointGroupEmpty (dJointGroupID) |
Empty a joint group.
All joints in the joint group will be destroyed, but the joint group itself will not be destroyed. | |
ODE_API void | dJointAttach (dJointID, dBodyID body1, dBodyID body2) |
Attach the joint to some new bodies.
If the joint is already attached, it will be detached from the old bodies first. To attach this joint to only one body, set body1 or body2 to zero - a zero body refers to the static environment. Setting both bodies to zero puts the joint into "limbo", i.e. it will have no effect on the simulation. | |
ODE_API void | dJointSetData (dJointID, void *data) |
Set the user-data pointer. | |
ODE_API void * | dJointGetData (dJointID) |
Get the user-data pointer. | |
ODE_API int | dJointGetType (dJointID) |
Get the type of the joint. | |
ODE_API dBodyID | dJointGetBody (dJointID, int index) |
Return the bodies that this joint connects. | |
ODE_API void | dJointSetFeedback (dJointID, dJointFeedback *) |
Sets the datastructure that is to receive the feedback. | |
ODE_API dJointFeedback * | dJointGetFeedback (dJointID) |
Gets the datastructure that is to receive the feedback. | |
ODE_API void | dJointSetBallAnchor (dJointID, dReal x, dReal y, dReal z) |
Set the joint anchor point.
The joint will try to keep this point on each body together. The input is specified in world coordinates. | |
ODE_API void | dJointSetBallAnchor2 (dJointID, dReal x, dReal y, dReal z) |
Set the joint anchor point. | |
ODE_API void | dJointSetHingeAnchor (dJointID, dReal x, dReal y, dReal z) |
Set hinge anchor parameter. | |
ODE_API void | dJointSetHingeAxis (dJointID, dReal x, dReal y, dReal z) |
Set hinge axis. | |
ODE_API void | dJointSetHingeParam (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointAddHingeTorque (dJointID joint, dReal torque) |
Applies the torque about the hinge axis. | |
ODE_API void | dJointSetSliderAxis (dJointID, dReal x, dReal y, dReal z) |
set the joint axis | |
ODE_API void | dJointSetSliderAxisDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az) |
ODE_API void | dJointSetSliderParam (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointAddSliderForce (dJointID joint, dReal force) |
Applies the given force in the slider's direction. | |
ODE_API void | dJointSetHinge2Anchor (dJointID, dReal x, dReal y, dReal z) |
set anchor | |
ODE_API void | dJointSetHinge2Axis1 (dJointID, dReal x, dReal y, dReal z) |
set axis | |
ODE_API void | dJointSetHinge2Axis2 (dJointID, dReal x, dReal y, dReal z) |
set axis | |
ODE_API void | dJointSetHinge2Param (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointAddHinge2Torques (dJointID joint, dReal torque1, dReal torque2) |
Applies torque1 about the hinge2's axis 1, torque2 about the hinge2's axis 2. | |
ODE_API void | dJointSetUniversalAnchor (dJointID, dReal x, dReal y, dReal z) |
set anchor | |
ODE_API void | dJointSetUniversalAxis1 (dJointID, dReal x, dReal y, dReal z) |
set axis | |
ODE_API void | dJointSetUniversalAxis2 (dJointID, dReal x, dReal y, dReal z) |
set axis | |
ODE_API void | dJointSetUniversalParam (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointAddUniversalTorques (dJointID joint, dReal torque1, dReal torque2) |
Applies torque1 about the universal's axis 1, torque2 about the universal's axis 2. | |
ODE_API void | dJointSetFixed (dJointID) |
Call this on the fixed joint after it has been attached to remember the current desired relative offset and desired relative rotation between the bodies. | |
ODE_API void | dJointSetAMotorNumAxes (dJointID, int num) |
set the nr of axes | |
ODE_API void | dJointSetAMotorAxis (dJointID, int anum, int rel, dReal x, dReal y, dReal z) |
set axis | |
ODE_API void | dJointSetAMotorAngle (dJointID, int anum, dReal angle) |
Tell the AMotor what the current angle is along axis anum. | |
ODE_API void | dJointSetAMotorParam (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointSetAMotorMode (dJointID, int mode) |
set mode | |
ODE_API void | dJointAddAMotorTorques (dJointID, dReal torque1, dReal torque2, dReal torque3) |
Applies torque0 about the AMotor's axis 0, torque1 about the AMotor's axis 1, and torque2 about the AMotor's axis 2. | |
ODE_API void | dJointSetLMotorNumAxes (dJointID, int num) |
Set the number of axes that will be controlled by the LMotor. | |
ODE_API void | dJointSetLMotorAxis (dJointID, int anum, int rel, dReal x, dReal y, dReal z) |
Set the AMotor axes. | |
ODE_API void | dJointSetLMotorParam (dJointID, int parameter, dReal value) |
set joint parameter | |
ODE_API void | dJointSetPlane2DXParam (dJointID, int parameter, dReal value) |
ODE_API void | dJointSetPlane2DYParam (dJointID, int parameter, dReal value) |
ODE_API void | dJointSetPlane2DAngleParam (dJointID, int parameter, dReal value) |
ODE_API void | dJointGetHingeAnchor (dJointID, dVector3 result) |
Get the hinge anchor point, in world coordinates. | |
ODE_API void | dJointGetHingeAnchor2 (dJointID, dVector3 result) |
Get the joint anchor point, in world coordinates. | |
ODE_API void | dJointGetHingeAxis (dJointID, dVector3 result) |
get axis | |
ODE_API dReal | dJointGetHingeParam (dJointID, int parameter) |
get joint parameter | |
ODE_API dReal | dJointGetHingeAngle (dJointID) |
Get the hinge angle. | |
ODE_API dReal | dJointGetHingeAngleRate (dJointID) |
Get the hinge angle time derivative. | |
ODE_API dReal | dJointGetSliderPosition (dJointID) |
Get the slider linear position (i.e. the slider's extension). | |
ODE_API dReal | dJointGetSliderPositionRate (dJointID) |
Get the slider linear position's time derivative. | |
ODE_API void | dJointGetSliderAxis (dJointID, dVector3 result) |
Get the slider axis. | |
ODE_API dReal | dJointGetSliderParam (dJointID, int parameter) |
get joint parameter | |
ODE_API void | dJointGetHinge2Anchor (dJointID, dVector3 result) |
Get the joint anchor point, in world coordinates. | |
ODE_API void | dJointGetHinge2Anchor2 (dJointID, dVector3 result) |
Get the joint anchor point, in world coordinates. This returns the point on body 2. If the joint is perfectly satisfied, this will return the same value as dJointGetHinge2Anchor. If not, this value will be slightly different. This can be used, for example, to see how far the joint has come apart. | |
ODE_API void | dJointGetHinge2Axis1 (dJointID, dVector3 result) |
Get joint axis. | |
ODE_API void | dJointGetHinge2Axis2 (dJointID, dVector3 result) |
Get joint axis. | |
ODE_API dReal | dJointGetHinge2Param (dJointID, int parameter) |
get joint parameter | |
ODE_API dReal | dJointGetHinge2Angle1 (dJointID) |
Get angle. | |
ODE_API dReal | dJointGetHinge2Angle1Rate (dJointID) |
Get time derivative of angle. | |
ODE_API dReal | dJointGetHinge2Angle2Rate (dJointID) |
Get time derivative of angle. | |
ODE_API void | dJointGetUniversalAnchor (dJointID, dVector3 result) |
Get the joint anchor point, in world coordinates. | |
ODE_API void | dJointGetUniversalAnchor2 (dJointID, dVector3 result) |
Get the joint anchor point, in world coordinates. | |
ODE_API void | dJointGetUniversalAxis1 (dJointID, dVector3 result) |
Get axis. | |
ODE_API void | dJointGetUniversalAxis2 (dJointID, dVector3 result) |
Get axis. | |
ODE_API dReal | dJointGetUniversalParam (dJointID, int parameter) |
get joint parameter | |
ODE_API dReal | dJointGetUniversalAngle1 (dJointID) |
Get angle. | |
ODE_API dReal | dJointGetUniversalAngle2 (dJointID) |
Get angle. | |
ODE_API dReal | dJointGetUniversalAngle1Rate (dJointID) |
Get time derivative of angle. | |
ODE_API dReal | dJointGetUniversalAngle2Rate (dJointID) |
Get time derivative of angle. | |
ODE_API int | dJointGetAMotorNumAxes (dJointID) |
Get the number of angular axes that will be controlled by the AMotor. | |
ODE_API void | dJointGetAMotorAxis (dJointID, int anum, dVector3 result) |
Get the AMotor axes. | |
ODE_API int | dJointGetAMotorAxisRel (dJointID, int anum) |
Get axis. | |
ODE_API dReal | dJointGetAMotorAngle (dJointID, int anum) |
Get the current angle for axis. | |
ODE_API dReal | dJointGetAMotorAngleRate (dJointID, int anum) |
Get the current angle rate for axis anum. | |
ODE_API dReal | dJointGetAMotorParam (dJointID, int parameter) |
get joint parameter | |
ODE_API int | dJointGetAMotorMode (dJointID) |
Get the angular motor mode. | |
ODE_API int | dJointGetLMotorNumAxes (dJointID) |
Get nr of axes. | |
ODE_API void | dJointGetLMotorAxis (dJointID, int anum, dVector3 result) |
Get axis. | |
ODE_API dReal | dJointGetLMotorParam (dJointID, int parameter) |
get joint parameter | |
ODE_API dJointID | dConnectingJoint (dBodyID, dBodyID) |
ODE_API int | dConnectingJointList (dBodyID, dBodyID, dJointID *) |
ODE_API int | dAreConnected (dBodyID, dBodyID) |
Utility function. | |
ODE_API int | dAreConnectedExcluding (dBodyID, dBodyID, int joint_type) |
Utility function. |
A joint has a set of parameters that can be set. These include:
|
Utility function.
|
|
Utility function.
|
|
Applies torque0 about the AMotor's axis 0, torque1 about the AMotor's axis 1, and torque2 about the AMotor's axis 2.
|
|
Applies torque1 about the hinge2's axis 1, torque2 about the hinge2's axis 2.
|
|
Applies the torque about the hinge axis. That is, it applies a torque with specified magnitude in the direction of the hinge axis, to body 1, and with the same magnitude but in opposite direction to body 2. This function is just a wrapper for dBodyAddTorque()} |
|
Applies the given force in the slider's direction. That is, it applies a force with specified magnitude, in the direction of slider's axis, to body1, and with the same magnitude but opposite direction to body2. This function is just a wrapper for dBodyAddForce(). |
|
Applies torque1 about the universal's axis 1, torque2 about the universal's axis 2.
|
|
Attach the joint to some new bodies. If the joint is already attached, it will be detached from the old bodies first. To attach this joint to only one body, set body1 or body2 to zero - a zero body refers to the static environment. Setting both bodies to zero puts the joint into "limbo", i.e. it will have no effect on the simulation.
|
|
Create a new joint of the A-motor type.
|
|
Create a new joint of the ball type.
|
|
Create a new joint of the contact type.
|
|
Create a new joint of the fixed type.
|
|
Create a new joint of the hinge type.
|
|
Create a new joint of the hinge2 type.
|
|
Create a new joint of the L-motor type.
|
|
Create a new joint of the plane-2d type.
|
|
Create a new joint of the slider type.
|
|
Create a new joint of the universal type.
|
|
Get the current angle for axis.
|
|
Get the current angle rate for axis anum.
|
|
Get the AMotor axes.
|
|
Get axis.
|
|
Get the angular motor mode.
|
|
Get the number of angular axes that will be controlled by the AMotor.
|
|
Return the bodies that this joint connects.
|
|
Get the joint anchor point, in world coordinates.
|
|
Get the hinge anchor point, in world coordinates. This returns the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2. |
|
Get the joint anchor point, in world coordinates.
|
|
Get the hinge angle. The angle is measured between the two bodies, or between the body and the static environment. The angle will be between -pi..pi. When the hinge anchor or axis is set, the current position of the attached bodies is examined and that position will be the zero angle. |
|
Get the slider linear position (i.e. the slider's extension). When the axis is set, the current position of the attached bodies is examined and that position will be the zero position. |
|
Get the type of the joint.
|
|
Get the joint anchor point, in world coordinates.
|
|
Get the joint anchor point, in world coordinates.
|
|
Create a joint group.
|
|
Tell the AMotor what the current angle is along axis anum. This function should only be called in dAMotorUser mode, because in this mode the AMotor has no other way of knowing the joint angles. The angle information is needed if stops have been set along the axis, but it is not needed for axis motors. |
|
set the nr of axes
|
|
Sets the datastructure that is to receive the feedback. The feedback can be used by the user, so that it is known how much force an individual joint exerts. |
|
Set the AMotor axes.
|
|
Set the number of axes that will be controlled by the LMotor.
|