Open Dynamics Engine

objects.h

00001 
00002 
00003 /*************************************************************************
00004  *                                                                       *
00005  * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith.       *
00006  * All rights reserved.  Email: russ@q12.org   Web: www.q12.org          *
00007  *                                                                       *
00008  * This library is free software; you can redistribute it and/or         *
00009  * modify it under the terms of EITHER:                                  *
00010  *   (1) The GNU Lesser General Public License as published by the Free  *
00011  *       Software Foundation; either version 2.1 of the License, or (at  *
00012  *       your option) any later version. The text of the GNU Lesser      *
00013  *       General Public License is included with this library in the     *
00014  *       file LICENSE.TXT.                                               *
00015  *   (2) The BSD-style license that is included with this library in     *
00016  *       the file LICENSE-BSD.TXT.                                       *
00017  *                                                                       *
00018  * This library is distributed in the hope that it will be useful,       *
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files    *
00021  * LICENSE.TXT and LICENSE-BSD.TXT for more details.                     *
00022  *                                                                       *
00023  *************************************************************************/
00024 
00025 #ifndef _ODE_OBJECTS_H_
00026 #define _ODE_OBJECTS_H_
00027 
00028 #include <ode/common.h>
00029 #include <ode/mass.h>
00030 #include <ode/contact.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035 
00054 ODE_API dWorldID dWorldCreate(void);
00055 
00056 
00066 ODE_API void dWorldDestroy (dWorldID world);
00067 
00068 
00077 ODE_API void dWorldSetGravity (dWorldID, dReal x, dReal y, dReal z);
00078 
00079 
00084 ODE_API void dWorldGetGravity (dWorldID, dVector3 gravity);
00085 
00086 
00094 ODE_API void dWorldSetERP (dWorldID, dReal erp);
00095 
00101 ODE_API dReal dWorldGetERP (dWorldID);
00102 
00103 
00111 ODE_API void dWorldSetCFM (dWorldID, dReal cfm);
00112 
00118 ODE_API dReal dWorldGetCFM (dWorldID);
00119 
00120 
00131 ODE_API void dWorldStep (dWorldID, dReal stepsize);
00132 
00133 
00148 ODE_API void dWorldImpulseToForce
00149 (
00150   dWorldID, dReal stepsize,
00151   dReal ix, dReal iy, dReal iz, dVector3 force
00152 );
00153 
00154 
00186 ODE_API void dWorldQuickStep (dWorldID w, dReal stepsize);
00187 
00188 
00198 ODE_API void dWorldSetQuickStepNumIterations (dWorldID, int num);
00199 
00200 
00207 ODE_API int dWorldGetQuickStepNumIterations (dWorldID);
00208 
00214 ODE_API void dWorldSetQuickStepW (dWorldID, dReal over_relaxation);
00215 
00221 ODE_API dReal dWorldGetQuickStepW (dWorldID);
00222 
00223 /* World contact parameter functions */
00224 
00233 ODE_API void dWorldSetContactMaxCorrectingVel (dWorldID, dReal vel);
00234 
00240 ODE_API dReal dWorldGetContactMaxCorrectingVel (dWorldID);
00241 
00253 ODE_API void dWorldSetContactSurfaceLayer (dWorldID, dReal depth);
00254 
00260 ODE_API dReal dWorldGetContactSurfaceLayer (dWorldID);
00261 
00262 /* StepFast1 functions */
00263 
00270 ODE_API void dWorldStepFast1(dWorldID, dReal stepsize, int maxiterations);
00271 
00272 
00309 ODE_API void dWorldSetAutoEnableDepthSF1(dWorldID, int autoEnableDepth);
00310 
00315 ODE_API int dWorldGetAutoEnableDepthSF1(dWorldID);
00316 
00322 ODE_API dReal dWorldGetAutoDisableLinearThreshold (dWorldID);
00323 
00329 ODE_API void  dWorldSetAutoDisableLinearThreshold (dWorldID, dReal linear_threshold);
00330 
00336 ODE_API dReal dWorldGetAutoDisableAngularThreshold (dWorldID);
00337 
00343 ODE_API void dWorldSetAutoDisableAngularThreshold (dWorldID, dReal angular_threshold);
00344 
00350 ODE_API dReal dWorldGetAutoDisableLinearAverageThreshold (dWorldID);
00351 
00357 ODE_API void  dWorldSetAutoDisableLinearAverageThreshold (dWorldID, dReal linear_average_threshold);
00358 
00364 ODE_API dReal dWorldGetAutoDisableAngularAverageThreshold (dWorldID);
00365 
00371 ODE_API void dWorldSetAutoDisableAngularAverageThreshold (dWorldID, dReal angular_average_threshold);
00372 
00378 ODE_API int dWorldGetAutoDisableAverageSamplesCount (dWorldID);
00379 
00386 ODE_API void dWorldSetAutoDisableAverageSamplesCount (dWorldID, unsigned int average_samples_count );
00387 
00393 ODE_API int dWorldGetAutoDisableSteps (dWorldID);
00394 
00400 ODE_API void dWorldSetAutoDisableSteps (dWorldID, int steps);
00401 
00407 ODE_API dReal dWorldGetAutoDisableTime (dWorldID);
00408 
00414 ODE_API void dWorldSetAutoDisableTime (dWorldID, dReal time);
00415 
00421 ODE_API int dWorldGetAutoDisableFlag (dWorldID);
00422 
00428 ODE_API void dWorldSetAutoDisableFlag (dWorldID, int do_auto_disable);
00429 
00430 
00470 ODE_API dReal dWorldGetLinearDampingThreshold (dWorldID w);
00471 
00478 ODE_API void dWorldSetLinearDampingThreshold(dWorldID w, dReal threshold);
00479 
00484 ODE_API dReal dWorldGetAngularDampingThreshold (dWorldID w);
00485 
00492 ODE_API void dWorldSetAngularDampingThreshold(dWorldID w, dReal threshold);
00493 
00498 ODE_API dReal dWorldGetLinearDamping (dWorldID w);
00499 
00506 ODE_API void dWorldSetLinearDamping (dWorldID w, dReal scale);
00507 
00512 ODE_API dReal dWorldGetAngularDamping (dWorldID w);
00513 
00520 ODE_API void dWorldSetAngularDamping(dWorldID w, dReal scale);
00521 
00528 ODE_API void dWorldSetDamping(dWorldID w,
00529                                 dReal linear_scale,
00530                                 dReal angular_scale);
00531 
00537 ODE_API dReal dWorldGetMaxAngularSpeed (dWorldID w);
00538 
00539 
00545 ODE_API void dWorldSetMaxAngularSpeed (dWorldID w, dReal max_speed);
00546 
00547 
00548 
00588 ODE_API dReal dBodyGetAutoDisableLinearThreshold (dBodyID);
00589 
00595 ODE_API void  dBodySetAutoDisableLinearThreshold (dBodyID, dReal linear_average_threshold);
00596 
00602 ODE_API dReal dBodyGetAutoDisableAngularThreshold (dBodyID);
00603 
00609 ODE_API void  dBodySetAutoDisableAngularThreshold (dBodyID, dReal angular_average_threshold);
00610 
00616 ODE_API int dBodyGetAutoDisableAverageSamplesCount (dBodyID);
00617 
00623 ODE_API void dBodySetAutoDisableAverageSamplesCount (dBodyID, unsigned int average_samples_count);
00624 
00625 
00631 ODE_API int dBodyGetAutoDisableSteps (dBodyID);
00632 
00638 ODE_API void dBodySetAutoDisableSteps (dBodyID, int steps);
00639 
00645 ODE_API dReal dBodyGetAutoDisableTime (dBodyID);
00646 
00652 ODE_API void  dBodySetAutoDisableTime (dBodyID, dReal time);
00653 
00659 ODE_API int dBodyGetAutoDisableFlag (dBodyID);
00660 
00666 ODE_API void dBodySetAutoDisableFlag (dBodyID, int do_auto_disable);
00667 
00674 ODE_API void  dBodySetAutoDisableDefaults (dBodyID);
00675 
00676 
00683 ODE_API dWorldID dBodyGetWorld (dBodyID);
00684 
00691 ODE_API dBodyID dBodyCreate (dWorldID);
00692 
00701 ODE_API void dBodyDestroy (dBodyID);
00702 
00708 ODE_API void  dBodySetData (dBodyID, void *data);
00709 
00715 ODE_API void *dBodyGetData (dBodyID);
00716 
00725 ODE_API void dBodySetPosition   (dBodyID, dReal x, dReal y, dReal z);
00726 
00735 ODE_API void dBodySetRotation   (dBodyID, const dMatrix3 R);
00736 
00745 ODE_API void dBodySetQuaternion (dBodyID, const dQuaternion q);
00746 
00751 ODE_API void dBodySetLinearVel  (dBodyID, dReal x, dReal y, dReal z);
00752 
00757 ODE_API void dBodySetAngularVel (dBodyID, dReal x, dReal y, dReal z);
00758 
00768 ODE_API const dReal * dBodyGetPosition (dBodyID);
00769 
00770 
00778 ODE_API void dBodyCopyPosition (dBodyID body, dVector3 pos);
00779 
00780 
00786 ODE_API const dReal * dBodyGetRotation (dBodyID);
00787 
00788 
00796 ODE_API void dBodyCopyRotation (dBodyID, dMatrix3 R);
00797 
00798 
00804 ODE_API const dReal * dBodyGetQuaternion (dBodyID);
00805 
00806 
00814 ODE_API void dBodyCopyQuaternion(dBodyID body, dQuaternion quat);
00815 
00816 
00821 ODE_API const dReal * dBodyGetLinearVel (dBodyID);
00822 
00827 ODE_API const dReal * dBodyGetAngularVel (dBodyID);
00828 
00833 ODE_API void dBodySetMass (dBodyID, const dMass *mass);
00834 
00839 ODE_API void dBodyGetMass (dBodyID, dMass *mass);
00840 
00845 ODE_API void dBodyAddForce            (dBodyID, dReal fx, dReal fy, dReal fz);
00846 
00851 ODE_API void dBodyAddTorque           (dBodyID, dReal fx, dReal fy, dReal fz);
00852 
00857 ODE_API void dBodyAddRelForce         (dBodyID, dReal fx, dReal fy, dReal fz);
00858 
00863 ODE_API void dBodyAddRelTorque        (dBodyID, dReal fx, dReal fy, dReal fz);
00864 
00869 ODE_API void dBodyAddForceAtPos       (dBodyID, dReal fx, dReal fy, dReal fz,
00870                          dReal px, dReal py, dReal pz);
00875 ODE_API void dBodyAddForceAtRelPos    (dBodyID, dReal fx, dReal fy, dReal fz,
00876                          dReal px, dReal py, dReal pz);
00881 ODE_API void dBodyAddRelForceAtPos    (dBodyID, dReal fx, dReal fy, dReal fz,
00882                          dReal px, dReal py, dReal pz);
00887 ODE_API void dBodyAddRelForceAtRelPos (dBodyID, dReal fx, dReal fy, dReal fz,
00888                          dReal px, dReal py, dReal pz);
00889 
00899 ODE_API const dReal * dBodyGetForce (dBodyID);
00900 
00910 ODE_API const dReal * dBodyGetTorque (dBodyID);
00911 
00920 ODE_API void dBodySetForce  (dBodyID b, dReal x, dReal y, dReal z);
00921 
00930 ODE_API void dBodySetTorque (dBodyID b, dReal x, dReal y, dReal z);
00931 
00937 ODE_API void dBodyGetRelPointPos
00938 (
00939   dBodyID, dReal px, dReal py, dReal pz,
00940   dVector3 result
00941 );
00942 
00948 ODE_API void dBodyGetRelPointVel
00949 (
00950   dBodyID, dReal px, dReal py, dReal pz,
00951   dVector3 result
00952 );
00953 
00960 ODE_API void dBodyGetPointVel
00961 (
00962   dBodyID, dReal px, dReal py, dReal pz,
00963   dVector3 result
00964 );
00965 
00974 ODE_API void dBodyGetPosRelPoint
00975 (
00976   dBodyID, dReal px, dReal py, dReal pz,
00977   dVector3 result
00978 );
00979 
00985 ODE_API void dBodyVectorToWorld
00986 (
00987   dBodyID, dReal px, dReal py, dReal pz,
00988   dVector3 result
00989 );
00990 
00996 ODE_API void dBodyVectorFromWorld
00997 (
00998   dBodyID, dReal px, dReal py, dReal pz,
00999   dVector3 result
01000 );
01001 
01019 ODE_API void dBodySetFiniteRotationMode (dBodyID, int mode);
01020 
01037 ODE_API void dBodySetFiniteRotationAxis (dBodyID, dReal x, dReal y, dReal z);
01038 
01044 ODE_API int dBodyGetFiniteRotationMode (dBodyID);
01045 
01051 ODE_API void dBodyGetFiniteRotationAxis (dBodyID, dVector3 result);
01052 
01058 ODE_API int dBodyGetNumJoints (dBodyID b);
01059 
01066 ODE_API dJointID dBodyGetJoint (dBodyID, int index);
01067 
01068 
01069 
01070 
01076 ODE_API void dBodySetDynamic (dBodyID);
01077 
01090 ODE_API void dBodySetKinematic (dBodyID);
01091 
01097 ODE_API int dBodyIsKinematic (dBodyID);
01098 
01104 ODE_API void dBodyEnable (dBodyID);
01105 
01113 ODE_API void dBodyDisable (dBodyID);
01114 
01120 ODE_API int dBodyIsEnabled (dBodyID);
01121 
01129 ODE_API void dBodySetGravityMode (dBodyID b, int mode);
01130 
01136 ODE_API int dBodyGetGravityMode (dBodyID b);
01137 
01151 ODE_API void dBodySetMovedCallback(dBodyID b, void (*callback)(dBodyID));
01152 
01153 
01163 ODE_API dGeomID dBodyGetFirstGeom (dBodyID b);
01164 
01165 
01173 ODE_API dGeomID dBodyGetNextGeom (dGeomID g);
01174 
01175 
01180 ODE_API void dBodySetDampingDefaults(dBodyID b);
01181 
01186 ODE_API dReal dBodyGetLinearDamping (dBodyID b);
01187 
01196 ODE_API void dBodySetLinearDamping(dBodyID b, dReal scale);
01197 
01204 ODE_API dReal dBodyGetAngularDamping (dBodyID b);
01205 
01214 ODE_API void dBodySetAngularDamping(dBodyID b, dReal scale);
01215 
01223 ODE_API void dBodySetDamping(dBodyID b, dReal linear_scale, dReal angular_scale);
01224 
01229 ODE_API dReal dBodyGetLinearDampingThreshold (dBodyID b);
01230 
01237 ODE_API void dBodySetLinearDampingThreshold(dBodyID b, dReal threshold);
01238 
01243 ODE_API dReal dBodyGetAngularDampingThreshold (dBodyID b);
01244 
01251 ODE_API void dBodySetAngularDampingThreshold(dBodyID b, dReal threshold);
01252 
01258 ODE_API dReal dBodyGetMaxAngularSpeed (dBodyID b);
01259 
01268 ODE_API void dBodySetMaxAngularSpeed(dBodyID b, dReal max_speed);
01269 
01270 
01271 
01279 ODE_API int dBodyGetGyroscopicMode(dBodyID b);
01280 
01281 
01293 ODE_API void dBodySetGyroscopicMode(dBodyID b, int enabled);
01294 
01295 
01296 
01297 
01373 ODE_API dJointID dJointCreateBall (dWorldID, dJointGroupID);
01374 
01381 ODE_API dJointID dJointCreateHinge (dWorldID, dJointGroupID);
01382 
01389 ODE_API dJointID dJointCreateSlider (dWorldID, dJointGroupID);
01390 
01397 ODE_API dJointID dJointCreateContact (dWorldID, dJointGroupID, const dContact *);
01398 
01405 ODE_API dJointID dJointCreateHinge2 (dWorldID, dJointGroupID);
01406 
01413 ODE_API dJointID dJointCreateUniversal (dWorldID, dJointGroupID);
01414 
01421 ODE_API dJointID dJointCreatePR (dWorldID, dJointGroupID);
01422 
01429   ODE_API dJointID dJointCreatePU (dWorldID, dJointGroupID);
01430 
01438   ODE_API dJointID dJointCreatePiston (dWorldID, dJointGroupID);
01439 
01446 ODE_API dJointID dJointCreateFixed (dWorldID, dJointGroupID);
01447 
01448 ODE_API dJointID dJointCreateNull (dWorldID, dJointGroupID);
01449 
01456 ODE_API dJointID dJointCreateAMotor (dWorldID, dJointGroupID);
01457 
01464 ODE_API dJointID dJointCreateLMotor (dWorldID, dJointGroupID);
01465 
01472 ODE_API dJointID dJointCreatePlane2D (dWorldID, dJointGroupID);
01473 
01482 ODE_API void dJointDestroy (dJointID);
01483 
01484 
01490 ODE_API dJointGroupID dJointGroupCreate (int max_size);
01491 
01498 ODE_API void dJointGroupDestroy (dJointGroupID);
01499 
01507 ODE_API void dJointGroupEmpty (dJointGroupID);
01508 
01513 ODE_API int dJointGetNumBodies(dJointID);
01514 
01528 ODE_API void dJointAttach (dJointID, dBodyID body1, dBodyID body2);
01529 
01535 ODE_API void dJointEnable (dJointID);
01536 
01544 ODE_API void dJointDisable (dJointID);
01545 
01551 ODE_API int dJointIsEnabled (dJointID);
01552 
01557 ODE_API void dJointSetData (dJointID, void *data);
01558 
01563 ODE_API void *dJointGetData (dJointID);
01564 
01584 ODE_API dJointType dJointGetType (dJointID);
01585 
01596 ODE_API dBodyID dJointGetBody (dJointID, int index);
01597 
01605 ODE_API void dJointSetFeedback (dJointID, dJointFeedback *);
01606 
01611 ODE_API dJointFeedback *dJointGetFeedback (dJointID);
01612 
01620 ODE_API void dJointSetBallAnchor (dJointID, dReal x, dReal y, dReal z);
01621 
01626 ODE_API void dJointSetBallAnchor2 (dJointID, dReal x, dReal y, dReal z);
01627 
01632 ODE_API void dJointSetBallParam (dJointID, int parameter, dReal value);
01633 
01638 ODE_API void dJointSetHingeAnchor (dJointID, dReal x, dReal y, dReal z);
01639 
01640 ODE_API void dJointSetHingeAnchorDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
01641 
01646 ODE_API void dJointSetHingeAxis (dJointID, dReal x, dReal y, dReal z);
01647 
01676 ODE_API void dJointSetHingeAxisOffset (dJointID j, dReal x, dReal y, dReal z, dReal angle);
01677 
01682 ODE_API void dJointSetHingeParam (dJointID, int parameter, dReal value);
01683 
01692 ODE_API void dJointAddHingeTorque(dJointID joint, dReal torque);
01693 
01698 ODE_API void dJointSetSliderAxis (dJointID, dReal x, dReal y, dReal z);
01699 
01703 ODE_API void dJointSetSliderAxisDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
01704 
01709 ODE_API void dJointSetSliderParam (dJointID, int parameter, dReal value);
01710 
01719 ODE_API void dJointAddSliderForce(dJointID joint, dReal force);
01720 
01725 ODE_API void dJointSetHinge2Anchor (dJointID, dReal x, dReal y, dReal z);
01726 
01731 ODE_API void dJointSetHinge2Axis1 (dJointID, dReal x, dReal y, dReal z);
01732 
01737 ODE_API void dJointSetHinge2Axis2 (dJointID, dReal x, dReal y, dReal z);
01738 
01743 ODE_API void dJointSetHinge2Param (dJointID, int parameter, dReal value);
01744 
01751 ODE_API void dJointAddHinge2Torques(dJointID joint, dReal torque1, dReal torque2);
01752 
01757 ODE_API void dJointSetUniversalAnchor (dJointID, dReal x, dReal y, dReal z);
01758 
01763 ODE_API void dJointSetUniversalAxis1 (dJointID, dReal x, dReal y, dReal z);
01764 
01801 ODE_API void dJointSetUniversalAxis1Offset (dJointID, dReal x, dReal y, dReal z,
01802                                             dReal offset1, dReal offset2);
01803 
01808 ODE_API void dJointSetUniversalAxis2 (dJointID, dReal x, dReal y, dReal z);
01809 
01848 ODE_API void dJointSetUniversalAxis2Offset (dJointID, dReal x, dReal y, dReal z,
01849                                             dReal offset1, dReal offset2);
01850 
01855 ODE_API void dJointSetUniversalParam (dJointID, int parameter, dReal value);
01856 
01863 ODE_API void dJointAddUniversalTorques(dJointID joint, dReal torque1, dReal torque2);
01864 
01865 
01870 ODE_API void dJointSetPRAnchor (dJointID, dReal x, dReal y, dReal z);
01871 
01876 ODE_API void dJointSetPRAxis1 (dJointID, dReal x, dReal y, dReal z);
01877 
01882 ODE_API void dJointSetPRAxis2 (dJointID, dReal x, dReal y, dReal z);
01883 
01890 ODE_API void dJointSetPRParam (dJointID, int parameter, dReal value);
01891 
01900 ODE_API void dJointAddPRTorque (dJointID j, dReal torque);
01901 
01902 
01907   ODE_API void dJointSetPUAnchor (dJointID, dReal x, dReal y, dReal z);
01908 
01913   ODE_API_DEPRECATED ODE_API void dJointSetPUAnchorDelta (dJointID, dReal x, dReal y, dReal z,
01914                                                           dReal dx, dReal dy, dReal dz);
01915 
01945   ODE_API void dJointSetPUAnchorOffset (dJointID, dReal x, dReal y, dReal z,
01946                                        dReal dx, dReal dy, dReal dz);
01947 
01952   ODE_API void dJointSetPUAxis1 (dJointID, dReal x, dReal y, dReal z);
01953 
01958   ODE_API void dJointSetPUAxis2 (dJointID, dReal x, dReal y, dReal z);
01959 
01964   ODE_API void dJointSetPUAxis3 (dJointID, dReal x, dReal y, dReal z);
01965 
01972   ODE_API void dJointSetPUAxisP (dJointID id, dReal x, dReal y, dReal z);
01973 
01974 
01975 
01985   ODE_API void dJointSetPUParam (dJointID, int parameter, dReal value);
01986 
01995   ODE_API void dJointAddPUTorque (dJointID j, dReal torque);
01996 
01997 
01998 
01999 
02004   ODE_API void dJointSetPistonAnchor (dJointID, dReal x, dReal y, dReal z);
02005 
02035   ODE_API void dJointSetPistonAnchorOffset(dJointID j, dReal x, dReal y, dReal z,
02036                                            dReal dx, dReal dy, dReal dz);
02037 
02042   ODE_API void dJointSetPistonAxis (dJointID, dReal x, dReal y, dReal z);
02043 
02057   ODE_API_DEPRECATED ODE_API void dJointSetPistonAxisDelta (dJointID j, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
02058 
02063   ODE_API void dJointSetPistonParam (dJointID, int parameter, dReal value);
02064 
02073   ODE_API void dJointAddPistonForce (dJointID joint, dReal force);
02074 
02075 
02082 ODE_API void dJointSetFixed (dJointID);
02083 
02084 /*
02085  * @brief Sets joint parameter
02086  *
02087  * @ingroup joints
02088  */
02089 ODE_API void dJointSetFixedParam (dJointID, int parameter, dReal value);
02090 
02096 ODE_API void dJointSetAMotorNumAxes (dJointID, int num);
02097 
02102 ODE_API void dJointSetAMotorAxis (dJointID, int anum, int rel,
02103            dReal x, dReal y, dReal z);
02104 
02114 ODE_API void dJointSetAMotorAngle (dJointID, int anum, dReal angle);
02115 
02120 ODE_API void dJointSetAMotorParam (dJointID, int parameter, dReal value);
02121 
02126 ODE_API void dJointSetAMotorMode (dJointID, int mode);
02127 
02136 ODE_API void dJointAddAMotorTorques (dJointID, dReal torque1, dReal torque2, dReal torque3);
02137 
02143 ODE_API void dJointSetLMotorNumAxes (dJointID, int num);
02144 
02156 ODE_API void dJointSetLMotorAxis (dJointID, int anum, int rel, dReal x, dReal y, dReal z);
02157 
02162 ODE_API void dJointSetLMotorParam (dJointID, int parameter, dReal value);
02163 
02167 ODE_API void dJointSetPlane2DXParam (dJointID, int parameter, dReal value);
02168 
02173 ODE_API void dJointSetPlane2DYParam (dJointID, int parameter, dReal value);
02174 
02178 ODE_API void dJointSetPlane2DAngleParam (dJointID, int parameter, dReal value);
02179 
02186 ODE_API void dJointGetBallAnchor (dJointID, dVector3 result);
02187 
02198 ODE_API void dJointGetBallAnchor2 (dJointID, dVector3 result);
02199 
02204 ODE_API dReal dJointGetBallParam (dJointID, int parameter);
02205 
02213 ODE_API void dJointGetHingeAnchor (dJointID, dVector3 result);
02214 
02223 ODE_API void dJointGetHingeAnchor2 (dJointID, dVector3 result);
02224 
02229 ODE_API void dJointGetHingeAxis (dJointID, dVector3 result);
02230 
02235 ODE_API dReal dJointGetHingeParam (dJointID, int parameter);
02236 
02249 ODE_API dReal dJointGetHingeAngle (dJointID);
02250 
02255 ODE_API dReal dJointGetHingeAngleRate (dJointID);
02256 
02268 ODE_API dReal dJointGetSliderPosition (dJointID);
02269 
02274 ODE_API dReal dJointGetSliderPositionRate (dJointID);
02275 
02280 ODE_API void dJointGetSliderAxis (dJointID, dVector3 result);
02281 
02286 ODE_API dReal dJointGetSliderParam (dJointID, int parameter);
02287 
02294 ODE_API void dJointGetHinge2Anchor (dJointID, dVector3 result);
02295 
02304 ODE_API void dJointGetHinge2Anchor2 (dJointID, dVector3 result);
02305 
02310 ODE_API void dJointGetHinge2Axis1 (dJointID, dVector3 result);
02311 
02316 ODE_API void dJointGetHinge2Axis2 (dJointID, dVector3 result);
02317 
02322 ODE_API dReal dJointGetHinge2Param (dJointID, int parameter);
02323 
02328 ODE_API dReal dJointGetHinge2Angle1 (dJointID);
02329 
02334 ODE_API dReal dJointGetHinge2Angle1Rate (dJointID);
02335 
02340 ODE_API dReal dJointGetHinge2Angle2Rate (dJointID);
02341 
02348 ODE_API void dJointGetUniversalAnchor (dJointID, dVector3 result);
02349 
02363 ODE_API void dJointGetUniversalAnchor2 (dJointID, dVector3 result);
02364 
02369 ODE_API void dJointGetUniversalAxis1 (dJointID, dVector3 result);
02370 
02375 ODE_API void dJointGetUniversalAxis2 (dJointID, dVector3 result);
02376 
02377 
02382 ODE_API dReal dJointGetUniversalParam (dJointID, int parameter);
02383 
02395 ODE_API void dJointGetUniversalAngles (dJointID, dReal *angle1, dReal *angle2);
02396 
02401 ODE_API dReal dJointGetUniversalAngle1 (dJointID);
02402 
02407 ODE_API dReal dJointGetUniversalAngle2 (dJointID);
02408 
02413 ODE_API dReal dJointGetUniversalAngle1Rate (dJointID);
02414 
02419 ODE_API dReal dJointGetUniversalAngle2Rate (dJointID);
02420 
02421 
02422 
02429 ODE_API void dJointGetPRAnchor (dJointID, dVector3 result);
02430 
02442 ODE_API dReal dJointGetPRPosition (dJointID);
02443 
02449 ODE_API dReal dJointGetPRPositionRate (dJointID);
02450 
02451 
02459 ODE_API dReal dJointGetPRAngle (dJointID);
02460 
02466 ODE_API dReal dJointGetPRAngleRate (dJointID);
02467 
02468 
02473 ODE_API void dJointGetPRAxis1 (dJointID, dVector3 result);
02474 
02479 ODE_API void dJointGetPRAxis2 (dJointID, dVector3 result);
02480 
02485 ODE_API dReal dJointGetPRParam (dJointID, int parameter);
02486 
02487     
02488     
02495   ODE_API void dJointGetPUAnchor (dJointID, dVector3 result);
02496 
02508   ODE_API dReal dJointGetPUPosition (dJointID);
02509 
02515   ODE_API dReal dJointGetPUPositionRate (dJointID);
02516 
02521   ODE_API void dJointGetPUAxis1 (dJointID, dVector3 result);
02522 
02527   ODE_API void dJointGetPUAxis2 (dJointID, dVector3 result);
02528 
02533   ODE_API void dJointGetPUAxis3 (dJointID, dVector3 result);
02534 
02542   ODE_API void dJointGetPUAxisP (dJointID id, dVector3 result);
02543 
02544 
02545 
02546 
02558   ODE_API void dJointGetPUAngles (dJointID, dReal *angle1, dReal *angle2);
02559 
02564   ODE_API dReal dJointGetPUAngle1 (dJointID);
02565 
02571   ODE_API dReal dJointGetPUAngle1Rate (dJointID);
02572 
02573 
02578   ODE_API dReal dJointGetPUAngle2 (dJointID);
02579 
02585   ODE_API dReal dJointGetPUAngle2Rate (dJointID);
02586 
02591   ODE_API dReal dJointGetPUParam (dJointID, int parameter);
02592 
02593 
02594 
02595 
02596 
02604   ODE_API dReal dJointGetPistonPosition (dJointID);
02605 
02610   ODE_API dReal dJointGetPistonPositionRate (dJointID);
02611 
02619   ODE_API dReal dJointGetPistonAngle (dJointID);
02620 
02625   ODE_API dReal dJointGetPistonAngleRate (dJointID);
02626 
02627 
02637   ODE_API void dJointGetPistonAnchor (dJointID, dVector3 result);
02638 
02652   ODE_API void dJointGetPistonAnchor2 (dJointID, dVector3 result);
02653 
02658   ODE_API void dJointGetPistonAxis (dJointID, dVector3 result);
02659 
02664   ODE_API dReal dJointGetPistonParam (dJointID, int parameter);
02665 
02666 
02675 ODE_API int dJointGetAMotorNumAxes (dJointID);
02676 
02686 ODE_API void dJointGetAMotorAxis (dJointID, int anum, dVector3 result);
02687 
02704 ODE_API int dJointGetAMotorAxisRel (dJointID, int anum);
02705 
02714 ODE_API dReal dJointGetAMotorAngle (dJointID, int anum);
02715 
02724 ODE_API dReal dJointGetAMotorAngleRate (dJointID, int anum);
02725 
02730 ODE_API dReal dJointGetAMotorParam (dJointID, int parameter);
02731 
02745 ODE_API int dJointGetAMotorMode (dJointID);
02746 
02751 ODE_API int dJointGetLMotorNumAxes (dJointID);
02752 
02757 ODE_API void dJointGetLMotorAxis (dJointID, int anum, dVector3 result);
02758 
02763 ODE_API dReal dJointGetLMotorParam (dJointID, int parameter);
02764 
02769 ODE_API dReal dJointGetFixedParam (dJointID, int parameter);
02770 
02771 
02775 ODE_API dJointID dConnectingJoint (dBodyID, dBodyID);
02776 
02780 ODE_API int dConnectingJointList (dBodyID, dBodyID, dJointID*);
02781 
02788 ODE_API int dAreConnected (dBodyID, dBodyID);
02789 
02803 ODE_API int dAreConnectedExcluding (dBodyID body1, dBodyID body2, int joint_type);
02804 
02805 
02806 #ifdef __cplusplus
02807 }
02808 #endif
02809 
02810 #endif