Modules | |
Sphere Class | |
Box Class | |
Data Structures | |
struct | dContactGeom |
Describe the contact point between two geoms. More... | |
Typedefs | |
typedef dReal | dHeightfieldGetHeight (void *p_user_data, int x, int z) |
Callback prototype. | |
typedef void | dNearCallback (void *data, dGeomID o1, dGeomID o2) |
User callback for geom-geom collision testing. | |
Functions | |
ODE_API void | dGeomDestroy (dGeomID geom) |
Destroy a geom, removing it from any space. | |
ODE_API void | dGeomSetData (dGeomID geom, void *data) |
Set the user-defined data pointer stored in the geom. | |
ODE_API void * | dGeomGetData (dGeomID geom) |
Get the user-defined data pointer stored in the geom. | |
ODE_API void | dGeomSetBody (dGeomID geom, dBodyID body) |
Set the body associated with a placeable geom. | |
ODE_API dBodyID | dGeomGetBody (dGeomID geom) |
Get the body associated with a placeable geom. | |
ODE_API void | dGeomSetPosition (dGeomID geom, dReal x, dReal y, dReal z) |
Set the position vector of a placeable geom. | |
ODE_API void | dGeomSetRotation (dGeomID geom, const dMatrix3 R) |
Set the rotation matrix of a placeable geom. | |
ODE_API void | dGeomSetQuaternion (dGeomID geom, const dQuaternion Q) |
Set the rotation of a placeable geom. | |
ODE_API const dReal * | dGeomGetPosition (dGeomID geom) |
Get the position vector of a placeable geom. | |
ODE_API const dReal * | dGeomGetRotation (dGeomID geom) |
Get the rotation matrix of a placeable geom. | |
ODE_API void | dGeomGetQuaternion (dGeomID geom, dQuaternion result) |
Get the rotation quaternion of a placeable geom. | |
ODE_API void | dGeomGetAABB (dGeomID geom, dReal aabb[6]) |
Return the axis-aligned bounding box. | |
ODE_API int | dGeomIsSpace (dGeomID geom) |
Determing if a geom is a space. | |
ODE_API dSpaceID | dGeomGetSpace (dGeomID) |
Query for the space containing a particular geom. | |
ODE_API int | dGeomGetClass (dGeomID geom) |
Given a geom, this returns its class. | |
ODE_API void | dGeomSetCategoryBits (dGeomID geom, unsigned long bits) |
Set the "category" bitfield for the given geom. | |
ODE_API void | dGeomSetCollideBits (dGeomID geom, unsigned long bits) |
Set the "collide" bitfield for the given geom. | |
ODE_API unsigned long | dGeomGetCategoryBits (dGeomID) |
Get the "category" bitfield for the given geom. | |
ODE_API unsigned long | dGeomGetCollideBits (dGeomID) |
Get the "collide" bitfield for the given geom. | |
ODE_API void | dGeomEnable (dGeomID geom) |
Enable a geom. | |
ODE_API void | dGeomDisable (dGeomID geom) |
Disable a geom. | |
ODE_API int | dGeomIsEnabled (dGeomID geom) |
Check to see if a geom is enabled. | |
ODE_API void | dGeomSetOffsetPosition (dGeomID geom, dReal x, dReal y, dReal z) |
Set the local offset position of a geom from its body. | |
ODE_API void | dGeomSetOffsetRotation (dGeomID geom, const dMatrix3 R) |
Set the local offset rotation matrix of a geom from its body. | |
ODE_API void | dGeomSetOffsetQuaternion (dGeomID geom, const dQuaternion Q) |
Set the local offset rotation of a geom from its body. | |
ODE_API void | dGeomSetOffsetWorldPosition (dGeomID geom, dReal x, dReal y, dReal z) |
Set the offset position of a geom from its body. | |
ODE_API void | dGeomSetOffsetWorldRotation (dGeomID geom, const dMatrix3 R) |
Set the offset rotation of a geom from its body. | |
ODE_API void | dGeomSetOffsetWorldQuaternion (dGeomID geom, const dQuaternion) |
Set the offset rotation of a geom from its body. | |
ODE_API void | dGeomClearOffset (dGeomID geom) |
Clear any offset from the geom. | |
ODE_API int | dGeomIsOffset (dGeomID geom) |
Check to see whether the geom has an offset. | |
ODE_API const dReal * | dGeomGetOffsetPosition (dGeomID geom) |
Get the offset position vector of a geom. | |
ODE_API const dReal * | dGeomGetOffsetRotation (dGeomID geom) |
Get the offset position vector of a geom. | |
ODE_API void | dGeomGetOffsetQuaternion (dGeomID geom, dQuaternion result) |
Get the offset rotation quaternion of a geom. | |
ODE_API int | dCollide (dGeomID o1, dGeomID o2, int flags, dContactGeom *contact, int skip) |
Given two geoms o1 and o2 that potentially intersect, generate contact information for them. | |
ODE_API void | dSpaceCollide (dSpaceID space, void *data, dNearCallback *callback) |
Determines which pairs of geoms in a space may potentially intersect, and calls the callback function for each candidate pair. | |
ODE_API void | dSpaceCollide2 (dGeomID space1, dGeomID space2, void *data, dNearCallback *callback) |
Determines which geoms from one space may potentially intersect with geoms from another space, and calls the callback function for each candidate pair. | |
ODE_API dGeomID | dCreateHeightfield (dSpaceID space, dHeightfieldDataID data, int bPlaceable) |
Creates a heightfield geom. | |
ODE_API dHeightfieldDataID | dGeomHeightfieldDataCreate () |
Creates a new empty dHeightfieldDataID. | |
ODE_API void | dGeomHeightfieldDataDestroy (dHeightfieldDataID d) |
Destroys a dHeightfieldDataID. | |
ODE_API void | dGeomHeightfieldDataBuildCallback (dHeightfieldDataID d, void *pUserData, dHeightfieldGetHeight *pCallback, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap) |
Configures a dHeightfieldDataID to use a callback to retrieve height data. | |
ODE_API void | dGeomHeightfieldDataBuildByte (dHeightfieldDataID d, const unsigned char *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap) |
Configures a dHeightfieldDataID to use height data in byte format. | |
ODE_API void | dGeomHeightfieldDataBuildShort (dHeightfieldDataID d, const short *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap) |
Configures a dHeightfieldDataID to use height data in short format. | |
ODE_API void | dGeomHeightfieldDataBuildSingle (dHeightfieldDataID d, const float *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap) |
Configures a dHeightfieldDataID to use height data in single precision floating point format. | |
ODE_API void | dGeomHeightfieldDataBuildDouble (dHeightfieldDataID d, const double *pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap) |
Configures a dHeightfieldDataID to use height data in double precision floating point format. | |
ODE_API void | dGeomHeightfieldDataSetBounds (dHeightfieldDataID d, dReal minHeight, dReal maxHeight) |
Manually set the minimum and maximum height bounds. | |
ODE_API void | dGeomHeightfieldSetHeightfieldData (dGeomID g, dHeightfieldDataID d) |
Assigns a dHeightfieldDataID to a heightfield geom. | |
ODE_API dHeightfieldDataID | dGeomHeightfieldGetHeightfieldData (dGeomID g) |
Gets the dHeightfieldDataID bound to a heightfield geom. |
Using ODE's collision detection is optional - an alternative collision detection system can be used as long as it can supply the right kinds of contact information.
|
Callback prototype. Used by the callback heightfield data type to sample a height for a given cell position.
|
|
User callback for geom-geom collision testing.
|
|
Given two geoms o1 and o2 that potentially intersect, generate contact information for them. Internally, this just calls the correct class-specific collision functions for o1 and o2.
|
|
Creates a heightfield geom. Uses the information in the given dHeightfieldDataID to construct a geom representing a heightfield in a collision space.
|
|
Clear any offset from the geom. If the geom has an offset, it is eliminated and the geom is repositioned at the body's position. If the geom has no offset, this function does nothing. This is more efficient than calling dGeomSetOffsetPosition(zero) and dGeomSetOffsetRotation(identiy), because this function actually eliminates the offset, rather than leaving it as the identity transform.
|
|
Destroy a geom, removing it from any space. Destroy a geom, removing it from any space it is in first. This one function destroys a geom of any type, but to create a geom you must call a creation function for that type. When a space is destroyed, if its cleanup mode is 1 (the default) then all the geoms in that space are automatically destroyed as well.
|
|
Disable a geom. Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.
|
|
Enable a geom. Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.
|
|
Return the axis-aligned bounding box. Return in aabb an axis aligned bounding box that surrounds the given geom. The aabb array has elements (minx, maxx, miny, maxy, minz, maxz). If the geom is a space, a bounding box that surrounds all contained geoms is returned. This function may return a pre-computed cached bounding box, if it can determine that the geom has not moved since the last time the bounding box was computed.
|
|
Get the body associated with a placeable geom.
|
|
Get the "category" bitfield for the given geom.
|
|
Given a geom, this returns its class. The ODE classes are:
|
|
Get the "collide" bitfield for the given geom.
|
|
Get the user-defined data pointer stored in the geom.
|
|
Get the offset position vector of a geom. Returns the positional offset of the geom in local coordinates. If the geom has no offset, this function returns the zero vector.
|
|
Get the offset rotation quaternion of a geom. Returns the rotation offset of the geom as a quaternion. If the geom has no offset, the identity quaternion is returned.
|
|
Get the offset position vector of a geom. Returns the positional offset of the geom in local coordinates. If the geom has no offset, this function returns the zero vector.
|
|
Get the position vector of a placeable geom. If the geom is attached to a body, the body's position will be returned. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Get the rotation quaternion of a placeable geom. If the geom is attached to a body, the body's quaternion will be returned. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Get the rotation matrix of a placeable geom. If the geom is attached to a body, the body's rotation will be returned. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Query for the space containing a particular geom.
|
|
Configures a dHeightfieldDataID to use height data in byte format. Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of bytes (8 bit unsigned) representing the height at each sample point.
|
|
Configures a dHeightfieldDataID to use a callback to retrieve height data. Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is computed by the user and it should use the given callback when determining the height of a given element of it's shape.
|
|
Configures a dHeightfieldDataID to use height data in double precision floating point format. Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of double precision floats representing the height at each sample point.
|
|
Configures a dHeightfieldDataID to use height data in short format. Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of shorts (16 bit signed) representing the height at each sample point.
|
|
Configures a dHeightfieldDataID to use height data in single precision floating point format. Before a dHeightfieldDataID can be used by a geom it must be configured to specify the format of the height data. This call specifies that the heightfield data is stored as a rectangular array of single precision floats representing the height at each sample point.
|
|
Creates a new empty dHeightfieldDataID. Allocates a new dHeightfieldDataID and returns it. You must call dGeomHeightfieldDataDestroy to destroy it after the geom has been removed. The dHeightfieldDataID value is used when specifying a data format type.
|
|
Destroys a dHeightfieldDataID. Deallocates a given dHeightfieldDataID and all managed resources.
|
|
Manually set the minimum and maximum height bounds. This call allows you to set explicit min / max values after initial creation typically for callback heightfields which default to +/- infinity, or those whose data has changed. This must be set prior to binding with a geom, as the the AABB is not recomputed after it's first generation.
|
|
Gets the dHeightfieldDataID bound to a heightfield geom. Returns the dHeightfieldDataID associated with a heightfield geom.
|
|
Assigns a dHeightfieldDataID to a heightfield geom. Associates the given dHeightfieldDataID with a heightfield geom. This is done without affecting the GEOM_PLACEABLE flag.
|
|
Check to see if a geom is enabled. Disabled geoms are completely ignored by dSpaceCollide and dSpaceCollide2, although they can still be members of a space. New geoms are created in the enabled state.
|
|
Check to see whether the geom has an offset. This function will return non-zero if the offset has been created. Note that there is a difference between a geom with no offset, and a geom with an offset that is the identity transform. In the latter case, although the observed behaviour is identical, there is a unnecessary computation involved because the geom will be applying the transform whenever it needs to recalculate its world position.
|
|
Determing if a geom is a space.
|
|
Set the body associated with a placeable geom. Setting a body on a geom automatically combines the position vector and rotation matrix of the body and geom, so that setting the position or orientation of one will set the value for both objects. Setting a body ID of zero gives the geom its own position and rotation, independent from any body. If the geom was previously connected to a body then its new independent position/rotation is set to the current position/rotation of the body. Calling these functions on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Set the "category" bitfield for the given geom. The category bitfield is used by spaces to govern which geoms will interact with each other. The bitfield is guaranteed to be at least 32 bits wide. The default category values for newly created geoms have all bits set.
|
|
Set the "collide" bitfield for the given geom. The collide bitfield is used by spaces to govern which geoms will interact with each other. The bitfield is guaranteed to be at least 32 bits wide. The default category values for newly created geoms have all bits set.
|
|
Set the user-defined data pointer stored in the geom.
|
|
Set the local offset position of a geom from its body. Sets the geom's positional offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the local offset rotation of a geom from its body. Sets the geom's rotational offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the local offset rotation matrix of a geom from its body. Sets the geom's rotational offset in local coordinates. After this call, the geom will be at a new position determined from the body's position and the offset. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the offset position of a geom from its body. Sets the geom's positional offset to move it to the new world coordinates. After this call, the geom will be at the world position passed in, and the offset will be the difference from the current body position. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the offset rotation of a geom from its body. Sets the geom's rotational offset to orient it to the new world rotation matrix. After this call, the geom will be at the world orientation passed in, and the offset will be the difference from the current body orientation. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the offset rotation of a geom from its body. Sets the geom's rotational offset to orient it to the new world rotation matrix. After this call, the geom will be at the world orientation passed in, and the offset will be the difference from the current body orientation. The geom must be attached to a body. If the geom did not have an offset, it is automatically created.
|
|
Set the position vector of a placeable geom. If the geom is attached to a body, the body's position will also be changed. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Set the rotation of a placeable geom. If the geom is attached to a body, the body's rotation will also be changed. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Set the rotation matrix of a placeable geom. If the geom is attached to a body, the body's rotation will also be changed. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
|
|
Determines which pairs of geoms in a space may potentially intersect, and calls the callback function for each candidate pair.
|
|
Determines which geoms from one space may potentially intersect with geoms from another space, and calls the callback function for each candidate pair.
|