C# Class Tao.Ode.Ode

Open Dynamics Engine 0.5 (ODE - http://ode.org) bindings for .NET.
Datei anzeigen Open project: WolfgangSt/axiom

Public Methods

Method Description
dBodyGetAngularVel ( dBodyID body ) : dVector3

Get the angular velocity of a body The vector is valid until any changes are made to the rigid body system structure.

dBodyGetForce ( dBodyID body ) : dVector3

Return the current accumulated force on the body.

In ODE, the returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system.

dBodyGetLinearVel ( dBodyID body ) : dVector3

Get the linear velocity of a body The vector is valid until any changes are made to the rigid body system structure.

dBodyGetPosition ( dBodyID body ) : dVector3

Get the position of the body The vector is valid until any changes are made to the rigid body system structure.

dBodyGetQuaternion ( dBodyID body ) : dQuaternion

Get the orientation of a body. Orientation is represented by a quaternion (qs,qx,qy,qz)

dBodyGetRotation ( dBodyID body ) : dMatrix3

Get the rotation of the body. The returned value is a 4x3 rotation matrix. The matrix is valid until any changes are made to the rigid body system structure.

dBodyGetTorque ( dBodyID body ) : dVector3

Return the current accumulated torque on the body.

In ODE, the returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system.

dBodySetRotation ( dBodyID body, dMatrix3 R ) : void

Set the rotation of the body. After setting a group of bodies, the outcome of the simulation is undefined if the new configuration is inconsistent with the joints/constraints that are present.

For some reason the dMatrix3 does not marshall correctly, so this function maintains compatibility with the ODE api by converting the supplied dMatrix3 to and array and passing that to ODE.

dGeomGetOffsetPosition ( dGeomID geom ) : dVector3

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.

The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom.

dGeomGetOffsetRotation ( dGeomID geom ) : dMatrix3

Get the offset rotation matrix of a geom. Returns the rotational offset of the geom as a matrix. If the geom has no offset, this function returns ???? FIXME - ODE docs incorrect.

The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom.

dGeomGetPosition ( dGeomID geom ) : dVector3

Return the geom's position vector. In native ODE, the returned values are pointers to internal data structures, so the vectors are valid until any changes are made to the geom. If the geom is attached to a body, the body's position vector will be returned, i.e. the result will be identical to calling dBodyGetPosition dGeomGetQuaternion copies the geom's quaternion into the space provided. If the geom is attached to a body, the body's quaternion will be returned, i.e. the resulting quaternion will be the same as the result of calling dBodyGetQuaternion. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.

dGeomGetRotation ( dGeomID geom ) : dMatrix3

Get the rotation matrix of a placeable geom. In native ODE, the returned values are pointers to internal data structures, so the matrices are valid until any changes are made to the geom. If the geom is attached to a body, the body's rotation matrix will be returned, i.e. the result will be identical to calling dBodyGetRotation. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.

dGeomSetRotation ( dGeomID geom, dMatrix3 R ) : void

Set the rotation matrix of a placeable geom. This function is analogous to dBodySetRotation. 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.

dGeomTriMeshGetLastTransform ( dGeomID geom ) : dMatrix4

dJointGetFeedback ( dBodyID body ) : dJointFeedback

Get the jointfeedback structure from the joint to get information about the forces applied by each joint. The feedback information structure is defined as follows (NOTE: C# version listed here): public struct dJointFeedback { public dVector3 f1; /* force that joint applies to body 1 */ public dVector3 t1; /* torque that joint applies to body 1 */ public dVector3 f2; /* force that joint applies to body 2 */ public dVector3 t2; /* torque that joint applies to body 2 */ }; The dJointGetFeedback() function returns the current feedback structure pointer, or 0 if none is used (this is the default). TODO: Will passing 0 work or does something special have to be done?

dMassRotate ( dMass &mass, dMatrix3 R ) : void

Given mass parameters for some object, adjust them to represent the object rotated by R relative to the body frame.

dRFromZAxis ( dMatrix3 R, dReal ax, dReal ay, dReal az ) : void

ODE API compatability function due to dMatrix3 marshalling errors

Private Methods

Method Description
JointSetPlane2DAngleParam ( dJointID j, int parameter, dReal value ) : void
dAreConnected ( dBodyID body1, dBodyID body2 ) : int
dAreConnectedExcluding ( dBodyID body1, dBodyID body2, int joint_type ) : int
dBodyAddForce ( dBodyID body, dReal fx, dReal fy, dReal fz ) : void
dBodyAddForceAtPos ( dBodyID body, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz ) : void
dBodyAddForceAtRelPos ( dBodyID body, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz ) : void
dBodyAddRelForce ( dBodyID body, dReal fx, dReal fy, dReal fz ) : void
dBodyAddRelForceAtPos ( dBodyID body, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz ) : void
dBodyAddRelForceAtRelPos ( dBodyID body, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz ) : void
dBodyAddRelTorque ( dBodyID body, dReal fx, dReal fy, dReal fz ) : void
dBodyAddTorque ( dBodyID body, dReal fx, dReal fy, dReal fz ) : void
dBodyCopyPosition ( dBodyID body, dReal &X ) : void
dBodyCopyPosition ( dBodyID body, dVector3 &pos ) : void
dBodyCopyQuaternion ( dBodyID body, dQuaternion &quat ) : void
dBodyCopyQuaternion ( dBodyID body, dReal &X ) : void
dBodyCopyRotation ( dBodyID body, dMatrix3 &R ) : void
dBodyCopyRotation ( dBodyID body, dReal &M00 ) : void
dBodyCreate ( dWorldID world ) : dBodyID
dBodyDestroy ( dBodyID body ) : void
dBodyDisable ( dBodyID body ) : void
dBodyEnable ( dBodyID body ) : void
dBodyGetAngularVel_ ( dBodyID body ) : dReal*
dBodyGetAutoDisableAngularThreshold ( dBodyID body ) : dReal
dBodyGetAutoDisableFlag ( dBodyID body ) : int
dBodyGetAutoDisableLinearThreshold ( dBodyID body ) : dReal
dBodyGetAutoDisableSteps ( dBodyID body ) : int
dBodyGetAutoDisableTime ( dBodyID body ) : dReal
dBodyGetData ( dBodyID body ) : IntPtr
dBodyGetFiniteRotationAxis ( dBodyID body, dVector3 &result ) : void
dBodyGetFiniteRotationMode ( dBodyID body ) : int
dBodyGetForce_ ( dBodyID body ) : dReal*
dBodyGetGravityMode ( dBodyID b ) : int
dBodyGetJoint ( dBodyID body, int index ) : dJointID
dBodyGetLinearVel_ ( dBodyID body ) : dReal*
dBodyGetMass ( dBodyID body, dMass &mass ) : void
dBodyGetNumJoints ( dBodyID b ) : int
dBodyGetPointVel ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBodyGetPosRelPoint ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBodyGetPosition_ ( dBodyID body ) : dReal*
dBodyGetQuaternion_ ( dBodyID body ) : dReal*
dBodyGetRelPointPos ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBodyGetRelPointVel ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBodyGetRotation_ ( dBodyID body ) : dReal*
dBodyGetTorque_ ( dBodyID body ) : dReal*
dBodyIsEnabled ( dBodyID body ) : int
dBodySetAngularVel ( dBodyID body, dReal x, dReal y, dReal z ) : void
dBodySetAutoDisableAngularThreshold ( dBodyID body, dReal angular_threshold ) : void
dBodySetAutoDisableDefaults ( dBodyID body ) : void
dBodySetAutoDisableFlag ( dBodyID body, int do_auto_disable ) : void
dBodySetAutoDisableLinearThreshold ( dBodyID body, dReal linear_threshold ) : void
dBodySetAutoDisableSteps ( dBodyID body, int steps ) : void
dBodySetAutoDisableTime ( dBodyID body, dReal time ) : void
dBodySetData ( dBodyID body, IntPtr data ) : void
dBodySetFiniteRotationAxis ( dBodyID body, dReal x, dReal y, dReal z ) : void
dBodySetFiniteRotationMode ( dBodyID body, int mode ) : void
dBodySetForce ( dBodyID b, dReal x, dReal y, dReal z ) : void
dBodySetGravityMode ( dBodyID b, int mode ) : void
dBodySetLinearVel ( dBodyID body, dReal x, dReal y, dReal z ) : void
dBodySetMass ( dBodyID body, dMass &mass ) : void
dBodySetPosition ( dBodyID body, dReal x, dReal y, dReal z ) : void
dBodySetQuaternion ( dBodyID body, [ q ) : void
dBodySetRotation ( dBodyID body, dReal R ) : void
dBodySetTorque ( dBodyID b, dReal x, dReal y, dReal z ) : void
dBodyVectorFromWorld ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBodyVectorToWorld ( dBodyID body, dReal px, dReal py, dReal pz, dVector3 &result ) : void
dBoxBox ( dVector3 p1, dMatrix3 R1, dVector3 side1, dVector3 p2, dMatrix3 R2, dVector3 side2, dVector3 &normal, dReal &depth, int &return_code, int maxc, dContactGeom &contact, int skip ) : int
dBoxTouchesBox ( dVector3 _p1, dMatrix3 R1, dVector3 side1, dVector3 _p2, dMatrix3 R2, dVector3 side2 ) : int
dCloseODE ( ) : void
dClosestLineSegmentPoints ( dVector3 a1, dVector3 a2, dVector3 b1, dVector3 b2, dVector3 &cp1, dVector3 &cp2 ) : void
dCollide ( dGeomID o1, dGeomID o2, int flags, [ contacts, int skip ) : int
dConnectingJoint ( dBodyID body1, dBodyID body2 ) : dJointID
dConnectingJointList ( dBodyID body1, dBodyID body2, dJointID &connectingJoints ) : int
dCreateBox ( dSpaceID space, dReal lx, dReal ly, dReal lz ) : dGeomID
dCreateCapsule ( dSpaceID space, dReal radius, dReal length ) : dGeomID
dCreateConvex ( dSpaceID space, dReal planes, int planeCount, dReal points, int pointCount, int polygons ) : dGeomID
dCreateCylinder ( dSpaceID space, dReal radius, dReal length ) : dGeomID
dCreateGeom ( int classnum ) : dGeomID
dCreateGeomClass ( dGeomClass customclass ) : int
dCreateGeomTransform ( dSpaceID space ) : dGeomID
dCreateHeightfield ( dSpaceID space, IntPtr data, int bPlaceable ) : IntPtr
dCreatePlane ( dSpaceID space, dReal a, dReal b, dReal c, dReal d ) : dGeomID
dCreateRay ( dSpaceID space, dReal length ) : dGeomID
dCreateSphere ( dSpaceID space, dReal radius ) : dGeomID
dCreateTriMesh ( dSpaceID space, dTriMeshDataID Data, dTriCallback Callback, dTriArrayCallback ArrayCallback, dTriRayCallback RayCallback ) : dGeomID
dDot ( dReal &X0, dReal &X1, int n ) : dReal
dFactorCholesky ( dReal &A00, int n ) : int
dFactorLDLT ( dReal &A, dReal &d, int n, int nskip ) : void
dGeomBoxGetLengths ( dGeomID geom, dReal &x ) : void
dGeomBoxGetLengths ( dGeomID box, dVector3 &result ) : void
dGeomBoxPointDepth ( dGeomID box, dReal x, dReal y, dReal z ) : dReal
dGeomBoxSetLengths ( dGeomID box, dReal lx, dReal ly, dReal lz ) : void
dGeomCapsuleGetParams ( dGeomID capsule, dReal &radius, dReal &length ) : void
dGeomCapsulePointDepth ( dGeomID capsule, dReal x, dReal y, dReal z ) : dReal
dGeomCapsuleSetParams ( dGeomID capsule, dReal radius, dReal length ) : void
dGeomClearOffset ( dGeomID geom ) : void
dGeomCopyOffsetPosition ( dGeomID geom, dReal &X ) : void
dGeomCopyOffsetPosition ( dGeomID geom, dVector3 &pos ) : void
dGeomCopyOffsetRotation ( dGeomID geom, dMatrix3 &R ) : void
dGeomCopyOffsetRotation ( dGeomID geom, dReal &M00 ) : void
dGeomCopyPosition ( dGeomID geom, dReal &X ) : void
dGeomCopyPosition ( dGeomID geom, dVector3 &pos ) : void
dGeomCopyRotation ( dGeomID geom, dMatrix3 &R ) : void
dGeomCopyRotation ( dGeomID geom, dReal &M00 ) : void
dGeomCylinderGetParams ( dGeomID cylinder, dReal &radius, dReal &length ) : void
dGeomCylinderSetParams ( dGeomID cylinder, dReal radius, dReal length ) : void
dGeomDestroy ( dGeomID geom ) : void
dGeomDisable ( dGeomID geom ) : void
dGeomEnable ( dGeomID geom ) : void
dGeomGetAABB ( dGeomID geom, Aabb &aabb ) : void
dGeomGetAABB ( dGeomID geom, dReal &minX ) : void
dGeomGetBody ( dGeomID geom ) : dBodyID
dGeomGetCategoryBits ( dGeomID geom ) : ulong
dGeomGetClass ( dGeomID geom ) : int
dGeomGetClassData ( dGeomID geom ) : IntPtr
dGeomGetCollideBits ( dGeomID geom ) : ulong
dGeomGetData ( dGeomID geom ) : IntPtr
dGeomGetOffsetPosition_ ( dGeomID geom ) : dReal*
dGeomGetOffsetQuaternion ( dGeomID geom, dQuaternion &result ) : void
dGeomGetOffsetRotation_ ( dGeomID geom ) : dReal*
dGeomGetPosition_ ( dGeomID geom ) : dReal*
dGeomGetQuaternion ( dGeomID geom, dQuaternion &result ) : void
dGeomGetRotation_ ( dGeomID geom ) : dReal*
dGeomGetSpace ( dGeomID geom ) : dSpaceID
dGeomHeightfieldDataBuildByte ( dHeightfieldDataID d, IntPtr pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildByte ( dHeightfieldDataID d, byte pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildCallback ( dHeightfieldDataID d, IntPtr pUserData, dHeightfieldGetHeight pCallback, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildDouble ( dHeightfieldDataID d, IntPtr pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildDouble ( dHeightfieldDataID d, double pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildShort ( dHeightfieldDataID d, IntPtr pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildShort ( dHeightfieldDataID d, short pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildShort ( dHeightfieldDataID d, ushort pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildSingle ( dHeightfieldDataID d, IntPtr pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataBuildSingle ( dHeightfieldDataID d, float pHeightData, int bCopyHeightData, dReal width, dReal depth, int widthSamples, int depthSamples, dReal scale, dReal offset, dReal thickness, int bWrap ) : void
dGeomHeightfieldDataCreate ( ) : dHeightfieldDataID
dGeomHeightfieldDataDestroy ( dHeightfieldDataID d ) : void
dGeomHeightfieldDataSetBounds ( dHeightfieldDataID d, dReal minHeight, dReal maxHeight ) : void
dGeomHeightfieldGetHeightfieldData ( dGeomID g ) : dHeightfieldDataID
dGeomHeightfieldSetHeightfieldData ( dGeomID g, dHeightfieldDataID d ) : void
dGeomIsEnabled ( dGeomID geom ) : int
dGeomIsOffset ( dGeomID geom ) : int
dGeomIsSpace ( dGeomID geom ) : int
dGeomPlaneGetParams ( dGeomID plane, dVector4 &result ) : void
dGeomPlanePointDepth ( dGeomID plane, dReal x, dReal y, dReal z ) : dReal
dGeomPlaneSetParams ( dGeomID plane, dReal a, dReal b, dReal c, dReal d ) : void
dGeomRayGet ( dGeomID ray, dReal &startX, dReal &dirX ) : void
dGeomRayGet ( dGeomID ray, dVector3 &start, dVector3 &dir ) : void
dGeomRayGetClosestHit ( dGeomID g ) : int
dGeomRayGetLength ( dGeomID ray ) : dReal
dGeomRayGetParams ( dGeomID g, [ FirstContact, [ BackfaceCull ) : void
dGeomRayGetParams ( dGeomID g, int &FirstContact, int &BackfaceCull ) : void
dGeomRaySet ( dGeomID ray, dReal px, dReal py, dReal pz, dReal dx, dReal dy, dReal dz ) : void
dGeomRaySetClosestHit ( dGeomID g, int closestHit ) : void
dGeomRaySetLength ( dGeomID ray, dReal length ) : void
dGeomRaySetParams ( dGeomID g, int FirstContact, int BackfaceCull ) : void
dGeomSetBody ( dGeomID geom, dBodyID body ) : void
dGeomSetCategoryBits ( dGeomID geom, ulong bits ) : void
dGeomSetCollideBits ( dGeomID geom, ulong bits ) : void
dGeomSetConvex ( dGeomID geom, dReal planes, int planeCount, dReal points, int pointCount, int polygons ) : void
dGeomSetData ( dGeomID geom, IntPtr data ) : void
dGeomSetOffsetPosition ( dGeomID geom, dReal x, dReal y, dReal z ) : void
dGeomSetOffsetQuaternion ( dGeomID geom, dQuaternion Q ) : void
dGeomSetOffsetQuaternion ( dGeomID geom, dReal &X ) : void
dGeomSetOffsetRotation ( dGeomID geom, dMatrix3 R ) : void
dGeomSetOffsetWorldPosition ( dGeomID geom, dReal x, dReal y, dReal z ) : void
dGeomSetOffsetWorldQuaternion ( dGeomID geom, dQuaternion Q ) : void
dGeomSetOffsetWorldQuaternion ( dGeomID geom, dReal &X ) : void
dGeomSetOffsetWorldRotation ( dGeomID geom, dMatrix3 R ) : void
dGeomSetOffsetWorldRotation ( dGeomID geom, dReal &M00 ) : void
dGeomSetPosition ( dGeomID geom, dReal x, dReal y, dReal z ) : void
dGeomSetQuaternion ( dGeomID geom, dQuaternion q ) : void
dGeomSetQuaternion ( dGeomID geom, dReal &w ) : void
dGeomSetRotation ( dGeomID geom, dReal R ) : void
dGeomSphereGetRadius ( dGeomID sphere ) : dReal
dGeomSpherePointDepth ( dGeomID sphere, dReal x, dReal y, dReal z ) : dReal
dGeomSphereSetRadius ( dGeomID sphere, dReal radius ) : void
dGeomTransformGetCleanup ( dGeomID g ) : int
dGeomTransformGetGeom ( dGeomID g ) : dGeomID
dGeomTransformGetInfo ( dGeomID g ) : int
dGeomTransformSetCleanup ( dGeomID g, int mode ) : void
dGeomTransformSetGeom ( dGeomID g, dGeomID obj ) : void
dGeomTransformSetInfo ( dGeomID g, int mode ) : void
dGeomTriMeshClearTCCache ( dGeomID g ) : void
dGeomTriMeshDataBuildDouble ( dTriMeshDataID g, IntPtr vertices, int vertexStride, int vertexCount, IntPtr indices, int indexCount, int triStride ) : void
dGeomTriMeshDataBuildDouble ( dTriMeshDataID g, IntPtr vertices, int vertexStride, int vertexCount, IntPtr indices, int indexCount, int triStride, IntPtr normals ) : void
dGeomTriMeshDataBuildDouble ( dTriMeshDataID g, dVector3 Vertices, int VertexStride, int VertexCount, int Indices, int IndexCount, int TriStride ) : void
dGeomTriMeshDataBuildDouble1 ( dTriMeshDataID g, dVector3 Vertices, int VertexStride, int VertexCount, int Indices, int IndexCount, int TriStride, dVector3 Normals ) : void
dGeomTriMeshDataBuildSimple ( dTriMeshDataID g, dVector3 Vertices, int VertexCount, int Indices, int IndexCount ) : void
dGeomTriMeshDataBuildSimple1 ( dTriMeshDataID g, dVector3 Vertices, int VertexCount, int Indices, int IndexCount, dVector3 Normals ) : void
dGeomTriMeshDataBuildSingle ( dTriMeshDataID g, IntPtr vertices, int vertexStride, int vertexCount, IntPtr indices, int indexCount, int triStride ) : void
dGeomTriMeshDataBuildSingle ( dTriMeshDataID g, dVector3 Vertices, int VertexStride, int VertexCount, int Indices, int IndexCount, int TriStride ) : void
dGeomTriMeshDataBuildSingle1 ( dTriMeshDataID g, IntPtr vertices, int vertexStride, int vertexCount, IntPtr indices, int indexCount, int triStride, IntPtr normals ) : void
dGeomTriMeshDataBuildSingle1 ( dTriMeshDataID g, dVector3 Vertices, int VertexStride, int VertexCount, int Indices, int IndexCount, int TriStride, dVector3 Normals ) : void
dGeomTriMeshDataCreate ( ) : dTriMeshDataID
dGeomTriMeshDataDestroy ( dTriMeshDataID g ) : void
dGeomTriMeshDataGet ( dTriMeshDataID g, int data_id ) : IntPtr
dGeomTriMeshDataPreprocess ( dTriMeshDataID g ) : void
dGeomTriMeshDataSet ( dTriMeshDataID g, int data_id, IntPtr &data ) : void
dGeomTriMeshDataUpdate ( dTriMeshDataID g ) : void
dGeomTriMeshEnableTC ( dGeomID g, int geomClass, int enable ) : void
dGeomTriMeshGetArrayCallback ( dGeomID g ) : dTriArrayCallback
dGeomTriMeshGetCallback ( dGeomID g ) : dTriCallback
dGeomTriMeshGetData ( dGeomID g ) : dTriMeshDataID
dGeomTriMeshGetLastTransformUnsafe ( dGeomID geom ) : dMatrix4*
dGeomTriMeshGetPoint ( dGeomID g, int Index, dReal u, dReal v, dVector3 &Out ) : void
dGeomTriMeshGetRayCallback ( dGeomID g ) : dTriRayCallback
dGeomTriMeshGetTriMeshDataID ( dGeomID g ) : dTriMeshDataID
dGeomTriMeshGetTriangle ( dGeomID g, int Index, dVector3 &v0, dVector3 &v1, dVector3 &v2 ) : void
dGeomTriMeshGetTriangleCount ( dTriMeshDataID d ) : int
dGeomTriMeshIsTCEnabled ( dGeomID g, int geomClass ) : int
dGeomTriMeshSetArrayCallback ( dGeomID g, dTriArrayCallback ArrayCallback ) : void
dGeomTriMeshSetCallback ( dGeomID g, dTriCallback Callback ) : void
dGeomTriMeshSetData ( dGeomID g, dTriMeshDataID Data ) : void
dGeomTriMeshSetLastTransform ( dTriMeshDataID d, dMatrix4 &last_trans ) : void
dGeomTriMeshSetLastTransform ( dTriMeshDataID d, dReal &M00 ) : void
dGeomTriMeshSetRayCallback ( dGeomID g, dTriRayCallback Callback ) : void
dHashSpaceCreate ( dSpaceID space ) : dSpaceID
dHashSpaceGetLevels ( dSpaceID space, int &minlevel, int &maxlevel ) : void
dHashSpaceSetLevels ( dSpaceID space, int minlevel, int maxlevel ) : void
dInfiniteAABB ( dGeomID geom, Aabb &aabb ) : void
dInitODE ( ) : void
dInvertPDMatrix ( dReal &A, dReal &Ainv, int n ) : int
dIsPositiveDefinite ( dReal &A, int n ) : int
dJointAddAMotorTorques ( dJointID joint, dReal torque1, dReal torque2, dReal torque3 ) : void
dJointAddHinge2Torques ( dJointID joint, dReal torque1, dReal torque2 ) : void
dJointAddHingeTorque ( dJointID joint, dReal torque ) : void
dJointAddPRTorque ( dJointID joint, dReal torque ) : void
dJointAddSliderForce ( dJointID joint, dReal force ) : void
dJointAddUniversalTorques ( dJointID joint, dReal torque1, dReal torque2 ) : void
dJointAttach ( dJointID joint, dBodyID body1, dBodyID body2 ) : void
dJointCreateAMotor ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateBall ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateContact ( dWorldID world, dJointGroupID group, dContact &contact ) : dJointID
dJointCreateFixed ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateHinge ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateHinge2 ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateLMotor ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateNull ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreatePR ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreatePlane2D ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateSlider ( dWorldID world, dJointGroupID group ) : dJointID
dJointCreateUniversal ( dWorldID world, dJointGroupID group ) : dJointID
dJointDestroy ( dJointID joint ) : void
dJointGetAMotorAngle ( dJointID joint, int anum ) : dReal
dJointGetAMotorAngleRate ( dJointID joint, int anum ) : dReal
dJointGetAMotorAxis ( dJointID joint, int anum, dVector3 &result ) : void
dJointGetAMotorAxisRel ( dJointID joint, int anum ) : int
dJointGetAMotorMode ( dJointID joint ) : int
dJointGetAMotorNumAxes ( dJointID joint ) : int
dJointGetAMotorParam ( dJointID joint, dJointParams parameter ) : dReal
dJointGetBallAnchor ( dJointID joint, dVector3 &result ) : void
dJointGetBallAnchor2 ( dJointID joint, dVector3 &result ) : void
dJointGetBody ( dJointID joint, int index ) : dBodyID
dJointGetData ( dJointID joint ) : IntPtr
dJointGetFeedback_ ( dJointID joint ) : dJointFeedback*
dJointGetHinge2Anchor ( dJointID joint, dVector3 &result ) : void
dJointGetHinge2Anchor2 ( dJointID joint, dVector3 &result ) : void
dJointGetHinge2Angle1 ( dJointID joint ) : dReal
dJointGetHinge2Angle1Rate ( dJointID joint ) : dReal
dJointGetHinge2Angle2Rate ( dJointID joint ) : dReal
dJointGetHinge2Axis1 ( dJointID joint, dVector3 &result ) : void
dJointGetHinge2Axis2 ( dJointID joint, dVector3 &result ) : void
dJointGetHinge2Param ( dJointID joint, dJointParams parameter ) : dReal
dJointGetHingeAnchor ( dJointID joint, dVector3 &result ) : void
dJointGetHingeAnchor2 ( dJointID joint, dVector3 &result ) : void
dJointGetHingeAngle ( dJointID joint ) : dReal
dJointGetHingeAngleRate ( dJointID joint ) : dReal
dJointGetHingeAxis ( dJointID joint, dVector3 &result ) : void
dJointGetHingeParam ( dJointID joint, dJointParams parameter ) : dReal
dJointGetLMotorAxis ( dJointID j, int anum, dVector3 &result ) : void
dJointGetLMotorNumAxes ( dJointID j ) : int
dJointGetLMotorParam ( dJointID j, int parameter ) : dReal
dJointGetPRAnchor ( dJointID j, dVector3 &result ) : void
dJointGetPRAxis1 ( dJointID j, dVector3 &result ) : void
dJointGetPRAxis2 ( dJointID j, dVector3 &result ) : void
dJointGetPRParam ( dJointID j, int parameter ) : dReal
dJointGetPRPosition ( dJointID j ) : dReal
dJointGetPRPositionRate ( dJointID j ) : dReal
dJointGetSliderAxis ( dJointID joint, dVector3 &result ) : void
dJointGetSliderParam ( dJointID joint, dJointParams parameter ) : dReal
dJointGetSliderPosition ( dJointID joint ) : dReal
dJointGetSliderPositionRate ( dJointID joint ) : dReal
dJointGetType ( dJointID joint ) : int
dJointGetUniversalAnchor ( dJointID joint, dVector3 &result ) : void
dJointGetUniversalAnchor2 ( dJointID joint, dVector3 &result ) : void
dJointGetUniversalAngle1 ( dJointID joint ) : dReal
dJointGetUniversalAngle1Rate ( dJointID joint ) : dReal
dJointGetUniversalAngle2 ( dJointID joint ) : dReal
dJointGetUniversalAngle2Rate ( dJointID joint ) : dReal
dJointGetUniversalAngles ( dJointID j, dReal &angle1, dReal &angle2 ) : void
dJointGetUniversalAxis1 ( dJointID joint, dVector3 &result ) : void
dJointGetUniversalAxis2 ( dJointID joint, dVector3 &result ) : void
dJointGetUniversalParam ( dJointID joint, dJointParams parameter ) : dReal
dJointGroupCreate ( int max_size ) : dJointGroupID
dJointGroupDestroy ( dJointGroupID group ) : void
dJointGroupEmpty ( dJointGroupID group ) : void
dJointSetAMotorAngle ( dJointID joint, int anum, dReal angle ) : void
dJointSetAMotorAxis ( dJointID joint, int anum, int rel, dReal x, dReal y, dReal z ) : void
dJointSetAMotorMode ( dJointID joint, int mode ) : void
dJointSetAMotorNumAxes ( dJointID joint, int num ) : void
dJointSetAMotorParam ( dJointID joint, dJointParams parameter, dReal value ) : void
dJointSetBallAnchor ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetBallAnchor2 ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetData ( dJointID joint, IntPtr data ) : void
dJointSetFeedback ( dJointID joint, dJointFeedback &feedback ) : void
dJointSetFixed ( dJointID joint ) : void
dJointSetHinge2Anchor ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetHinge2Axis1 ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetHinge2Axis2 ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetHinge2Param ( dJointID joint, dJointParams parameter, dReal value ) : void
dJointSetHingeAnchor ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetHingeAnchorDelta ( dJointID joint, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az ) : void
dJointSetHingeAxis ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetHingeParam ( dJointID joint, dJointParams parameter, dReal value ) : void
dJointSetLMotorAxis ( dJointID j, int anum, int rel, dReal x, dReal y, dReal z ) : void
dJointSetLMotorNumAxes ( dJointID j, int num ) : void
dJointSetLMotorParam ( dJointID j, int parameter, dReal value ) : void
dJointSetPRAnchor ( dJointID j, dReal x, dReal y, dReal z ) : void
dJointSetPRAxis1 ( dJointID j, dReal x, dReal y, dReal z ) : void
dJointSetPRAxis2 ( dJointID j, dReal x, dReal y, dReal z ) : void
dJointSetPRParam ( dJointID j, int parameter, dReal value ) : void
dJointSetPlane2DXParam ( dJointID j, int parameter, dReal value ) : void
dJointSetPlane2DYParam ( dJointID j, int parameter, dReal value ) : void
dJointSetSliderAxis ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetSliderAxisDelta ( dJointID joint, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az ) : void
dJointSetSliderParam ( dJointID joint, dJointParams parameter, dReal value ) : void
dJointSetUniversalAnchor ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetUniversalAxis1 ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetUniversalAxis2 ( dJointID joint, dReal x, dReal y, dReal z ) : void
dJointSetUniversalParam ( dJointID joint, dJointParams parameter, dReal value ) : void
dLDLTAddTL ( dReal &L, dReal &d, dReal &a, int n, int nskip ) : void
dMassAdd ( dMass &a, dMass b ) : void
dMassAdjust ( dMass &mass, dReal newmass ) : void
dMassRotate ( dMass &mass, dReal R ) : void
dMassSetBox ( dMass &mass, dReal density, dReal lx, dReal ly, dReal lz ) : void
dMassSetBoxTotal ( dMass &mass, dReal total_mass, dReal lx, dReal ly, dReal lz ) : void
dMassSetCapsule ( dMass &mass, dReal density, int direction, dReal radius, dReal length ) : void
dMassSetCapsuleTotal ( dMass &mass, dReal total_mass, int direction, dReal radius, dReal length ) : void
dMassSetCylinder ( dMass &mass, dReal density, int direction, dReal radius, dReal length ) : void
dMassSetCylinderTotal ( dMass &mass, dReal total_mass, int direction, dReal radius, dReal length ) : void
dMassSetParameters ( dMass &mass, dReal themass, dReal cgx, dReal cgy, dReal cgz, dReal I11, dReal I22, dReal I33, dReal I12, dReal I13, dReal I23 ) : void
dMassSetSphere ( dMass &mass, dReal density, dReal radius ) : void
dMassSetSphereTotal ( dMass &mass, dReal total_mass, dReal radius ) : void
dMassSetTrimesh ( dMass &mass, dReal density, dGeomID g ) : void
dMassSetZero ( dMass &mass ) : void
dMassTranslate ( dMass &mass, dReal x, dReal y, dReal z ) : void
dQFromAxisAndAngle ( dQuaternion &q, dReal ax, dReal ay, dReal az, dReal angle ) : void
dQMultiply0 ( dQuaternion &qa, dQuaternion &qb, dQuaternion &qc ) : void
dQMultiply1 ( dQuaternion &qa, dQuaternion &qb, dQuaternion &qc ) : void
dQMultiply2 ( dQuaternion &qa, dQuaternion &qb, dQuaternion &qc ) : void
dQMultiply3 ( dQuaternion &qa, dQuaternion &qb, dQuaternion &qc ) : void
dQSetIdentity ( dQuaternion &q ) : void
dQtoR ( dQuaternion &q, dMatrix3 &R ) : void
dQuadTreeSpaceCreate ( dSpaceID space, dReal &centerX, dReal &extentsX, int depth ) : dSpaceID
dQuadTreeSpaceCreate ( dSpaceID space, dVector3 Center, dVector3 Extents, int Depth ) : dSpaceID
dRFrom2Axes ( dMatrix3 &R, dReal ax, dReal ay, dReal az, dReal bx, dReal by, dReal bz ) : void
dRFromAxisAndAngle ( dMatrix3 &R, dReal ax, dReal ay, dReal az, dReal angle ) : void
dRFromEulerAngles ( dMatrix3 &R, dReal phi, dReal theta, dReal psi ) : void
dRFromZAxis ( dReal R, dReal ax, dReal ay, dReal az ) : void
dRSetIdentity ( dMatrix3 &R ) : void
dRandReal ( ) : dReal
dRtoQ ( dMatrix3 &R, dQuaternion &q ) : void
dSetValue ( dReal &a, int n ) : void
dSetZero ( dReal &a, int n ) : void
dSimpleSpaceCreate ( dSpaceID space ) : dSpaceID
dSolveCholesky ( dReal &L, dReal &b, int n ) : void
dSolveL1T ( dReal &L, dReal &b, int n, int nskip ) : void
dSpaceAdd ( dSpaceID space, dGeomID geom ) : void
dSpaceClean ( dSpaceID space ) : void
dSpaceCollide ( dSpaceID space, IntPtr data, dNearCallback callback ) : void
dSpaceCollide2 ( dGeomID o1, dGeomID o2, IntPtr data, dNearCallback callback ) : void
dSpaceDestroy ( dSpaceID space ) : void
dSpaceGetCleanup ( dSpaceID space ) : int
dSpaceGetGeom ( dSpaceID space, int i ) : dGeomID
dSpaceGetNumGeoms ( dSpaceID space ) : int
dSpaceQuery ( dSpaceID space, dGeomID geom ) : int
dSpaceRemove ( dSpaceID space, dGeomID geom ) : void
dSpaceSetCleanup ( dSpaceID space, int mode ) : void
dVectorScale ( dReal &a, dReal &d, int n ) : void
dWorldCreate ( ) : dWorldID
dWorldDestroy ( dWorldID world ) : void
dWorldGetAutoDisableAngularThreshold ( dWorldID world ) : dReal
dWorldGetAutoDisableFlag ( dWorldID world ) : int
dWorldGetAutoDisableLinearThreshold ( dWorldID world ) : dReal
dWorldGetAutoDisableSteps ( dWorldID world ) : int
dWorldGetAutoDisableTime ( dWorldID world ) : dReal
dWorldGetAutoEnableDepthSF1 ( dWorldID world ) : int
dWorldGetCFM ( dWorldID world ) : dReal
dWorldGetContactMaxCorrectingVel ( dWorldID world ) : dReal
dWorldGetContactSurfaceLayer ( dWorldID world ) : dReal
dWorldGetERP ( dWorldID world ) : dReal
dWorldGetGravity ( dWorldID world, dReal &X ) : void
dWorldGetGravity ( dWorldID world, dVector3 &gravity ) : void
dWorldGetQuickStepNumIterations ( dWorldID world ) : int
dWorldGetQuickStepW ( dWorldID world ) : dReal
dWorldImpulseToForce ( dWorldID world, dReal stepsize, dReal ix, dReal iy, dReal iz, dReal &forceX ) : void
dWorldImpulseToForce ( dWorldID world, dReal stepsize, dReal ix, dReal iy, dReal iz, dVector3 &force ) : void
dWorldQuickStep ( dWorldID world, dReal stepsize ) : void
dWorldSetAutoDisableAngularThreshold ( dWorldID world, dReal angular_threshold ) : void
dWorldSetAutoDisableFlag ( dWorldID world, int do_auto_disable ) : void
dWorldSetAutoDisableLinearThreshold ( dWorldID world, dReal linear_threshold ) : void
dWorldSetAutoDisableSteps ( dWorldID world, int steps ) : void
dWorldSetAutoDisableTime ( dWorldID world, dReal time ) : void
dWorldSetAutoEnableDepthSF1 ( dWorldID world, int autoEnableDepth ) : void
dWorldSetCFM ( dWorldID world, dReal cfm ) : void
dWorldSetContactMaxCorrectingVel ( dWorldID world, dReal vel ) : void
dWorldSetContactSurfaceLayer ( dWorldID world, dReal depth ) : void
dWorldSetERP ( dWorldID world, dReal erp ) : void
dWorldSetGravity ( dWorldID world, dReal x, dReal y, dReal z ) : void
dWorldSetQuickStepNumIterations ( dWorldID world, int num ) : void
dWorldSetQuickStepW ( dWorldID world, dReal over_relaxation ) : void
dWorldStep ( dWorldID world, dReal stepsize ) : void
dWorldStepFast1 ( dWorldID world, dReal stepsize, int maxiterations ) : void
dWtoDQ ( dVector3 &w, dQuaternion &q, dVector4 &dq ) : void

Method Details

dBodyGetAngularVel() public static method

Get the angular velocity of a body The vector is valid until any changes are made to the rigid body system structure.
public static dBodyGetAngularVel ( dBodyID body ) : dVector3
body dBodyID A dBodyID
return dVector3

dBodyGetForce() public static method

Return the current accumulated force on the body.
In ODE, the returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system.
public static dBodyGetForce ( dBodyID body ) : dVector3
body dBodyID A dBodyID
return dVector3

dBodyGetLinearVel() public static method

Get the linear velocity of a body The vector is valid until any changes are made to the rigid body system structure.
public static dBodyGetLinearVel ( dBodyID body ) : dVector3
body dBodyID A dBodyID
return dVector3

dBodyGetPosition() public static method

Get the position of the body The vector is valid until any changes are made to the rigid body system structure.
public static dBodyGetPosition ( dBodyID body ) : dVector3
body dBodyID A dBodyID
return dVector3

dBodyGetQuaternion() public static method

Get the orientation of a body. Orientation is represented by a quaternion (qs,qx,qy,qz)
public static dBodyGetQuaternion ( dBodyID body ) : dQuaternion
body dBodyID A dBodyID
return dQuaternion

dBodyGetRotation() public static method

Get the rotation of the body. The returned value is a 4x3 rotation matrix. The matrix is valid until any changes are made to the rigid body system structure.
public static dBodyGetRotation ( dBodyID body ) : dMatrix3
body dBodyID A dBodyID
return dMatrix3

dBodyGetTorque() public static method

Return the current accumulated torque on the body.
In ODE, the returned values are pointers to internal data structures, so the vectors are only valid until any changes are made to the rigid body system.
public static dBodyGetTorque ( dBodyID body ) : dVector3
body dBodyID A dBodyID
return dVector3

dBodySetRotation() public static method

Set the rotation of the body. After setting a group of bodies, the outcome of the simulation is undefined if the new configuration is inconsistent with the joints/constraints that are present.
For some reason the dMatrix3 does not marshall correctly, so this function maintains compatibility with the ODE api by converting the supplied dMatrix3 to and array and passing that to ODE.
public static dBodySetRotation ( dBodyID body, dMatrix3 R ) : void
body dBodyID the body to set
R dMatrix3 A dMatrix3 containing the new rotation matrix
return void

dGeomGetOffsetPosition() public static method

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.
The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom.
public static dGeomGetOffsetPosition ( dGeomID geom ) : dVector3
geom dGeomID the geom to query.
return dVector3

dGeomGetOffsetRotation() public static method

Get the offset rotation matrix of a geom. Returns the rotational offset of the geom as a matrix. If the geom has no offset, this function returns ???? FIXME - ODE docs incorrect.
The returned value is a pointer to the geom's internal data structure. It is valid until any changes are made to the geom.
public static dGeomGetOffsetRotation ( dGeomID geom ) : dMatrix3
geom dGeomID the geom to query
return dMatrix3

dGeomGetPosition() public static method

Return the geom's position vector. In native ODE, the returned values are pointers to internal data structures, so the vectors are valid until any changes are made to the geom. If the geom is attached to a body, the body's position vector will be returned, i.e. the result will be identical to calling dBodyGetPosition dGeomGetQuaternion copies the geom's quaternion into the space provided. If the geom is attached to a body, the body's quaternion will be returned, i.e. the resulting quaternion will be the same as the result of calling dBodyGetQuaternion. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
public static dGeomGetPosition ( dGeomID geom ) : dVector3
geom dGeomID the geom to query
return dVector3

dGeomGetRotation() public static method

Get the rotation matrix of a placeable geom. In native ODE, the returned values are pointers to internal data structures, so the matrices are valid until any changes are made to the geom. If the geom is attached to a body, the body's rotation matrix will be returned, i.e. the result will be identical to calling dBodyGetRotation. Calling this function on a non-placeable geom results in a runtime error in the debug build of ODE.
public static dGeomGetRotation ( dGeomID geom ) : dMatrix3
geom dGeomID the geom to query
return dMatrix3

dGeomSetRotation() public static method

Set the rotation matrix of a placeable geom. This function is analogous to dBodySetRotation. 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.
public static dGeomSetRotation ( dGeomID geom, dMatrix3 R ) : void
geom dGeomID the geom to set
R dMatrix3 dMatrix3 containing the new rotation matrix
return void

dGeomTriMeshGetLastTransform() public static method

public static dGeomTriMeshGetLastTransform ( dGeomID geom ) : dMatrix4
geom dGeomID
return dMatrix4

dJointGetFeedback() public static method

Get the jointfeedback structure from the joint to get information about the forces applied by each joint. The feedback information structure is defined as follows (NOTE: C# version listed here): public struct dJointFeedback { public dVector3 f1; /* force that joint applies to body 1 */ public dVector3 t1; /* torque that joint applies to body 1 */ public dVector3 f2; /* force that joint applies to body 2 */ public dVector3 t2; /* torque that joint applies to body 2 */ }; The dJointGetFeedback() function returns the current feedback structure pointer, or 0 if none is used (this is the default). TODO: Will passing 0 work or does something special have to be done?
public static dJointGetFeedback ( dBodyID body ) : dJointFeedback
body dBodyID A dBodyID
return dJointFeedback

dMassRotate() public static method

Given mass parameters for some object, adjust them to represent the object rotated by R relative to the body frame.
public static dMassRotate ( dMass &mass, dMatrix3 R ) : void
mass dMass A dMass
R dMatrix3 A dMatrix3
return void

dRFromZAxis() public static method

ODE API compatability function due to dMatrix3 marshalling errors
public static dRFromZAxis ( dMatrix3 R, dReal ax, dReal ay, dReal az ) : void
R dMatrix3
ax dReal
ay dReal
az dReal
return void