Open Dynamics Engine
|
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 00157 ODE_API int dWorldUseSharedWorkingMemory(dWorldID w, dWorldID from_world/*=NULL*/); 00158 00180 ODE_API void dWorldCleanupWorkingMemory(dWorldID w); 00181 00182 #define dWORLDSTEP_RESERVEFACTOR_DEFAULT 1.2f 00183 #define dWORLDSTEP_RESERVESIZE_DEFAULT 65536U 00184 00201 typedef struct 00202 { 00203 unsigned struct_size; 00204 float reserve_factor; // Use float as precision does not matter here 00205 unsigned reserve_minimum; 00206 00207 } dWorldStepReserveInfo; 00208 00234 ODE_API int dWorldSetStepMemoryReservationPolicy(dWorldID w, const dWorldStepReserveInfo *policyinfo/*=NULL*/); 00235 00256 typedef struct 00257 { 00258 unsigned struct_size; 00259 void *(*alloc_block)(size_t block_size); 00260 void *(*shrink_block)(void *block_pointer, size_t block_current_size, size_t block_smaller_size); 00261 void (*free_block)(void *block_pointer, size_t block_current_size); 00262 00263 } dWorldStepMemoryFunctionsInfo; 00264 00289 ODE_API int dWorldSetStepMemoryManager(dWorldID w, const dWorldStepMemoryFunctionsInfo *memfuncs); 00290 00309 ODE_API int dWorldStep (dWorldID w, dReal stepsize); 00310 00352 ODE_API int dWorldQuickStep (dWorldID w, dReal stepsize); 00353 00354 00369 ODE_API void dWorldImpulseToForce 00370 ( 00371 dWorldID, dReal stepsize, 00372 dReal ix, dReal iy, dReal iz, dVector3 force 00373 ); 00374 00375 00385 ODE_API void dWorldSetQuickStepNumIterations (dWorldID, int num); 00386 00387 00394 ODE_API int dWorldGetQuickStepNumIterations (dWorldID); 00395 00401 ODE_API void dWorldSetQuickStepW (dWorldID, dReal over_relaxation); 00402 00408 ODE_API dReal dWorldGetQuickStepW (dWorldID); 00409 00410 /* World contact parameter functions */ 00411 00420 ODE_API void dWorldSetContactMaxCorrectingVel (dWorldID, dReal vel); 00421 00427 ODE_API dReal dWorldGetContactMaxCorrectingVel (dWorldID); 00428 00440 ODE_API void dWorldSetContactSurfaceLayer (dWorldID, dReal depth); 00441 00447 ODE_API dReal dWorldGetContactSurfaceLayer (dWorldID); 00448 00449 00487 ODE_API dReal dWorldGetAutoDisableLinearThreshold (dWorldID); 00488 00494 ODE_API void dWorldSetAutoDisableLinearThreshold (dWorldID, dReal linear_threshold); 00495 00501 ODE_API dReal dWorldGetAutoDisableAngularThreshold (dWorldID); 00502 00508 ODE_API void dWorldSetAutoDisableAngularThreshold (dWorldID, dReal angular_threshold); 00509 00515 ODE_API dReal dWorldGetAutoDisableLinearAverageThreshold (dWorldID); 00516 00522 ODE_API void dWorldSetAutoDisableLinearAverageThreshold (dWorldID, dReal linear_average_threshold); 00523 00529 ODE_API dReal dWorldGetAutoDisableAngularAverageThreshold (dWorldID); 00530 00536 ODE_API void dWorldSetAutoDisableAngularAverageThreshold (dWorldID, dReal angular_average_threshold); 00537 00543 ODE_API int dWorldGetAutoDisableAverageSamplesCount (dWorldID); 00544 00551 ODE_API void dWorldSetAutoDisableAverageSamplesCount (dWorldID, unsigned int average_samples_count ); 00552 00558 ODE_API int dWorldGetAutoDisableSteps (dWorldID); 00559 00565 ODE_API void dWorldSetAutoDisableSteps (dWorldID, int steps); 00566 00572 ODE_API dReal dWorldGetAutoDisableTime (dWorldID); 00573 00579 ODE_API void dWorldSetAutoDisableTime (dWorldID, dReal time); 00580 00586 ODE_API int dWorldGetAutoDisableFlag (dWorldID); 00587 00593 ODE_API void dWorldSetAutoDisableFlag (dWorldID, int do_auto_disable); 00594 00595 00635 ODE_API dReal dWorldGetLinearDampingThreshold (dWorldID w); 00636 00643 ODE_API void dWorldSetLinearDampingThreshold(dWorldID w, dReal threshold); 00644 00649 ODE_API dReal dWorldGetAngularDampingThreshold (dWorldID w); 00650 00657 ODE_API void dWorldSetAngularDampingThreshold(dWorldID w, dReal threshold); 00658 00663 ODE_API dReal dWorldGetLinearDamping (dWorldID w); 00664 00671 ODE_API void dWorldSetLinearDamping (dWorldID w, dReal scale); 00672 00677 ODE_API dReal dWorldGetAngularDamping (dWorldID w); 00678 00685 ODE_API void dWorldSetAngularDamping(dWorldID w, dReal scale); 00686 00693 ODE_API void dWorldSetDamping(dWorldID w, 00694 dReal linear_scale, 00695 dReal angular_scale); 00696 00702 ODE_API dReal dWorldGetMaxAngularSpeed (dWorldID w); 00703 00704 00710 ODE_API void dWorldSetMaxAngularSpeed (dWorldID w, dReal max_speed); 00711 00712 00713 00753 ODE_API dReal dBodyGetAutoDisableLinearThreshold (dBodyID); 00754 00760 ODE_API void dBodySetAutoDisableLinearThreshold (dBodyID, dReal linear_average_threshold); 00761 00767 ODE_API dReal dBodyGetAutoDisableAngularThreshold (dBodyID); 00768 00774 ODE_API void dBodySetAutoDisableAngularThreshold (dBodyID, dReal angular_average_threshold); 00775 00781 ODE_API int dBodyGetAutoDisableAverageSamplesCount (dBodyID); 00782 00788 ODE_API void dBodySetAutoDisableAverageSamplesCount (dBodyID, unsigned int average_samples_count); 00789 00790 00796 ODE_API int dBodyGetAutoDisableSteps (dBodyID); 00797 00803 ODE_API void dBodySetAutoDisableSteps (dBodyID, int steps); 00804 00810 ODE_API dReal dBodyGetAutoDisableTime (dBodyID); 00811 00817 ODE_API void dBodySetAutoDisableTime (dBodyID, dReal time); 00818 00824 ODE_API int dBodyGetAutoDisableFlag (dBodyID); 00825 00831 ODE_API void dBodySetAutoDisableFlag (dBodyID, int do_auto_disable); 00832 00839 ODE_API void dBodySetAutoDisableDefaults (dBodyID); 00840 00841 00848 ODE_API dWorldID dBodyGetWorld (dBodyID); 00849 00856 ODE_API dBodyID dBodyCreate (dWorldID); 00857 00866 ODE_API void dBodyDestroy (dBodyID); 00867 00873 ODE_API void dBodySetData (dBodyID, void *data); 00874 00880 ODE_API void *dBodyGetData (dBodyID); 00881 00890 ODE_API void dBodySetPosition (dBodyID, dReal x, dReal y, dReal z); 00891 00900 ODE_API void dBodySetRotation (dBodyID, const dMatrix3 R); 00901 00910 ODE_API void dBodySetQuaternion (dBodyID, const dQuaternion q); 00911 00916 ODE_API void dBodySetLinearVel (dBodyID, dReal x, dReal y, dReal z); 00917 00922 ODE_API void dBodySetAngularVel (dBodyID, dReal x, dReal y, dReal z); 00923 00933 ODE_API const dReal * dBodyGetPosition (dBodyID); 00934 00935 00943 ODE_API void dBodyCopyPosition (dBodyID body, dVector3 pos); 00944 00945 00951 ODE_API const dReal * dBodyGetRotation (dBodyID); 00952 00953 00961 ODE_API void dBodyCopyRotation (dBodyID, dMatrix3 R); 00962 00963 00969 ODE_API const dReal * dBodyGetQuaternion (dBodyID); 00970 00971 00979 ODE_API void dBodyCopyQuaternion(dBodyID body, dQuaternion quat); 00980 00981 00986 ODE_API const dReal * dBodyGetLinearVel (dBodyID); 00987 00992 ODE_API const dReal * dBodyGetAngularVel (dBodyID); 00993 00998 ODE_API void dBodySetMass (dBodyID, const dMass *mass); 00999 01004 ODE_API void dBodyGetMass (dBodyID, dMass *mass); 01005 01010 ODE_API void dBodyAddForce (dBodyID, dReal fx, dReal fy, dReal fz); 01011 01016 ODE_API void dBodyAddTorque (dBodyID, dReal fx, dReal fy, dReal fz); 01017 01022 ODE_API void dBodyAddRelForce (dBodyID, dReal fx, dReal fy, dReal fz); 01023 01028 ODE_API void dBodyAddRelTorque (dBodyID, dReal fx, dReal fy, dReal fz); 01029 01034 ODE_API void dBodyAddForceAtPos (dBodyID, dReal fx, dReal fy, dReal fz, 01035 dReal px, dReal py, dReal pz); 01040 ODE_API void dBodyAddForceAtRelPos (dBodyID, dReal fx, dReal fy, dReal fz, 01041 dReal px, dReal py, dReal pz); 01046 ODE_API void dBodyAddRelForceAtPos (dBodyID, dReal fx, dReal fy, dReal fz, 01047 dReal px, dReal py, dReal pz); 01052 ODE_API void dBodyAddRelForceAtRelPos (dBodyID, dReal fx, dReal fy, dReal fz, 01053 dReal px, dReal py, dReal pz); 01054 01064 ODE_API const dReal * dBodyGetForce (dBodyID); 01065 01075 ODE_API const dReal * dBodyGetTorque (dBodyID); 01076 01085 ODE_API void dBodySetForce (dBodyID b, dReal x, dReal y, dReal z); 01086 01095 ODE_API void dBodySetTorque (dBodyID b, dReal x, dReal y, dReal z); 01096 01102 ODE_API void dBodyGetRelPointPos 01103 ( 01104 dBodyID, dReal px, dReal py, dReal pz, 01105 dVector3 result 01106 ); 01107 01113 ODE_API void dBodyGetRelPointVel 01114 ( 01115 dBodyID, dReal px, dReal py, dReal pz, 01116 dVector3 result 01117 ); 01118 01125 ODE_API void dBodyGetPointVel 01126 ( 01127 dBodyID, dReal px, dReal py, dReal pz, 01128 dVector3 result 01129 ); 01130 01139 ODE_API void dBodyGetPosRelPoint 01140 ( 01141 dBodyID, dReal px, dReal py, dReal pz, 01142 dVector3 result 01143 ); 01144 01150 ODE_API void dBodyVectorToWorld 01151 ( 01152 dBodyID, dReal px, dReal py, dReal pz, 01153 dVector3 result 01154 ); 01155 01161 ODE_API void dBodyVectorFromWorld 01162 ( 01163 dBodyID, dReal px, dReal py, dReal pz, 01164 dVector3 result 01165 ); 01166 01184 ODE_API void dBodySetFiniteRotationMode (dBodyID, int mode); 01185 01202 ODE_API void dBodySetFiniteRotationAxis (dBodyID, dReal x, dReal y, dReal z); 01203 01209 ODE_API int dBodyGetFiniteRotationMode (dBodyID); 01210 01216 ODE_API void dBodyGetFiniteRotationAxis (dBodyID, dVector3 result); 01217 01223 ODE_API int dBodyGetNumJoints (dBodyID b); 01224 01231 ODE_API dJointID dBodyGetJoint (dBodyID, int index); 01232 01233 01234 01235 01241 ODE_API void dBodySetDynamic (dBodyID); 01242 01255 ODE_API void dBodySetKinematic (dBodyID); 01256 01262 ODE_API int dBodyIsKinematic (dBodyID); 01263 01269 ODE_API void dBodyEnable (dBodyID); 01270 01278 ODE_API void dBodyDisable (dBodyID); 01279 01285 ODE_API int dBodyIsEnabled (dBodyID); 01286 01294 ODE_API void dBodySetGravityMode (dBodyID b, int mode); 01295 01301 ODE_API int dBodyGetGravityMode (dBodyID b); 01302 01316 ODE_API void dBodySetMovedCallback(dBodyID b, void (*callback)(dBodyID)); 01317 01318 01328 ODE_API dGeomID dBodyGetFirstGeom (dBodyID b); 01329 01330 01338 ODE_API dGeomID dBodyGetNextGeom (dGeomID g); 01339 01340 01345 ODE_API void dBodySetDampingDefaults(dBodyID b); 01346 01351 ODE_API dReal dBodyGetLinearDamping (dBodyID b); 01352 01361 ODE_API void dBodySetLinearDamping(dBodyID b, dReal scale); 01362 01369 ODE_API dReal dBodyGetAngularDamping (dBodyID b); 01370 01379 ODE_API void dBodySetAngularDamping(dBodyID b, dReal scale); 01380 01388 ODE_API void dBodySetDamping(dBodyID b, dReal linear_scale, dReal angular_scale); 01389 01394 ODE_API dReal dBodyGetLinearDampingThreshold (dBodyID b); 01395 01402 ODE_API void dBodySetLinearDampingThreshold(dBodyID b, dReal threshold); 01403 01408 ODE_API dReal dBodyGetAngularDampingThreshold (dBodyID b); 01409 01416 ODE_API void dBodySetAngularDampingThreshold(dBodyID b, dReal threshold); 01417 01423 ODE_API dReal dBodyGetMaxAngularSpeed (dBodyID b); 01424 01433 ODE_API void dBodySetMaxAngularSpeed(dBodyID b, dReal max_speed); 01434 01435 01436 01444 ODE_API int dBodyGetGyroscopicMode(dBodyID b); 01445 01446 01458 ODE_API void dBodySetGyroscopicMode(dBodyID b, int enabled); 01459 01460 01461 01462 01538 ODE_API dJointID dJointCreateBall (dWorldID, dJointGroupID); 01539 01546 ODE_API dJointID dJointCreateHinge (dWorldID, dJointGroupID); 01547 01554 ODE_API dJointID dJointCreateSlider (dWorldID, dJointGroupID); 01555 01562 ODE_API dJointID dJointCreateContact (dWorldID, dJointGroupID, const dContact *); 01563 01570 ODE_API dJointID dJointCreateHinge2 (dWorldID, dJointGroupID); 01571 01578 ODE_API dJointID dJointCreateUniversal (dWorldID, dJointGroupID); 01579 01586 ODE_API dJointID dJointCreatePR (dWorldID, dJointGroupID); 01587 01594 ODE_API dJointID dJointCreatePU (dWorldID, dJointGroupID); 01595 01603 ODE_API dJointID dJointCreatePiston (dWorldID, dJointGroupID); 01604 01611 ODE_API dJointID dJointCreateFixed (dWorldID, dJointGroupID); 01612 01613 ODE_API dJointID dJointCreateNull (dWorldID, dJointGroupID); 01614 01621 ODE_API dJointID dJointCreateAMotor (dWorldID, dJointGroupID); 01622 01629 ODE_API dJointID dJointCreateLMotor (dWorldID, dJointGroupID); 01630 01637 ODE_API dJointID dJointCreatePlane2D (dWorldID, dJointGroupID); 01638 01647 ODE_API void dJointDestroy (dJointID); 01648 01649 01655 ODE_API dJointGroupID dJointGroupCreate (int max_size); 01656 01663 ODE_API void dJointGroupDestroy (dJointGroupID); 01664 01672 ODE_API void dJointGroupEmpty (dJointGroupID); 01673 01678 ODE_API int dJointGetNumBodies(dJointID); 01679 01693 ODE_API void dJointAttach (dJointID, dBodyID body1, dBodyID body2); 01694 01700 ODE_API void dJointEnable (dJointID); 01701 01709 ODE_API void dJointDisable (dJointID); 01710 01716 ODE_API int dJointIsEnabled (dJointID); 01717 01722 ODE_API void dJointSetData (dJointID, void *data); 01723 01728 ODE_API void *dJointGetData (dJointID); 01729 01749 ODE_API dJointType dJointGetType (dJointID); 01750 01761 ODE_API dBodyID dJointGetBody (dJointID, int index); 01762 01770 ODE_API void dJointSetFeedback (dJointID, dJointFeedback *); 01771 01776 ODE_API dJointFeedback *dJointGetFeedback (dJointID); 01777 01785 ODE_API void dJointSetBallAnchor (dJointID, dReal x, dReal y, dReal z); 01786 01791 ODE_API void dJointSetBallAnchor2 (dJointID, dReal x, dReal y, dReal z); 01792 01797 ODE_API void dJointSetBallParam (dJointID, int parameter, dReal value); 01798 01803 ODE_API void dJointSetHingeAnchor (dJointID, dReal x, dReal y, dReal z); 01804 01805 ODE_API void dJointSetHingeAnchorDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); 01806 01811 ODE_API void dJointSetHingeAxis (dJointID, dReal x, dReal y, dReal z); 01812 01841 ODE_API void dJointSetHingeAxisOffset (dJointID j, dReal x, dReal y, dReal z, dReal angle); 01842 01847 ODE_API void dJointSetHingeParam (dJointID, int parameter, dReal value); 01848 01857 ODE_API void dJointAddHingeTorque(dJointID joint, dReal torque); 01858 01863 ODE_API void dJointSetSliderAxis (dJointID, dReal x, dReal y, dReal z); 01864 01868 ODE_API void dJointSetSliderAxisDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); 01869 01874 ODE_API void dJointSetSliderParam (dJointID, int parameter, dReal value); 01875 01884 ODE_API void dJointAddSliderForce(dJointID joint, dReal force); 01885 01890 ODE_API void dJointSetHinge2Anchor (dJointID, dReal x, dReal y, dReal z); 01891 01896 ODE_API void dJointSetHinge2Axis1 (dJointID, dReal x, dReal y, dReal z); 01897 01902 ODE_API void dJointSetHinge2Axis2 (dJointID, dReal x, dReal y, dReal z); 01903 01908 ODE_API void dJointSetHinge2Param (dJointID, int parameter, dReal value); 01909 01916 ODE_API void dJointAddHinge2Torques(dJointID joint, dReal torque1, dReal torque2); 01917 01922 ODE_API void dJointSetUniversalAnchor (dJointID, dReal x, dReal y, dReal z); 01923 01928 ODE_API void dJointSetUniversalAxis1 (dJointID, dReal x, dReal y, dReal z); 01929 01966 ODE_API void dJointSetUniversalAxis1Offset (dJointID, dReal x, dReal y, dReal z, 01967 dReal offset1, dReal offset2); 01968 01973 ODE_API void dJointSetUniversalAxis2 (dJointID, dReal x, dReal y, dReal z); 01974 02013 ODE_API void dJointSetUniversalAxis2Offset (dJointID, dReal x, dReal y, dReal z, 02014 dReal offset1, dReal offset2); 02015 02020 ODE_API void dJointSetUniversalParam (dJointID, int parameter, dReal value); 02021 02028 ODE_API void dJointAddUniversalTorques(dJointID joint, dReal torque1, dReal torque2); 02029 02030 02035 ODE_API void dJointSetPRAnchor (dJointID, dReal x, dReal y, dReal z); 02036 02041 ODE_API void dJointSetPRAxis1 (dJointID, dReal x, dReal y, dReal z); 02042 02047 ODE_API void dJointSetPRAxis2 (dJointID, dReal x, dReal y, dReal z); 02048 02055 ODE_API void dJointSetPRParam (dJointID, int parameter, dReal value); 02056 02065 ODE_API void dJointAddPRTorque (dJointID j, dReal torque); 02066 02067 02072 ODE_API void dJointSetPUAnchor (dJointID, dReal x, dReal y, dReal z); 02073 02078 ODE_API_DEPRECATED ODE_API void dJointSetPUAnchorDelta (dJointID, dReal x, dReal y, dReal z, 02079 dReal dx, dReal dy, dReal dz); 02080 02110 ODE_API void dJointSetPUAnchorOffset (dJointID, dReal x, dReal y, dReal z, 02111 dReal dx, dReal dy, dReal dz); 02112 02117 ODE_API void dJointSetPUAxis1 (dJointID, dReal x, dReal y, dReal z); 02118 02123 ODE_API void dJointSetPUAxis2 (dJointID, dReal x, dReal y, dReal z); 02124 02129 ODE_API void dJointSetPUAxis3 (dJointID, dReal x, dReal y, dReal z); 02130 02137 ODE_API void dJointSetPUAxisP (dJointID id, dReal x, dReal y, dReal z); 02138 02139 02140 02150 ODE_API void dJointSetPUParam (dJointID, int parameter, dReal value); 02151 02160 ODE_API void dJointAddPUTorque (dJointID j, dReal torque); 02161 02162 02163 02164 02169 ODE_API void dJointSetPistonAnchor (dJointID, dReal x, dReal y, dReal z); 02170 02200 ODE_API void dJointSetPistonAnchorOffset(dJointID j, dReal x, dReal y, dReal z, 02201 dReal dx, dReal dy, dReal dz); 02202 02207 ODE_API void dJointSetPistonAxis (dJointID, dReal x, dReal y, dReal z); 02208 02222 ODE_API_DEPRECATED ODE_API void dJointSetPistonAxisDelta (dJointID j, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az); 02223 02228 ODE_API void dJointSetPistonParam (dJointID, int parameter, dReal value); 02229 02238 ODE_API void dJointAddPistonForce (dJointID joint, dReal force); 02239 02240 02247 ODE_API void dJointSetFixed (dJointID); 02248 02249 /* 02250 * @brief Sets joint parameter 02251 * 02252 * @ingroup joints 02253 */ 02254 ODE_API void dJointSetFixedParam (dJointID, int parameter, dReal value); 02255 02261 ODE_API void dJointSetAMotorNumAxes (dJointID, int num); 02262 02267 ODE_API void dJointSetAMotorAxis (dJointID, int anum, int rel, 02268 dReal x, dReal y, dReal z); 02269 02279 ODE_API void dJointSetAMotorAngle (dJointID, int anum, dReal angle); 02280 02285 ODE_API void dJointSetAMotorParam (dJointID, int parameter, dReal value); 02286 02291 ODE_API void dJointSetAMotorMode (dJointID, int mode); 02292 02301 ODE_API void dJointAddAMotorTorques (dJointID, dReal torque1, dReal torque2, dReal torque3); 02302 02308 ODE_API void dJointSetLMotorNumAxes (dJointID, int num); 02309 02321 ODE_API void dJointSetLMotorAxis (dJointID, int anum, int rel, dReal x, dReal y, dReal z); 02322 02327 ODE_API void dJointSetLMotorParam (dJointID, int parameter, dReal value); 02328 02332 ODE_API void dJointSetPlane2DXParam (dJointID, int parameter, dReal value); 02333 02338 ODE_API void dJointSetPlane2DYParam (dJointID, int parameter, dReal value); 02339 02343 ODE_API void dJointSetPlane2DAngleParam (dJointID, int parameter, dReal value); 02344 02351 ODE_API void dJointGetBallAnchor (dJointID, dVector3 result); 02352 02363 ODE_API void dJointGetBallAnchor2 (dJointID, dVector3 result); 02364 02369 ODE_API dReal dJointGetBallParam (dJointID, int parameter); 02370 02378 ODE_API void dJointGetHingeAnchor (dJointID, dVector3 result); 02379 02388 ODE_API void dJointGetHingeAnchor2 (dJointID, dVector3 result); 02389 02394 ODE_API void dJointGetHingeAxis (dJointID, dVector3 result); 02395 02400 ODE_API dReal dJointGetHingeParam (dJointID, int parameter); 02401 02414 ODE_API dReal dJointGetHingeAngle (dJointID); 02415 02420 ODE_API dReal dJointGetHingeAngleRate (dJointID); 02421 02433 ODE_API dReal dJointGetSliderPosition (dJointID); 02434 02439 ODE_API dReal dJointGetSliderPositionRate (dJointID); 02440 02445 ODE_API void dJointGetSliderAxis (dJointID, dVector3 result); 02446 02451 ODE_API dReal dJointGetSliderParam (dJointID, int parameter); 02452 02459 ODE_API void dJointGetHinge2Anchor (dJointID, dVector3 result); 02460 02469 ODE_API void dJointGetHinge2Anchor2 (dJointID, dVector3 result); 02470 02475 ODE_API void dJointGetHinge2Axis1 (dJointID, dVector3 result); 02476 02481 ODE_API void dJointGetHinge2Axis2 (dJointID, dVector3 result); 02482 02487 ODE_API dReal dJointGetHinge2Param (dJointID, int parameter); 02488 02493 ODE_API dReal dJointGetHinge2Angle1 (dJointID); 02494 02499 ODE_API dReal dJointGetHinge2Angle1Rate (dJointID); 02500 02505 ODE_API dReal dJointGetHinge2Angle2Rate (dJointID); 02506 02513 ODE_API void dJointGetUniversalAnchor (dJointID, dVector3 result); 02514 02528 ODE_API void dJointGetUniversalAnchor2 (dJointID, dVector3 result); 02529 02534 ODE_API void dJointGetUniversalAxis1 (dJointID, dVector3 result); 02535 02540 ODE_API void dJointGetUniversalAxis2 (dJointID, dVector3 result); 02541 02542 02547 ODE_API dReal dJointGetUniversalParam (dJointID, int parameter); 02548 02560 ODE_API void dJointGetUniversalAngles (dJointID, dReal *angle1, dReal *angle2); 02561 02566 ODE_API dReal dJointGetUniversalAngle1 (dJointID); 02567 02572 ODE_API dReal dJointGetUniversalAngle2 (dJointID); 02573 02578 ODE_API dReal dJointGetUniversalAngle1Rate (dJointID); 02579 02584 ODE_API dReal dJointGetUniversalAngle2Rate (dJointID); 02585 02586 02587 02594 ODE_API void dJointGetPRAnchor (dJointID, dVector3 result); 02595 02607 ODE_API dReal dJointGetPRPosition (dJointID); 02608 02614 ODE_API dReal dJointGetPRPositionRate (dJointID); 02615 02616 02624 ODE_API dReal dJointGetPRAngle (dJointID); 02625 02631 ODE_API dReal dJointGetPRAngleRate (dJointID); 02632 02633 02638 ODE_API void dJointGetPRAxis1 (dJointID, dVector3 result); 02639 02644 ODE_API void dJointGetPRAxis2 (dJointID, dVector3 result); 02645 02650 ODE_API dReal dJointGetPRParam (dJointID, int parameter); 02651 02652 02653 02660 ODE_API void dJointGetPUAnchor (dJointID, dVector3 result); 02661 02673 ODE_API dReal dJointGetPUPosition (dJointID); 02674 02680 ODE_API dReal dJointGetPUPositionRate (dJointID); 02681 02686 ODE_API void dJointGetPUAxis1 (dJointID, dVector3 result); 02687 02692 ODE_API void dJointGetPUAxis2 (dJointID, dVector3 result); 02693 02698 ODE_API void dJointGetPUAxis3 (dJointID, dVector3 result); 02699 02707 ODE_API void dJointGetPUAxisP (dJointID id, dVector3 result); 02708 02709 02710 02711 02723 ODE_API void dJointGetPUAngles (dJointID, dReal *angle1, dReal *angle2); 02724 02729 ODE_API dReal dJointGetPUAngle1 (dJointID); 02730 02736 ODE_API dReal dJointGetPUAngle1Rate (dJointID); 02737 02738 02743 ODE_API dReal dJointGetPUAngle2 (dJointID); 02744 02750 ODE_API dReal dJointGetPUAngle2Rate (dJointID); 02751 02756 ODE_API dReal dJointGetPUParam (dJointID, int parameter); 02757 02758 02759 02760 02761 02769 ODE_API dReal dJointGetPistonPosition (dJointID); 02770 02775 ODE_API dReal dJointGetPistonPositionRate (dJointID); 02776 02784 ODE_API dReal dJointGetPistonAngle (dJointID); 02785 02790 ODE_API dReal dJointGetPistonAngleRate (dJointID); 02791 02792 02802 ODE_API void dJointGetPistonAnchor (dJointID, dVector3 result); 02803 02817 ODE_API void dJointGetPistonAnchor2 (dJointID, dVector3 result); 02818 02823 ODE_API void dJointGetPistonAxis (dJointID, dVector3 result); 02824 02829 ODE_API dReal dJointGetPistonParam (dJointID, int parameter); 02830 02831 02840 ODE_API int dJointGetAMotorNumAxes (dJointID); 02841 02851 ODE_API void dJointGetAMotorAxis (dJointID, int anum, dVector3 result); 02852 02869 ODE_API int dJointGetAMotorAxisRel (dJointID, int anum); 02870 02879 ODE_API dReal dJointGetAMotorAngle (dJointID, int anum); 02880 02889 ODE_API dReal dJointGetAMotorAngleRate (dJointID, int anum); 02890 02895 ODE_API dReal dJointGetAMotorParam (dJointID, int parameter); 02896 02910 ODE_API int dJointGetAMotorMode (dJointID); 02911 02916 ODE_API int dJointGetLMotorNumAxes (dJointID); 02917 02922 ODE_API void dJointGetLMotorAxis (dJointID, int anum, dVector3 result); 02923 02928 ODE_API dReal dJointGetLMotorParam (dJointID, int parameter); 02929 02934 ODE_API dReal dJointGetFixedParam (dJointID, int parameter); 02935 02936 02940 ODE_API dJointID dConnectingJoint (dBodyID, dBodyID); 02941 02945 ODE_API int dConnectingJointList (dBodyID, dBodyID, dJointID*); 02946 02953 ODE_API int dAreConnected (dBodyID, dBodyID); 02954 02968 ODE_API int dAreConnectedExcluding (dBodyID body1, dBodyID body2, int joint_type); 02969 02970 02971 #ifdef __cplusplus 02972 } 02973 #endif 02974 02975 #endif