ODE  0.13.1
 All Data Structures Functions Variables Typedefs Enumerations Groups
objects.h
1 /*************************************************************************
2  * *
3  * Open Dynamics Engine, Copyright (C) 2001,2002 Russell L. Smith. *
4  * All rights reserved. Email: russ@q12.org Web: www.q12.org *
5  * *
6  * This library is free software; you can redistribute it and/or *
7  * modify it under the terms of EITHER: *
8  * (1) The GNU Lesser General Public License as published by the Free *
9  * Software Foundation; either version 2.1 of the License, or (at *
10  * your option) any later version. The text of the GNU Lesser *
11  * General Public License is included with this library in the *
12  * file LICENSE.TXT. *
13  * (2) The BSD-style license that is included with this library in *
14  * the file LICENSE-BSD.TXT. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files *
19  * LICENSE.TXT and LICENSE-BSD.TXT for more details. *
20  * *
21  *************************************************************************/
22 
23 #ifndef _ODE_OBJECTS_H_
24 #define _ODE_OBJECTS_H_
25 
26 #include <ode/common.h>
27 #include <ode/mass.h>
28 #include <ode/contact.h>
29 #include <ode/threading.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
52 ODE_API dWorldID dWorldCreate(void);
53 
54 
64 ODE_API void dWorldDestroy (dWorldID world);
65 
66 
73 ODE_API void dWorldSetData (dWorldID world, void* data);
74 
75 
82 ODE_API void* dWorldGetData (dWorldID world);
83 
84 
93 ODE_API void dWorldSetGravity (dWorldID, dReal x, dReal y, dReal z);
94 
95 
100 ODE_API void dWorldGetGravity (dWorldID, dVector3 gravity);
101 
102 
110 ODE_API void dWorldSetERP (dWorldID, dReal erp);
111 
117 ODE_API dReal dWorldGetERP (dWorldID);
118 
119 
127 ODE_API void dWorldSetCFM (dWorldID, dReal cfm);
128 
134 ODE_API dReal dWorldGetCFM (dWorldID);
135 
136 
137 #define dWORLDSTEP_THREADCOUNT_UNLIMITED 0U
138 
160 ODE_API void dWorldSetStepIslandsProcessingMaxThreadCount(dWorldID w, unsigned count);
172 ODE_API unsigned dWorldGetStepIslandsProcessingMaxThreadCount(dWorldID w);
173 
215 ODE_API int dWorldUseSharedWorkingMemory(dWorldID w, dWorldID from_world/*=NULL*/);
216 
238 ODE_API void dWorldCleanupWorkingMemory(dWorldID w);
239 
240 
241 #define dWORLDSTEP_RESERVEFACTOR_DEFAULT 1.2f
242 #define dWORLDSTEP_RESERVESIZE_DEFAULT 65536U
243 
260 typedef struct
261 {
262  unsigned struct_size;
263  float reserve_factor; /* Use float as precision does not matter here*/
264  unsigned reserve_minimum;
265 
267 
293 ODE_API int dWorldSetStepMemoryReservationPolicy(dWorldID w, const dWorldStepReserveInfo *policyinfo/*=NULL*/);
294 
315 typedef struct
316 {
317  unsigned struct_size;
318  void *(*alloc_block)(size_t block_size);
319  void *(*shrink_block)(void *block_pointer, size_t block_current_size, size_t block_smaller_size);
320  void (*free_block)(void *block_pointer, size_t block_current_size);
321 
323 
348 ODE_API int dWorldSetStepMemoryManager(dWorldID w, const dWorldStepMemoryFunctionsInfo *memfuncs);
349 
364 ODE_API void dWorldSetStepThreadingImplementation(dWorldID w, const dThreadingFunctionsInfo *functions_info, dThreadingImplementationID threading_impl);
365 
384 ODE_API int dWorldStep (dWorldID w, dReal stepsize);
385 
427 ODE_API int dWorldQuickStep (dWorldID w, dReal stepsize);
428 
429 
444 ODE_API void dWorldImpulseToForce
445 (
446  dWorldID, dReal stepsize,
447  dReal ix, dReal iy, dReal iz, dVector3 force
448  );
449 
450 
460 ODE_API void dWorldSetQuickStepNumIterations (dWorldID, int num);
461 
462 
469 ODE_API int dWorldGetQuickStepNumIterations (dWorldID);
470 
476 ODE_API void dWorldSetQuickStepW (dWorldID, dReal over_relaxation);
477 
483 ODE_API dReal dWorldGetQuickStepW (dWorldID);
484 
485 /* World contact parameter functions */
486 
495 ODE_API void dWorldSetContactMaxCorrectingVel (dWorldID, dReal vel);
496 
502 ODE_API dReal dWorldGetContactMaxCorrectingVel (dWorldID);
503 
515 ODE_API void dWorldSetContactSurfaceLayer (dWorldID, dReal depth);
516 
522 ODE_API dReal dWorldGetContactSurfaceLayer (dWorldID);
523 
524 
562 ODE_API dReal dWorldGetAutoDisableLinearThreshold (dWorldID);
563 
569 ODE_API void dWorldSetAutoDisableLinearThreshold (dWorldID, dReal linear_threshold);
570 
576 ODE_API dReal dWorldGetAutoDisableAngularThreshold (dWorldID);
577 
583 ODE_API void dWorldSetAutoDisableAngularThreshold (dWorldID, dReal angular_threshold);
584 
590 ODE_API dReal dWorldGetAutoDisableLinearAverageThreshold (dWorldID);
591 
597 ODE_API void dWorldSetAutoDisableLinearAverageThreshold (dWorldID, dReal linear_average_threshold);
598 
604 ODE_API dReal dWorldGetAutoDisableAngularAverageThreshold (dWorldID);
605 
611 ODE_API void dWorldSetAutoDisableAngularAverageThreshold (dWorldID, dReal angular_average_threshold);
612 
618 ODE_API int dWorldGetAutoDisableAverageSamplesCount (dWorldID);
619 
626 ODE_API void dWorldSetAutoDisableAverageSamplesCount (dWorldID, unsigned int average_samples_count );
627 
633 ODE_API int dWorldGetAutoDisableSteps (dWorldID);
634 
640 ODE_API void dWorldSetAutoDisableSteps (dWorldID, int steps);
641 
647 ODE_API dReal dWorldGetAutoDisableTime (dWorldID);
648 
654 ODE_API void dWorldSetAutoDisableTime (dWorldID, dReal time);
655 
661 ODE_API int dWorldGetAutoDisableFlag (dWorldID);
662 
668 ODE_API void dWorldSetAutoDisableFlag (dWorldID, int do_auto_disable);
669 
670 
710 ODE_API dReal dWorldGetLinearDampingThreshold (dWorldID w);
711 
718 ODE_API void dWorldSetLinearDampingThreshold(dWorldID w, dReal threshold);
719 
724 ODE_API dReal dWorldGetAngularDampingThreshold (dWorldID w);
725 
732 ODE_API void dWorldSetAngularDampingThreshold(dWorldID w, dReal threshold);
733 
738 ODE_API dReal dWorldGetLinearDamping (dWorldID w);
739 
746 ODE_API void dWorldSetLinearDamping (dWorldID w, dReal scale);
747 
752 ODE_API dReal dWorldGetAngularDamping (dWorldID w);
753 
760 ODE_API void dWorldSetAngularDamping(dWorldID w, dReal scale);
761 
768 ODE_API void dWorldSetDamping(dWorldID w,
769  dReal linear_scale,
770  dReal angular_scale);
771 
777 ODE_API dReal dWorldGetMaxAngularSpeed (dWorldID w);
778 
779 
785 ODE_API void dWorldSetMaxAngularSpeed (dWorldID w, dReal max_speed);
786 
787 
788 
828 ODE_API dReal dBodyGetAutoDisableLinearThreshold (dBodyID);
829 
835 ODE_API void dBodySetAutoDisableLinearThreshold (dBodyID, dReal linear_average_threshold);
836 
842 ODE_API dReal dBodyGetAutoDisableAngularThreshold (dBodyID);
843 
849 ODE_API void dBodySetAutoDisableAngularThreshold (dBodyID, dReal angular_average_threshold);
850 
856 ODE_API int dBodyGetAutoDisableAverageSamplesCount (dBodyID);
857 
863 ODE_API void dBodySetAutoDisableAverageSamplesCount (dBodyID, unsigned int average_samples_count);
864 
865 
871 ODE_API int dBodyGetAutoDisableSteps (dBodyID);
872 
878 ODE_API void dBodySetAutoDisableSteps (dBodyID, int steps);
879 
885 ODE_API dReal dBodyGetAutoDisableTime (dBodyID);
886 
892 ODE_API void dBodySetAutoDisableTime (dBodyID, dReal time);
893 
899 ODE_API int dBodyGetAutoDisableFlag (dBodyID);
900 
906 ODE_API void dBodySetAutoDisableFlag (dBodyID, int do_auto_disable);
907 
914 ODE_API void dBodySetAutoDisableDefaults (dBodyID);
915 
916 
923 ODE_API dWorldID dBodyGetWorld (dBodyID);
924 
931 ODE_API dBodyID dBodyCreate (dWorldID);
932 
941 ODE_API void dBodyDestroy (dBodyID);
942 
948 ODE_API void dBodySetData (dBodyID, void *data);
949 
955 ODE_API void *dBodyGetData (dBodyID);
956 
965 ODE_API void dBodySetPosition (dBodyID, dReal x, dReal y, dReal z);
966 
975 ODE_API void dBodySetRotation (dBodyID, const dMatrix3 R);
976 
985 ODE_API void dBodySetQuaternion (dBodyID, const dQuaternion q);
986 
991 ODE_API void dBodySetLinearVel (dBodyID, dReal x, dReal y, dReal z);
992 
997 ODE_API void dBodySetAngularVel (dBodyID, dReal x, dReal y, dReal z);
998 
1008 ODE_API const dReal * dBodyGetPosition (dBodyID);
1009 
1010 
1018 ODE_API void dBodyCopyPosition (dBodyID body, dVector3 pos);
1019 
1020 
1026 ODE_API const dReal * dBodyGetRotation (dBodyID);
1027 
1028 
1036 ODE_API void dBodyCopyRotation (dBodyID, dMatrix3 R);
1037 
1038 
1044 ODE_API const dReal * dBodyGetQuaternion (dBodyID);
1045 
1046 
1054 ODE_API void dBodyCopyQuaternion(dBodyID body, dQuaternion quat);
1055 
1056 
1061 ODE_API const dReal * dBodyGetLinearVel (dBodyID);
1062 
1067 ODE_API const dReal * dBodyGetAngularVel (dBodyID);
1068 
1073 ODE_API void dBodySetMass (dBodyID, const dMass *mass);
1074 
1079 ODE_API void dBodyGetMass (dBodyID, dMass *mass);
1080 
1085 ODE_API void dBodyAddForce (dBodyID, dReal fx, dReal fy, dReal fz);
1086 
1091 ODE_API void dBodyAddTorque (dBodyID, dReal fx, dReal fy, dReal fz);
1092 
1097 ODE_API void dBodyAddRelForce (dBodyID, dReal fx, dReal fy, dReal fz);
1098 
1103 ODE_API void dBodyAddRelTorque (dBodyID, dReal fx, dReal fy, dReal fz);
1104 
1109 ODE_API void dBodyAddForceAtPos (dBodyID, dReal fx, dReal fy, dReal fz,
1110  dReal px, dReal py, dReal pz);
1115 ODE_API void dBodyAddForceAtRelPos (dBodyID, dReal fx, dReal fy, dReal fz,
1116  dReal px, dReal py, dReal pz);
1121 ODE_API void dBodyAddRelForceAtPos (dBodyID, dReal fx, dReal fy, dReal fz,
1122  dReal px, dReal py, dReal pz);
1127 ODE_API void dBodyAddRelForceAtRelPos (dBodyID, dReal fx, dReal fy, dReal fz,
1128  dReal px, dReal py, dReal pz);
1129 
1139 ODE_API const dReal * dBodyGetForce (dBodyID);
1140 
1150 ODE_API const dReal * dBodyGetTorque (dBodyID);
1151 
1160 ODE_API void dBodySetForce (dBodyID b, dReal x, dReal y, dReal z);
1161 
1170 ODE_API void dBodySetTorque (dBodyID b, dReal x, dReal y, dReal z);
1171 
1177 ODE_API void dBodyGetRelPointPos
1178 (
1179  dBodyID, dReal px, dReal py, dReal pz,
1180  dVector3 result
1181 );
1182 
1188 ODE_API void dBodyGetRelPointVel
1189 (
1190  dBodyID, dReal px, dReal py, dReal pz,
1191  dVector3 result
1192 );
1193 
1200 ODE_API void dBodyGetPointVel
1201 (
1202  dBodyID, dReal px, dReal py, dReal pz,
1203  dVector3 result
1204 );
1205 
1214 ODE_API void dBodyGetPosRelPoint
1215 (
1216  dBodyID, dReal px, dReal py, dReal pz,
1217  dVector3 result
1218 );
1219 
1225 ODE_API void dBodyVectorToWorld
1226 (
1227  dBodyID, dReal px, dReal py, dReal pz,
1228  dVector3 result
1229 );
1230 
1236 ODE_API void dBodyVectorFromWorld
1237 (
1238  dBodyID, dReal px, dReal py, dReal pz,
1239  dVector3 result
1240 );
1241 
1259 ODE_API void dBodySetFiniteRotationMode (dBodyID, int mode);
1260 
1277 ODE_API void dBodySetFiniteRotationAxis (dBodyID, dReal x, dReal y, dReal z);
1278 
1284 ODE_API int dBodyGetFiniteRotationMode (dBodyID);
1285 
1291 ODE_API void dBodyGetFiniteRotationAxis (dBodyID, dVector3 result);
1292 
1298 ODE_API int dBodyGetNumJoints (dBodyID b);
1299 
1306 ODE_API dJointID dBodyGetJoint (dBodyID, int index);
1307 
1308 
1309 
1310 
1316 ODE_API void dBodySetDynamic (dBodyID);
1317 
1330 ODE_API void dBodySetKinematic (dBodyID);
1331 
1337 ODE_API int dBodyIsKinematic (dBodyID);
1338 
1344 ODE_API void dBodyEnable (dBodyID);
1345 
1353 ODE_API void dBodyDisable (dBodyID);
1354 
1360 ODE_API int dBodyIsEnabled (dBodyID);
1361 
1369 ODE_API void dBodySetGravityMode (dBodyID b, int mode);
1370 
1376 ODE_API int dBodyGetGravityMode (dBodyID b);
1377 
1391 ODE_API void dBodySetMovedCallback(dBodyID b, void (*callback)(dBodyID));
1392 
1393 
1403 ODE_API dGeomID dBodyGetFirstGeom (dBodyID b);
1404 
1405 
1413 ODE_API dGeomID dBodyGetNextGeom (dGeomID g);
1414 
1415 
1420 ODE_API void dBodySetDampingDefaults(dBodyID b);
1421 
1426 ODE_API dReal dBodyGetLinearDamping (dBodyID b);
1427 
1436 ODE_API void dBodySetLinearDamping(dBodyID b, dReal scale);
1437 
1444 ODE_API dReal dBodyGetAngularDamping (dBodyID b);
1445 
1454 ODE_API void dBodySetAngularDamping(dBodyID b, dReal scale);
1455 
1463 ODE_API void dBodySetDamping(dBodyID b, dReal linear_scale, dReal angular_scale);
1464 
1469 ODE_API dReal dBodyGetLinearDampingThreshold (dBodyID b);
1470 
1477 ODE_API void dBodySetLinearDampingThreshold(dBodyID b, dReal threshold);
1478 
1483 ODE_API dReal dBodyGetAngularDampingThreshold (dBodyID b);
1484 
1491 ODE_API void dBodySetAngularDampingThreshold(dBodyID b, dReal threshold);
1492 
1498 ODE_API dReal dBodyGetMaxAngularSpeed (dBodyID b);
1499 
1508 ODE_API void dBodySetMaxAngularSpeed(dBodyID b, dReal max_speed);
1509 
1510 
1511 
1519 ODE_API int dBodyGetGyroscopicMode(dBodyID b);
1520 
1521 
1533 ODE_API void dBodySetGyroscopicMode(dBodyID b, int enabled);
1534 
1535 
1536 
1537 
1613 ODE_API dJointID dJointCreateBall (dWorldID, dJointGroupID);
1614 
1621 ODE_API dJointID dJointCreateHinge (dWorldID, dJointGroupID);
1622 
1629 ODE_API dJointID dJointCreateSlider (dWorldID, dJointGroupID);
1630 
1637 ODE_API dJointID dJointCreateContact (dWorldID, dJointGroupID, const dContact *);
1638 
1645 ODE_API dJointID dJointCreateHinge2 (dWorldID, dJointGroupID);
1646 
1653 ODE_API dJointID dJointCreateUniversal (dWorldID, dJointGroupID);
1654 
1661 ODE_API dJointID dJointCreatePR (dWorldID, dJointGroupID);
1662 
1669  ODE_API dJointID dJointCreatePU (dWorldID, dJointGroupID);
1670 
1678  ODE_API dJointID dJointCreatePiston (dWorldID, dJointGroupID);
1679 
1686 ODE_API dJointID dJointCreateFixed (dWorldID, dJointGroupID);
1687 
1688 ODE_API dJointID dJointCreateNull (dWorldID, dJointGroupID);
1689 
1696 ODE_API dJointID dJointCreateAMotor (dWorldID, dJointGroupID);
1697 
1704 ODE_API dJointID dJointCreateLMotor (dWorldID, dJointGroupID);
1705 
1712 ODE_API dJointID dJointCreatePlane2D (dWorldID, dJointGroupID);
1713 
1720 ODE_API dJointID dJointCreateDBall (dWorldID, dJointGroupID);
1721 
1728 ODE_API dJointID dJointCreateDHinge (dWorldID, dJointGroupID);
1729 
1736 ODE_API dJointID dJointCreateTransmission (dWorldID, dJointGroupID);
1737 
1738 
1747 ODE_API void dJointDestroy (dJointID);
1748 
1749 
1755 ODE_API dJointGroupID dJointGroupCreate (int max_size);
1756 
1763 ODE_API void dJointGroupDestroy (dJointGroupID);
1764 
1772 ODE_API void dJointGroupEmpty (dJointGroupID);
1773 
1778 ODE_API int dJointGetNumBodies(dJointID);
1779 
1793 ODE_API void dJointAttach (dJointID, dBodyID body1, dBodyID body2);
1794 
1800 ODE_API void dJointEnable (dJointID);
1801 
1809 ODE_API void dJointDisable (dJointID);
1810 
1816 ODE_API int dJointIsEnabled (dJointID);
1817 
1822 ODE_API void dJointSetData (dJointID, void *data);
1823 
1828 ODE_API void *dJointGetData (dJointID);
1829 
1849 ODE_API dJointType dJointGetType (dJointID);
1850 
1861 ODE_API dBodyID dJointGetBody (dJointID, int index);
1862 
1870 ODE_API void dJointSetFeedback (dJointID, dJointFeedback *);
1871 
1876 ODE_API dJointFeedback *dJointGetFeedback (dJointID);
1877 
1885 ODE_API void dJointSetBallAnchor (dJointID, dReal x, dReal y, dReal z);
1886 
1891 ODE_API void dJointSetBallAnchor2 (dJointID, dReal x, dReal y, dReal z);
1892 
1897 ODE_API void dJointSetBallParam (dJointID, int parameter, dReal value);
1898 
1903 ODE_API void dJointSetHingeAnchor (dJointID, dReal x, dReal y, dReal z);
1904 
1905 ODE_API void dJointSetHingeAnchorDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
1906 
1911 ODE_API void dJointSetHingeAxis (dJointID, dReal x, dReal y, dReal z);
1912 
1941 ODE_API void dJointSetHingeAxisOffset (dJointID j, dReal x, dReal y, dReal z, dReal angle);
1942 
1947 ODE_API void dJointSetHingeParam (dJointID, int parameter, dReal value);
1948 
1957 ODE_API void dJointAddHingeTorque(dJointID joint, dReal torque);
1958 
1963 ODE_API void dJointSetSliderAxis (dJointID, dReal x, dReal y, dReal z);
1964 
1968 ODE_API void dJointSetSliderAxisDelta (dJointID, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
1969 
1974 ODE_API void dJointSetSliderParam (dJointID, int parameter, dReal value);
1975 
1984 ODE_API void dJointAddSliderForce(dJointID joint, dReal force);
1985 
1990 ODE_API void dJointSetHinge2Anchor (dJointID, dReal x, dReal y, dReal z);
1991 
1996 ODE_API void dJointSetHinge2Axis1 (dJointID, dReal x, dReal y, dReal z);
1997 
2002 ODE_API void dJointSetHinge2Axis2 (dJointID, dReal x, dReal y, dReal z);
2003 
2008 ODE_API void dJointSetHinge2Param (dJointID, int parameter, dReal value);
2009 
2016 ODE_API void dJointAddHinge2Torques(dJointID joint, dReal torque1, dReal torque2);
2017 
2022 ODE_API void dJointSetUniversalAnchor (dJointID, dReal x, dReal y, dReal z);
2023 
2028 ODE_API void dJointSetUniversalAxis1 (dJointID, dReal x, dReal y, dReal z);
2029 
2066 ODE_API void dJointSetUniversalAxis1Offset (dJointID, dReal x, dReal y, dReal z,
2067  dReal offset1, dReal offset2);
2068 
2073 ODE_API void dJointSetUniversalAxis2 (dJointID, dReal x, dReal y, dReal z);
2074 
2113 ODE_API void dJointSetUniversalAxis2Offset (dJointID, dReal x, dReal y, dReal z,
2114  dReal offset1, dReal offset2);
2115 
2120 ODE_API void dJointSetUniversalParam (dJointID, int parameter, dReal value);
2121 
2128 ODE_API void dJointAddUniversalTorques(dJointID joint, dReal torque1, dReal torque2);
2129 
2130 
2135 ODE_API void dJointSetPRAnchor (dJointID, dReal x, dReal y, dReal z);
2136 
2141 ODE_API void dJointSetPRAxis1 (dJointID, dReal x, dReal y, dReal z);
2142 
2147 ODE_API void dJointSetPRAxis2 (dJointID, dReal x, dReal y, dReal z);
2148 
2155 ODE_API void dJointSetPRParam (dJointID, int parameter, dReal value);
2156 
2165 ODE_API void dJointAddPRTorque (dJointID j, dReal torque);
2166 
2167 
2172  ODE_API void dJointSetPUAnchor (dJointID, dReal x, dReal y, dReal z);
2173 
2178  ODE_API_DEPRECATED ODE_API void dJointSetPUAnchorDelta (dJointID, dReal x, dReal y, dReal z,
2179  dReal dx, dReal dy, dReal dz);
2180 
2210  ODE_API void dJointSetPUAnchorOffset (dJointID, dReal x, dReal y, dReal z,
2211  dReal dx, dReal dy, dReal dz);
2212 
2217  ODE_API void dJointSetPUAxis1 (dJointID, dReal x, dReal y, dReal z);
2218 
2223  ODE_API void dJointSetPUAxis2 (dJointID, dReal x, dReal y, dReal z);
2224 
2229  ODE_API void dJointSetPUAxis3 (dJointID, dReal x, dReal y, dReal z);
2230 
2237  ODE_API void dJointSetPUAxisP (dJointID id, dReal x, dReal y, dReal z);
2238 
2239 
2240 
2250  ODE_API void dJointSetPUParam (dJointID, int parameter, dReal value);
2251 
2260  ODE_API void dJointAddPUTorque (dJointID j, dReal torque);
2261 
2262 
2263 
2264 
2269  ODE_API void dJointSetPistonAnchor (dJointID, dReal x, dReal y, dReal z);
2270 
2300  ODE_API void dJointSetPistonAnchorOffset(dJointID j, dReal x, dReal y, dReal z,
2301  dReal dx, dReal dy, dReal dz);
2302 
2307  ODE_API void dJointSetPistonAxis (dJointID, dReal x, dReal y, dReal z);
2308 
2322  ODE_API_DEPRECATED ODE_API void dJointSetPistonAxisDelta (dJointID j, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az);
2323 
2328  ODE_API void dJointSetPistonParam (dJointID, int parameter, dReal value);
2329 
2338  ODE_API void dJointAddPistonForce (dJointID joint, dReal force);
2339 
2340 
2347 ODE_API void dJointSetFixed (dJointID);
2348 
2349 /*
2350  * @brief Sets joint parameter
2351  *
2352  * @ingroup joints
2353  */
2354 ODE_API void dJointSetFixedParam (dJointID, int parameter, dReal value);
2355 
2361 ODE_API void dJointSetAMotorNumAxes (dJointID, int num);
2362 
2367 ODE_API void dJointSetAMotorAxis (dJointID, int anum, int rel,
2368  dReal x, dReal y, dReal z);
2369 
2379 ODE_API void dJointSetAMotorAngle (dJointID, int anum, dReal angle);
2380 
2385 ODE_API void dJointSetAMotorParam (dJointID, int parameter, dReal value);
2386 
2391 ODE_API void dJointSetAMotorMode (dJointID, int mode);
2392 
2401 ODE_API void dJointAddAMotorTorques (dJointID, dReal torque1, dReal torque2, dReal torque3);
2402 
2408 ODE_API void dJointSetLMotorNumAxes (dJointID, int num);
2409 
2421 ODE_API void dJointSetLMotorAxis (dJointID, int anum, int rel, dReal x, dReal y, dReal z);
2422 
2427 ODE_API void dJointSetLMotorParam (dJointID, int parameter, dReal value);
2428 
2432 ODE_API void dJointSetPlane2DXParam (dJointID, int parameter, dReal value);
2433 
2438 ODE_API void dJointSetPlane2DYParam (dJointID, int parameter, dReal value);
2439 
2443 ODE_API void dJointSetPlane2DAngleParam (dJointID, int parameter, dReal value);
2444 
2451 ODE_API void dJointGetBallAnchor (dJointID, dVector3 result);
2452 
2463 ODE_API void dJointGetBallAnchor2 (dJointID, dVector3 result);
2464 
2469 ODE_API dReal dJointGetBallParam (dJointID, int parameter);
2470 
2478 ODE_API void dJointGetHingeAnchor (dJointID, dVector3 result);
2479 
2488 ODE_API void dJointGetHingeAnchor2 (dJointID, dVector3 result);
2489 
2494 ODE_API void dJointGetHingeAxis (dJointID, dVector3 result);
2495 
2500 ODE_API dReal dJointGetHingeParam (dJointID, int parameter);
2501 
2514 ODE_API dReal dJointGetHingeAngle (dJointID);
2515 
2520 ODE_API dReal dJointGetHingeAngleRate (dJointID);
2521 
2533 ODE_API dReal dJointGetSliderPosition (dJointID);
2534 
2539 ODE_API dReal dJointGetSliderPositionRate (dJointID);
2540 
2545 ODE_API void dJointGetSliderAxis (dJointID, dVector3 result);
2546 
2551 ODE_API dReal dJointGetSliderParam (dJointID, int parameter);
2552 
2559 ODE_API void dJointGetHinge2Anchor (dJointID, dVector3 result);
2560 
2569 ODE_API void dJointGetHinge2Anchor2 (dJointID, dVector3 result);
2570 
2575 ODE_API void dJointGetHinge2Axis1 (dJointID, dVector3 result);
2576 
2581 ODE_API void dJointGetHinge2Axis2 (dJointID, dVector3 result);
2582 
2587 ODE_API dReal dJointGetHinge2Param (dJointID, int parameter);
2588 
2593 ODE_API dReal dJointGetHinge2Angle1 (dJointID);
2594 
2599 ODE_API dReal dJointGetHinge2Angle2 (dJointID);
2600 
2605 ODE_API dReal dJointGetHinge2Angle1Rate (dJointID);
2606 
2611 ODE_API dReal dJointGetHinge2Angle2Rate (dJointID);
2612 
2619 ODE_API void dJointGetUniversalAnchor (dJointID, dVector3 result);
2620 
2634 ODE_API void dJointGetUniversalAnchor2 (dJointID, dVector3 result);
2635 
2640 ODE_API void dJointGetUniversalAxis1 (dJointID, dVector3 result);
2641 
2646 ODE_API void dJointGetUniversalAxis2 (dJointID, dVector3 result);
2647 
2648 
2653 ODE_API dReal dJointGetUniversalParam (dJointID, int parameter);
2654 
2666 ODE_API void dJointGetUniversalAngles (dJointID, dReal *angle1, dReal *angle2);
2667 
2672 ODE_API dReal dJointGetUniversalAngle1 (dJointID);
2673 
2678 ODE_API dReal dJointGetUniversalAngle2 (dJointID);
2679 
2684 ODE_API dReal dJointGetUniversalAngle1Rate (dJointID);
2685 
2690 ODE_API dReal dJointGetUniversalAngle2Rate (dJointID);
2691 
2692 
2693 
2700 ODE_API void dJointGetPRAnchor (dJointID, dVector3 result);
2701 
2713 ODE_API dReal dJointGetPRPosition (dJointID);
2714 
2720 ODE_API dReal dJointGetPRPositionRate (dJointID);
2721 
2722 
2730 ODE_API dReal dJointGetPRAngle (dJointID);
2731 
2737 ODE_API dReal dJointGetPRAngleRate (dJointID);
2738 
2739 
2744 ODE_API void dJointGetPRAxis1 (dJointID, dVector3 result);
2745 
2750 ODE_API void dJointGetPRAxis2 (dJointID, dVector3 result);
2751 
2756 ODE_API dReal dJointGetPRParam (dJointID, int parameter);
2757 
2758 
2759 
2766  ODE_API void dJointGetPUAnchor (dJointID, dVector3 result);
2767 
2779  ODE_API dReal dJointGetPUPosition (dJointID);
2780 
2786  ODE_API dReal dJointGetPUPositionRate (dJointID);
2787 
2792  ODE_API void dJointGetPUAxis1 (dJointID, dVector3 result);
2793 
2798  ODE_API void dJointGetPUAxis2 (dJointID, dVector3 result);
2799 
2804  ODE_API void dJointGetPUAxis3 (dJointID, dVector3 result);
2805 
2813  ODE_API void dJointGetPUAxisP (dJointID id, dVector3 result);
2814 
2815 
2816 
2817 
2829  ODE_API void dJointGetPUAngles (dJointID, dReal *angle1, dReal *angle2);
2830 
2835  ODE_API dReal dJointGetPUAngle1 (dJointID);
2836 
2842  ODE_API dReal dJointGetPUAngle1Rate (dJointID);
2843 
2844 
2849  ODE_API dReal dJointGetPUAngle2 (dJointID);
2850 
2856  ODE_API dReal dJointGetPUAngle2Rate (dJointID);
2857 
2862  ODE_API dReal dJointGetPUParam (dJointID, int parameter);
2863 
2864 
2865 
2866 
2867 
2875  ODE_API dReal dJointGetPistonPosition (dJointID);
2876 
2881  ODE_API dReal dJointGetPistonPositionRate (dJointID);
2882 
2890  ODE_API dReal dJointGetPistonAngle (dJointID);
2891 
2896  ODE_API dReal dJointGetPistonAngleRate (dJointID);
2897 
2898 
2908  ODE_API void dJointGetPistonAnchor (dJointID, dVector3 result);
2909 
2923  ODE_API void dJointGetPistonAnchor2 (dJointID, dVector3 result);
2924 
2929  ODE_API void dJointGetPistonAxis (dJointID, dVector3 result);
2930 
2935  ODE_API dReal dJointGetPistonParam (dJointID, int parameter);
2936 
2937 
2946 ODE_API int dJointGetAMotorNumAxes (dJointID);
2947 
2957 ODE_API void dJointGetAMotorAxis (dJointID, int anum, dVector3 result);
2958 
2975 ODE_API int dJointGetAMotorAxisRel (dJointID, int anum);
2976 
2985 ODE_API dReal dJointGetAMotorAngle (dJointID, int anum);
2986 
2995 ODE_API dReal dJointGetAMotorAngleRate (dJointID, int anum);
2996 
3001 ODE_API dReal dJointGetAMotorParam (dJointID, int parameter);
3002 
3016 ODE_API int dJointGetAMotorMode (dJointID);
3017 
3022 ODE_API int dJointGetLMotorNumAxes (dJointID);
3023 
3028 ODE_API void dJointGetLMotorAxis (dJointID, int anum, dVector3 result);
3029 
3034 ODE_API dReal dJointGetLMotorParam (dJointID, int parameter);
3035 
3040 ODE_API dReal dJointGetFixedParam (dJointID, int parameter);
3041 
3042 
3047 ODE_API void dJointGetTransmissionContactPoint1(dJointID, dVector3 result);
3048 
3053 ODE_API void dJointGetTransmissionContactPoint2(dJointID, dVector3 result);
3054 
3064 ODE_API void dJointSetTransmissionAxis1(dJointID, dReal x, dReal y, dReal z);
3065 
3074 ODE_API void dJointGetTransmissionAxis1(dJointID, dVector3 result);
3075 
3086 ODE_API void dJointSetTransmissionAxis2(dJointID, dReal x, dReal y, dReal z);
3087 
3096 ODE_API void dJointGetTransmissionAxis2(dJointID, dVector3 result);
3097 
3104 ODE_API void dJointSetTransmissionAnchor1(dJointID, dReal x, dReal y, dReal z);
3105 
3110 ODE_API void dJointGetTransmissionAnchor1(dJointID, dVector3 result);
3111 
3118 ODE_API void dJointSetTransmissionAnchor2(dJointID, dReal x, dReal y, dReal z);
3119 
3124 ODE_API void dJointGetTransmissionAnchor2(dJointID, dVector3 result);
3125 
3130 ODE_API void dJointSetTransmissionParam(dJointID, int parameter, dReal value);
3131 
3136 ODE_API dReal dJointGetTransmissionParam(dJointID, int parameter);
3137 
3146 ODE_API void dJointSetTransmissionMode( dJointID j, int mode );
3147 
3152 ODE_API int dJointGetTransmissionMode( dJointID j );
3153 
3163 ODE_API void dJointSetTransmissionRatio( dJointID j, dReal ratio );
3164 
3169 ODE_API dReal dJointGetTransmissionRatio( dJointID j );
3170 
3181 ODE_API void dJointSetTransmissionAxis( dJointID j, dReal x, dReal y, dReal z );
3182 
3187 ODE_API void dJointGetTransmissionAxis( dJointID j, dVector3 result );
3188 
3194 ODE_API dReal dJointGetTransmissionAngle1( dJointID j );
3195 
3201 ODE_API dReal dJointGetTransmissionAngle2( dJointID j );
3202 
3207 ODE_API dReal dJointGetTransmissionRadius1( dJointID j );
3208 
3213 ODE_API dReal dJointGetTransmissionRadius2( dJointID j );
3214 
3222 ODE_API void dJointSetTransmissionRadius1( dJointID j, dReal radius );
3223 
3231 ODE_API void dJointSetTransmissionRadius2( dJointID j, dReal radius );
3232 
3237 ODE_API dReal dJointGetTransmissionBacklash( dJointID j );
3238 
3257 ODE_API void dJointSetTransmissionBacklash( dJointID j, dReal backlash );
3258 
3263 ODE_API void dJointSetDBallAnchor1(dJointID, dReal x, dReal y, dReal z);
3264 
3269 ODE_API void dJointSetDBallAnchor2(dJointID, dReal x, dReal y, dReal z);
3270 
3275 ODE_API void dJointGetDBallAnchor1(dJointID, dVector3 result);
3276 
3281 ODE_API void dJointGetDBallAnchor2(dJointID, dVector3 result);
3282 
3287 ODE_API dReal dJointGetDBallDistance(dJointID);
3288 
3293 ODE_API void dJointSetDBallParam(dJointID, int parameter, dReal value);
3294 
3299 ODE_API dReal dJointGetDBallParam(dJointID, int parameter);
3300 
3305 ODE_API void dJointSetDHingeAxis(dJointID, dReal x, dReal y, dReal z);
3306 
3311 ODE_API void dJointGetDHingeAxis(dJointID, dVector3 result);
3312 
3317 ODE_API void dJointSetDHingeAnchor1(dJointID, dReal x, dReal y, dReal z);
3318 
3323 ODE_API void dJointSetDHingeAnchor2(dJointID, dReal x, dReal y, dReal z);
3324 
3329 ODE_API void dJointGetDHingeAnchor1(dJointID, dVector3 result);
3330 
3335 ODE_API void dJointGetDHingeAnchor2(dJointID, dVector3 result);
3336 
3341 ODE_API dReal dJointGetDHingeDistance(dJointID);
3342 
3347 ODE_API void dJointSetDHingeParam(dJointID, int parameter, dReal value);
3348 
3353 ODE_API dReal dJointGetDHingeParam(dJointID, int parameter);
3354 
3355 
3356 
3357 
3361 ODE_API dJointID dConnectingJoint (dBodyID, dBodyID);
3362 
3366 ODE_API int dConnectingJointList (dBodyID, dBodyID, dJointID*);
3367 
3374 ODE_API int dAreConnected (dBodyID, dBodyID);
3375 
3389 ODE_API int dAreConnectedExcluding (dBodyID body1, dBodyID body2, int joint_type);
3390 
3391 
3392 #ifdef __cplusplus
3393 }
3394 #endif
3395 
3396 #endif
dReal dJointGetHinge2Angle1(dJointID)
Get angle.
void dJointGetLMotorAxis(dJointID, int anum, dVector3 result)
Get axis.
void dWorldSetStepThreadingImplementation(dWorldID w, const dThreadingFunctionsInfo *functions_info, dThreadingImplementationID threading_impl)
Assign threading implementation to be used for [quick]stepping the world.
void dJointGetTransmissionAnchor1(dJointID, dVector3 result)
get the first anchor of the Transmission joint
dReal dJointGetDHingeDistance(dJointID)
get the set distance from double hinge joint
void dJointGetAMotorAxis(dJointID, int anum, dVector3 result)
Get the AMotor axes.
int dWorldStep(dWorldID w, dReal stepsize)
Step the world.
void dJointSetTransmissionRadius2(dJointID j, dReal radius)
set the radius of the second wheel of the Transmission joint
dJointGroupID dJointGroupCreate(int max_size)
Create a joint group.
void dJointSetTransmissionRatio(dJointID j, dReal ratio)
set the Transmission ratio
const dReal * dBodyGetLinearVel(dBodyID)
Get the linear velocity of a body.
dReal dWorldGetAutoDisableTime(dWorldID)
Get auto disable time for newly created bodies.
void dJointGroupEmpty(dJointGroupID)
Empty a joint group.All joints in the joint group will be destroyed, but the joint group itself will ...
void dJointSetFeedback(dJointID, dJointFeedback *)
Sets the datastructure that is to receive the feedback.
dReal dJointGetAMotorAngle(dJointID, int anum)
Get the current angle for axis.
void dJointSetData(dJointID, void *data)
Set the user-data pointer.
dReal dJointGetTransmissionRadius1(dJointID j)
get the radius of the first wheel of the Transmission joint
dJointID dJointCreateContact(dWorldID, dJointGroupID, const dContact *)
Create a new joint of the contact type.
dReal dBodyGetAngularDamping(dBodyID b)
Get the body&#39;s angular damping scale.
void dJointSetPistonAnchorOffset(dJointID j, dReal x, dReal y, dReal z, dReal dx, dReal dy, dReal dz)
Set the Piston anchor as if the 2 bodies were already at [dx,dy, dz] appart.This function initialize ...
void dJointAttach(dJointID, dBodyID body1, dBodyID body2)
Attach the joint to some new bodies.If the joint is already attached, it will be detached from the ol...
dReal dBodyGetAngularDampingThreshold(dBodyID b)
Get the body&#39;s angular damping threshold.
void dJointSetUniversalParam(dJointID, int parameter, dReal value)
set joint parameter
int dWorldGetQuickStepNumIterations(dWorldID)
Get the number of iterations that the QuickStep method performs per step.
Definition: contact.h:99
void dBodySetData(dBodyID, void *data)
Set the body&#39;s user-data pointer.
dReal dJointGetTransmissionRatio(dJointID j)
get the Transmission joint ratio
const dReal * dBodyGetQuaternion(dBodyID)
Get the rotation of a body.
dReal dJointGetSliderPosition(dJointID)
Get the slider linear position (i.e. the slider&#39;s extension)
dReal dJointGetPUPositionRate(dJointID)
Get the PR linear position&#39;s time derivative.
dReal dBodyGetAutoDisableAngularThreshold(dBodyID)
Get auto disable angular average threshold.
void dBodySetAutoDisableFlag(dBodyID, int do_auto_disable)
Set auto disable flag.
void dBodySetLinearDampingThreshold(dBodyID b, dReal threshold)
Set the body&#39;s linear damping threshold.
dReal dBodyGetAutoDisableLinearThreshold(dBodyID)
Get auto disable linear average threshold.
void dJointSetTransmissionAxis2(dJointID, dReal x, dReal y, dReal z)
set second axis for the Transmission joint
int dJointGetAMotorNumAxes(dJointID)
Get the number of angular axes that will be controlled by the AMotor.
dReal dJointGetPRPositionRate(dJointID)
Get the PR linear position&#39;s time derivative.
void dWorldSetLinearDamping(dWorldID w, dReal scale)
Set the world&#39;s linear damping scale.
void dBodyCopyRotation(dBodyID, dMatrix3 R)
Copy the rotation of a body.
void dBodyDestroy(dBodyID)
Destroy a body.
Memory reservation policy descriptor structure for world stepping functions.
Definition: objects.h:260
void dJointGetUniversalAngles(dJointID, dReal *angle1, dReal *angle2)
Get both angles at the same time.
dReal dJointGetDBallDistance(dJointID)
get the set distance from double ball joint
void dJointDestroy(dJointID)
Destroy a joint.disconnects it from its attached bodies and removing it from the world. However, if the joint is a member of a group then this function has no effect - to destroy that joint the group must be emptied or destroyed.
void dWorldSetData(dWorldID world, void *data)
Set the user-data pointer.
void dJointSetPUAxisP(dJointID id, dReal x, dReal y, dReal z)
set the axis for the prismatic articulation
dWorldID dBodyGetWorld(dBodyID)
Retrieves the world attached to te given body.
int dBodyGetGravityMode(dBodyID b)
Get whether the body is influenced by the world&#39;s gravity or not.
dReal dJointGetTransmissionAngle1(dJointID j)
get the phase, that is the traversed angle for the first wheel of the Transmission joint ...
void dBodyAddForceAtRelPos(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)
Add force at specified point in body in local coordinates.
void dJointGetPistonAnchor2(dJointID, dVector3 result)
Get the joint anchor w.r.t. body 2.
void dJointSetPistonParam(dJointID, int parameter, dReal value)
set joint parameter
dReal dWorldGetCFM(dWorldID)
Get the constraint force mixing value.
int dBodyGetFiniteRotationMode(dBodyID)
Get the way a body&#39;s orientation is updated each timestep.
void dJointGetPistonAxis(dJointID, dVector3 result)
Get the prismatic axis (This is also the rotoide axis.
const dReal * dBodyGetAngularVel(dBodyID)
Get the angular velocity of a body.
void dBodyAddRelTorque(dBodyID, dReal fx, dReal fy, dReal fz)
Add torque at centre of mass of body in coordinates relative to body.
int dJointGetAMotorAxisRel(dJointID, int anum)
Get axis.
void dWorldSetMaxAngularSpeed(dWorldID w, dReal max_speed)
Set the default maximum angular speed for new bodies.
dReal dJointGetFixedParam(dJointID, int parameter)
get joint parameter
void dWorldGetGravity(dWorldID, dVector3 gravity)
Get the gravity vector for a given world.
dReal dJointGetPRPosition(dJointID)
Get the PR linear position (i.e. the prismatic&#39;s extension)
dReal dJointGetPistonPositionRate(dJointID)
Get the piston linear position&#39;s time derivative.
void dJointSetTransmissionAnchor1(dJointID, dReal x, dReal y, dReal z)
set the first anchor for the Transmission joint
void dBodyAddForce(dBodyID, dReal fx, dReal fy, dReal fz)
Add force at centre of mass of body in absolute coordinates.
dReal dJointGetTransmissionRadius2(dJointID j)
get the radius of the second wheel of the Transmission joint
void dJointSetDHingeAnchor1(dJointID, dReal x, dReal y, dReal z)
set anchor1 for double hinge joint
int dBodyGetGyroscopicMode(dBodyID b)
Get the body&#39;s gyroscopic state.
void dWorldSetAutoDisableTime(dWorldID, dReal time)
Set auto disable time for newly created bodies.
World stepping memory manager descriptor structure.
Definition: objects.h:315
void dJointGetUniversalAxis1(dJointID, dVector3 result)
Get axis.
void dBodySetAngularDampingThreshold(dBodyID b, dReal threshold)
Set the body&#39;s angular damping threshold.
int dAreConnected(dBodyID, dBodyID)
Utility function.
dReal dJointGetTransmissionParam(dJointID, int parameter)
get a Transmission joint parameter
void dJointSetDBallAnchor1(dJointID, dReal x, dReal y, dReal z)
set anchor1 for double ball joint
dReal dJointGetHinge2Angle1Rate(dJointID)
Get time derivative of angle.
void dJointGetPUAxis2(dJointID, dVector3 result)
Get the second axis of the Universal component of the joint.
dReal dJointGetSliderParam(dJointID, int parameter)
get joint parameter
void dJointSetPUAxis3(dJointID, dReal x, dReal y, dReal z)
set the axis for the prismatic articulation
void dBodySetDamping(dBodyID b, dReal linear_scale, dReal angular_scale)
Convenience function to set linear and angular scales at once.
dReal dJointGetLMotorParam(dJointID, int parameter)
get joint parameter
dGeomID dBodyGetNextGeom(dGeomID g)
returns the next geom associated with the same body.
dReal dJointGetUniversalAngle2Rate(dJointID)
Get time derivative of angle.
void dJointSetPRAxis2(dJointID, dReal x, dReal y, dReal z)
set the axis for the rotoide articulation
int dWorldGetAutoDisableAverageSamplesCount(dWorldID)
Get auto disable sample count for newly created bodies.
Definition: mass.h:88
void dJointSetBallParam(dJointID, int parameter, dReal value)
Param setting for Ball joints.
void dJointSetUniversalAxis1Offset(dJointID, dReal x, dReal y, dReal z, dReal offset1, dReal offset2)
Set the Universal axis1 as if the 2 bodies were already at offset1 and offset2 appart with respect to...
void dBodySetAutoDisableAverageSamplesCount(dBodyID, unsigned int average_samples_count)
Set auto disable average buffer size (average steps).
void dJointGetPUAxis1(dJointID, dVector3 result)
Get the first axis of the universal component of the joint.
void dJointDisable(dJointID)
Manually disable a joint.
void dWorldSetAngularDamping(dWorldID w, dReal scale)
Set the world&#39;s angular damping scale.
void dJointSetDBallParam(dJointID, int parameter, dReal value)
set double ball joint parameter
void dJointSetPistonAnchor(dJointID, dReal x, dReal y, dReal z)
set the joint anchor
void dJointSetPUParam(dJointID, int parameter, dReal value)
set joint parameter
dReal dJointGetPistonPosition(dJointID)
Get the Piston linear position (i.e. the piston&#39;s extension)
void dJointGetDBallAnchor2(dJointID, dVector3 result)
get anchor2 from double ball joint
void dWorldSetCFM(dWorldID, dReal cfm)
Set the global CFM (constraint force mixing) value.
dReal dWorldGetLinearDamping(dWorldID w)
Get the world&#39;s linear damping scale.
void dWorldSetContactSurfaceLayer(dWorldID, dReal depth)
Set the depth of the surface layer around all geometry objects.
void dJointGetUniversalAnchor(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
void dJointAddHinge2Torques(dJointID joint, dReal torque1, dReal torque2)
Applies torque1 about the hinge2&#39;s axis 1, torque2 about the hinge2&#39;s axis 2.
dReal dJointGetPUAngle1(dJointID)
Get angle.
void dJointSetPistonAxis(dJointID, dReal x, dReal y, dReal z)
set the joint axis
dReal dJointGetPistonAngle(dJointID)
Get the Piston angular position (i.e. the twist between the 2 bodies)
void dBodySetFiniteRotationMode(dBodyID, int mode)
controls the way a body&#39;s orientation is updated at each timestep.
void dJointSetSliderParam(dJointID, int parameter, dReal value)
set joint parameter
void dBodySetLinearVel(dBodyID, dReal x, dReal y, dReal z)
Set the linear velocity of a body.
void dBodySetGyroscopicMode(dBodyID b, int enabled)
Enable/disable the body&#39;s gyroscopic term.
int dBodyGetAutoDisableFlag(dBodyID)
Get auto disable flag.
const dReal * dBodyGetRotation(dBodyID)
Get the rotation of a body.
void dJointSetUniversalAxis2(dJointID, dReal x, dReal y, dReal z)
set axis
void dBodySetMovedCallback(dBodyID b, void(*callback)(dBodyID))
Set the &#39;moved&#39; callback of a body.
int dJointIsEnabled(dJointID)
Check wether a joint is enabled.
void dJointGetTransmissionContactPoint2(dJointID, dVector3 result)
get contact point of the second wheel of the Transmission joint.
void dJointSetDHingeAxis(dJointID, dReal x, dReal y, dReal z)
set axis for double hinge joint
void dBodySetPosition(dBodyID, dReal x, dReal y, dReal z)
Set position of a body.
void dJointSetHinge2Axis2(dJointID, dReal x, dReal y, dReal z)
set axis
void dJointGetUniversalAxis2(dJointID, dVector3 result)
Get axis.
dJointID dJointCreatePlane2D(dWorldID, dJointGroupID)
Create a new joint of the plane-2d type.
int dWorldQuickStep(dWorldID w, dReal stepsize)
Quick-step the world.
void dJointSetLMotorNumAxes(dJointID, int num)
Set the number of axes that will be controlled by the LMotor.
dReal dWorldGetAutoDisableAngularThreshold(dWorldID)
Get auto disable angular threshold for newly created bodies.
void dBodySetAngularDamping(dBodyID b, dReal scale)
Set the body&#39;s angular damping scale.
void dJointGetPRAnchor(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
void dBodyGetRelPointPos(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
Get world position of a relative point on body.
dReal dWorldGetAutoDisableLinearAverageThreshold(dWorldID)
Get auto disable linear average threshold for newly created bodies.
void dJointSetAMotorParam(dJointID, int parameter, dReal value)
set joint parameter
void dJointGetTransmissionAxis(dJointID j, dVector3 result)
get the common axis for both wheels of the Transmission joint
dReal dJointGetUniversalParam(dJointID, int parameter)
get joint parameter
void dBodyVectorToWorld(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
Convert from local to world coordinates.
dJointID dJointCreateDBall(dWorldID, dJointGroupID)
Create a new joint of the double ball type.
void dJointSetHingeParam(dJointID, int parameter, dReal value)
set joint parameter
dReal dJointGetPistonAngleRate(dJointID)
Get the piston angular position&#39;s time derivative.
dReal dJointGetUniversalAngle2(dJointID)
Get angle.
dJointID dJointCreateLMotor(dWorldID, dJointGroupID)
Create a new joint of the L-motor type.
void dJointSetFixed(dJointID)
Call this on the fixed joint after it has been attached to remember the current desired relative offs...
void dJointSetHingeAxis(dJointID, dReal x, dReal y, dReal z)
Set hinge axis.
void dWorldSetAutoDisableAngularAverageThreshold(dWorldID, dReal angular_average_threshold)
Set auto disable angular average threshold for newly created bodies.
int dWorldGetAutoDisableFlag(dWorldID)
Get auto disable flag for newly created bodies.
void dBodySetAutoDisableSteps(dBodyID, int steps)
Set auto disable steps.
void dBodyGetRelPointVel(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
Get velocity vector in global coords of a relative point on body.
dJointID dJointCreateSlider(dWorldID, dJointGroupID)
Create a new joint of the slider type.
dJointID dBodyGetJoint(dBodyID, int index)
Return a joint attached to this body, given by index.
void dBodyGetPosRelPoint(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
takes a point in global coordinates and returns the point&#39;s position in body-relative coordinates...
dReal dWorldGetAngularDamping(dWorldID w)
Get the world&#39;s angular damping scale.
dReal dJointGetHinge2Angle2Rate(dJointID)
Get time derivative of angle.
void dJointSetHingeAnchor(dJointID, dReal x, dReal y, dReal z)
Set hinge anchor parameter.
void dWorldSetAutoDisableFlag(dWorldID, int do_auto_disable)
Set auto disable flag for newly created bodies.
const dReal * dBodyGetTorque(dBodyID)
Return the current accumulated torque vector.
void dJointGetTransmissionAnchor2(dJointID, dVector3 result)
get the second anchor for the Transmission joint
void dWorldSetLinearDampingThreshold(dWorldID w, dReal threshold)
Set the world&#39;s linear damping threshold.
void dJointSetUniversalAxis1(dJointID, dReal x, dReal y, dReal z)
set axis
void dJointGetHingeAnchor(dJointID, dVector3 result)
Get the hinge anchor point, in world coordinates.
dReal dJointGetHinge2Angle2(dJointID)
Get angle.
void dBodySetDynamic(dBodyID)
Set rigid body to dynamic state (default).
void dBodyGetMass(dBodyID, dMass *mass)
Get the mass of a body.
dReal dJointGetUniversalAngle1Rate(dJointID)
Get time derivative of angle.
void dWorldDestroy(dWorldID world)
Destroy a world and everything in it.
void dBodySetLinearDamping(dBodyID b, dReal scale)
Set the body&#39;s linear damping scale.
void dBodyAddForceAtPos(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)
Add force at specified point in body in global coordinates.
dReal dJointGetDBallParam(dJointID, int parameter)
get double ball joint parameter
void dWorldSetQuickStepW(dWorldID, dReal over_relaxation)
Set the SOR over-relaxation parameter.
void dWorldImpulseToForce(dWorldID, dReal stepsize, dReal ix, dReal iy, dReal iz, dVector3 force)
Converts an impulse to a force.
void dJointAddUniversalTorques(dJointID joint, dReal torque1, dReal torque2)
Applies torque1 about the universal&#39;s axis 1, torque2 about the universal&#39;s axis 2.
dReal dJointGetUniversalAngle1(dJointID)
Get angle.
int dJointGetNumBodies(dJointID)
Return the number of bodies attached to the joint.
void dJointSetLMotorParam(dJointID, int parameter, dReal value)
set joint parameter
void dJointSetHinge2Param(dJointID, int parameter, dReal value)
set joint parameter
dReal dJointGetPUAngle2(dJointID)
Get angle.
int dBodyIsKinematic(dBodyID)
Check wether a body is in kinematic state.
void dBodySetAutoDisableTime(dBodyID, dReal time)
Set auto disable time.
int dBodyIsEnabled(dBodyID)
Check wether a body is enabled.
void dJointSetHinge2Anchor(dJointID, dReal x, dReal y, dReal z)
set anchor
int dWorldGetAutoDisableSteps(dWorldID)
Get auto disable steps for newly created bodies.
int dBodyGetNumJoints(dBodyID b)
Get the number of joints that are attached to this body.
unsigned dWorldGetStepIslandsProcessingMaxThreadCount(dWorldID w)
Get maximum threads that are allowed to be used for island stepping.
void dJointSetSliderAxis(dJointID, dReal x, dReal y, dReal z)
set the joint axis
void dJointSetTransmissionAnchor2(dJointID, dReal x, dReal y, dReal z)
set the second anchor for the Transmission joint
void dWorldSetERP(dWorldID, dReal erp)
Set the global ERP value, that controls how much error correction is performed in each time step...
void dJointSetDHingeParam(dJointID, int parameter, dReal value)
set double hinge joint parameter
void dJointGetPUAxisP(dJointID id, dVector3 result)
Get the prismatic axis.
void dWorldSetAngularDampingThreshold(dWorldID w, dReal threshold)
Set the world&#39;s angular damping threshold.
int dJointGetTransmissionMode(dJointID j)
get the Transmission joint mode
void dWorldSetAutoDisableAngularThreshold(dWorldID, dReal angular_threshold)
Set auto disable angular threshold for newly created bodies.
void dJointGetTransmissionAxis1(dJointID, dVector3 result)
get first axis for the Transmission joint
dJointID dJointCreatePiston(dWorldID, dJointGroupID)
Create a new joint of the Piston type.
dReal dJointGetDHingeParam(dJointID, int parameter)
get double hinge joint parameter
void dJointSetTransmissionBacklash(dJointID j, dReal backlash)
set the backlash of the Transmission joint
void dJointEnable(dJointID)
Manually enable a joint.
dJointID dJointCreatePU(dWorldID, dJointGroupID)
Create a new joint of the PU (Prismatic and Universal) type.
void dJointSetUniversalAnchor(dJointID, dReal x, dReal y, dReal z)
set anchor
void dBodyAddRelForceAtRelPos(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)
Add force at specified point in body in local coordinates.
void dJointSetAMotorNumAxes(dJointID, int num)
set the nr of axes
int dAreConnectedExcluding(dBodyID body1, dBodyID body2, int joint_type)
Utility function.
dReal dJointGetTransmissionAngle2(dJointID j)
get the phase, that is the traversed angle for the second wheel of the Transmission joint ...
dReal dJointGetPRAngle(dJointID)
Get the PR angular position (i.e. the twist between the 2 bodies)
void dBodySetForce(dBodyID b, dReal x, dReal y, dReal z)
Set the body force accumulation vector.
dGeomID dBodyGetFirstGeom(dBodyID b)
Return the first geom associated with the body.
dReal dWorldGetLinearDampingThreshold(dWorldID w)
Get the world&#39;s linear damping threshold.
void dJointAddPistonForce(dJointID joint, dReal force)
Applies the given force in the slider&#39;s direction.
void dWorldSetStepIslandsProcessingMaxThreadCount(dWorldID w, unsigned count)
Set maximum threads to be used for island stepping.
void dJointGetHinge2Axis2(dJointID, dVector3 result)
Get joint axis.
void dBodyAddRelForce(dBodyID, dReal fx, dReal fy, dReal fz)
Add force at centre of mass of body in coordinates relative to body.
void dJointGroupDestroy(dJointGroupID)
Destroy a joint group.All joints in the joint group will be destroyed.
void * dJointGetData(dJointID)
Get the user-data pointer.
void dJointAddPRTorque(dJointID j, dReal torque)
Applies the torque about the rotoide axis of the PR joint.
dReal dJointGetHinge2Param(dJointID, int parameter)
get joint parameter
void dBodySetAutoDisableAngularThreshold(dBodyID, dReal angular_average_threshold)
Set auto disable angular average threshold.
void dBodySetGravityMode(dBodyID b, int mode)
Set whether the body is influenced by the world&#39;s gravity or not.
void dWorldSetAutoDisableLinearAverageThreshold(dWorldID, dReal linear_average_threshold)
Set auto disable linear average threshold for newly created bodies.
void dWorldSetContactMaxCorrectingVel(dWorldID, dReal vel)
Set the maximum correcting velocity that contacts are allowed to generate.
void dJointGetHingeAxis(dJointID, dVector3 result)
get axis
void dJointAddPUTorque(dJointID j, dReal torque)
Applies the torque about the rotoide axis of the PU joint.
dJointID dJointCreateDHinge(dWorldID, dJointGroupID)
Create a new joint of the double hinge type.
dReal dJointGetHingeParam(dJointID, int parameter)
get joint parameter
void dJointGetPRAxis2(dJointID, dVector3 result)
Get the Rotoide axis.
dReal dWorldGetContactMaxCorrectingVel(dWorldID)
Get the maximum correcting velocity that contacts are allowed to generated.
dJointID dJointCreateAMotor(dWorldID, dJointGroupID)
Create a new joint of the A-motor type.
void dJointGetPistonAnchor(dJointID, dVector3 result)
Get the joint anchor.
void dWorldSetQuickStepNumIterations(dWorldID, int num)
Set the number of iterations that the QuickStep method performs per step.
dReal dJointGetAMotorParam(dJointID, int parameter)
get joint parameter
int dBodyGetAutoDisableAverageSamplesCount(dBodyID)
Get auto disable average size (samples count).
void dJointSetAMotorMode(dJointID, int mode)
set mode
void dBodySetMaxAngularSpeed(dBodyID b, dReal max_speed)
Set the body&#39;s maximum angular speed.
dReal dJointGetPRParam(dJointID, int parameter)
get joint parameter
void dBodyAddTorque(dBodyID, dReal fx, dReal fy, dReal fz)
Add torque at centre of mass of body in absolute coordinates.
void dBodySetFiniteRotationAxis(dBodyID, dReal x, dReal y, dReal z)
sets the finite rotation axis for a body.
dReal dWorldGetAutoDisableLinearThreshold(dWorldID)
Get auto disable linear threshold for newly created bodies.
dReal dJointGetBallParam(dJointID, int parameter)
get joint parameter
void dJointGetHingeAnchor2(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
dReal dJointGetHingeAngle(dJointID)
Get the hinge angle.
int dBodyGetAutoDisableSteps(dBodyID)
Get auto steps a body must be thought of as idle to disable.
dWorldID dWorldCreate(void)
Create a new, empty world and return its ID number.
void dJointSetBallAnchor(dJointID, dReal x, dReal y, dReal z)
Set the joint anchor point.The joint will try to keep this point on each body together. The input is specified in world coordinates.
int dWorldUseSharedWorkingMemory(dWorldID w, dWorldID from_world)
Set the world to use shared working memory along with another world.
void dWorldCleanupWorkingMemory(dWorldID w)
Release internal working memory allocated for world.
void dJointGetPUAxis3(dJointID, dVector3 result)
Get the prismatic axis.
void dBodyVectorFromWorld(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
Convert from world to local coordinates.
int dWorldSetStepMemoryManager(dWorldID w, const dWorldStepMemoryFunctionsInfo *memfuncs)
Set memory manager for world to be used with simulation stepping functions.
void dBodySetAutoDisableLinearThreshold(dBodyID, dReal linear_average_threshold)
Set auto disable linear average threshold.
void dJointSetAMotorAxis(dJointID, int anum, int rel, dReal x, dReal y, dReal z)
set axis
void dJointSetTransmissionAxis(dJointID j, dReal x, dReal y, dReal z)
set the common axis for both wheels of the Transmission joint
void dBodyEnable(dBodyID)
Manually enable a body.
void dJointSetDHingeAnchor2(dJointID, dReal x, dReal y, dReal z)
set anchor2 for double hinge joint
int dWorldSetStepMemoryReservationPolicy(dWorldID w, const dWorldStepReserveInfo *policyinfo)
Set memory reservation policy for world to be used with simulation stepping functions.
dJointID dJointCreatePR(dWorldID, dJointGroupID)
Create a new joint of the PR (Prismatic and Rotoide) type.
void dJointSetPUAxis2(dJointID, dReal x, dReal y, dReal z)
set the axis for the second axis or the universal articulation
dReal dJointGetPUAngle1Rate(dJointID)
void dJointGetDHingeAnchor1(dJointID, dVector3 result)
get anchor1 from double hinge joint
void dJointSetLMotorAxis(dJointID, int anum, int rel, dReal x, dReal y, dReal z)
Set the AMotor axes.
dReal dWorldGetERP(dWorldID)
Get the error reduction parameter.
dBodyID dJointGetBody(dJointID, int index)
Return the bodies that this joint connects.
int dJointGetLMotorNumAxes(dJointID)
Get nr of axes.
void dJointSetTransmissionMode(dJointID j, int mode)
set the Transmission joint mode
void dJointSetBallAnchor2(dJointID, dReal x, dReal y, dReal z)
Set the joint anchor point.
dJointFeedback * dJointGetFeedback(dJointID)
Gets the datastructure that is to receive the feedback.
Definition: common.h:335
void dJointGetHinge2Anchor2(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates. This returns the point on body 2. If the joint is perfectly satisfied, this will return the same value as dJointGetHinge2Anchor. If not, this value will be slightly different. This can be used, for example, to see how far the joint has come apart.
dReal dBodyGetLinearDampingThreshold(dBodyID b)
Get the body&#39;s linear damping threshold.
void dBodyGetPointVel(dBodyID, dReal px, dReal py, dReal pz, dVector3 result)
Get velocity vector in global coords of a globally specified point on a body.
void dBodyAddRelForceAtPos(dBodyID, dReal fx, dReal fy, dReal fz, dReal px, dReal py, dReal pz)
Add force at specified point in body in global coordinates.
void dJointSetTransmissionParam(dJointID, int parameter, dReal value)
set a Transmission joint parameter
void dWorldSetAutoDisableSteps(dWorldID, int steps)
Set auto disable steps for newly created bodies.
ODE_API_DEPRECATED void dJointSetPistonAxisDelta(dJointID j, dReal x, dReal y, dReal z, dReal ax, dReal ay, dReal az)
void dJointAddAMotorTorques(dJointID, dReal torque1, dReal torque2, dReal torque3)
Applies torque0 about the AMotor&#39;s axis 0, torque1 about the AMotor&#39;s axis 1, and torque2 about the A...
void dJointGetDBallAnchor1(dJointID, dVector3 result)
get anchor1 from double ball joint
ODE_API_DEPRECATED void dJointSetPUAnchorDelta(dJointID, dReal x, dReal y, dReal z, dReal dx, dReal dy, dReal dz)
set anchor
void dJointSetDBallAnchor2(dJointID, dReal x, dReal y, dReal z)
set anchor2 for double ball joint
const dReal * dBodyGetPosition(dBodyID)
Get the position of a body.
void dWorldSetDamping(dWorldID w, dReal linear_scale, dReal angular_scale)
Convenience function to set body linear and angular scales.
void dBodySetRotation(dBodyID, const dMatrix3 R)
Set the orientation of a body.
dReal dBodyGetMaxAngularSpeed(dBodyID b)
Get the body&#39;s maximum angular speed.
dReal dJointGetPUPosition(dJointID)
Get the PU linear position (i.e. the prismatic&#39;s extension)
void dJointSetPUAnchorOffset(dJointID, dReal x, dReal y, dReal z, dReal dx, dReal dy, dReal dz)
Set the PU anchor as if the 2 bodies were already at [dx, dy, dz] appart.This function initialize the...
void dJointGetPRAxis1(dJointID, dVector3 result)
Get the prismatic axis.
void dWorldSetGravity(dWorldID, dReal x, dReal y, dReal z)
Set the world&#39;s global gravity vector.
dReal dJointGetHingeAngleRate(dJointID)
Get the hinge angle time derivative.
dReal dBodyGetAutoDisableTime(dBodyID)
Get auto disable time.
dJointID dJointCreateBall(dWorldID, dJointGroupID)
Create a new joint of the ball type.
void dJointSetTransmissionRadius1(dJointID j, dReal radius)
set the radius of the first wheel of the Transmission joint
void dJointSetPUAxis1(dJointID, dReal x, dReal y, dReal z)
set the axis for the first axis or the universal articulation
dJointID dJointCreateHinge2(dWorldID, dJointGroupID)
Create a new joint of the hinge2 type.
const dReal * dBodyGetForce(dBodyID)
Return the current accumulated force vector.
void dBodySetAutoDisableDefaults(dBodyID)
Set auto disable defaults.
dReal dWorldGetAngularDampingThreshold(dWorldID w)
Get the world&#39;s angular damping threshold.
void dJointGetDHingeAxis(dJointID, dVector3 result)
get axis for double hinge joint
void dBodyGetFiniteRotationAxis(dBodyID, dVector3 result)
Get the finite rotation axis.
dBodyID dBodyCreate(dWorldID)
Create a body in given world.
void dJointSetTransmissionAxis1(dJointID, dReal x, dReal y, dReal z)
set the first axis for the Transmission joint
void dJointSetHingeAxisOffset(dJointID j, dReal x, dReal y, dReal z, dReal angle)
Set the Hinge axis as if the 2 bodies were already at angle appart.This function initialize the Axis ...
void dJointSetUniversalAxis2Offset(dJointID, dReal x, dReal y, dReal z, dReal offset1, dReal offset2)
Set the Universal axis2 as if the 2 bodies were already at offset1 and offset2 appart with respect to...
int dJointGetAMotorMode(dJointID)
Get the angular motor mode.
void dJointGetSliderAxis(dJointID, dVector3 result)
Get the slider axis.
void dJointSetPRAnchor(dJointID, dReal x, dReal y, dReal z)
set anchor
void dJointAddSliderForce(dJointID joint, dReal force)
Applies the given force in the slider&#39;s direction.
dReal dJointGetPUAngle2Rate(dJointID)
void dJointGetDHingeAnchor2(dJointID, dVector3 result)
get anchor2 from double hinge joint
void dBodySetAngularVel(dBodyID, dReal x, dReal y, dReal z)
Set the angular velocity of a body.
An interface structure with function pointers to be provided by threading implementation.
Definition: threading.h:370
void dWorldSetAutoDisableAverageSamplesCount(dWorldID, unsigned int average_samples_count)
Set auto disable average sample count for newly created bodies.
dReal dJointGetPUParam(dJointID, int parameter)
get joint parameter
dReal dWorldGetMaxAngularSpeed(dWorldID w)
Get the default maximum angular speed.
void dJointSetPRAxis1(dJointID, dReal x, dReal y, dReal z)
set the axis for the prismatic articulation
void dJointGetUniversalAnchor2(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
dJointType dJointGetType(dJointID)
Get the type of the joint.
void dBodySetQuaternion(dBodyID, const dQuaternion q)
Set the orientation of a body.
dReal dJointGetTransmissionBacklash(dJointID j)
get the backlash of the Transmission joint
void dJointGetHinge2Anchor(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
void dJointGetTransmissionAxis2(dJointID, dVector3 result)
get second axis for the Transmission joint
void dJointSetPRParam(dJointID, int parameter, dReal value)
set joint parameter
void dJointAddHingeTorque(dJointID joint, dReal torque)
Applies the torque about the hinge axis.
void dJointGetPUAngles(dJointID, dReal *angle1, dReal *angle2)
Get both angles at the same time.
void dBodySetMass(dBodyID, const dMass *mass)
Set the mass of a body.
void dJointGetHinge2Axis1(dJointID, dVector3 result)
Get joint axis.
void dJointSetPUAnchor(dJointID, dReal x, dReal y, dReal z)
set anchor
dReal dWorldGetQuickStepW(dWorldID)
Get the SOR over-relaxation parameter.
void dJointSetHinge2Axis1(dJointID, dReal x, dReal y, dReal z)
set axis
void * dBodyGetData(dBodyID)
Get the body&#39;s user-data pointer.
void dBodyDisable(dBodyID)
Manually disable a body.
void dJointGetTransmissionContactPoint1(dJointID, dVector3 result)
get the contact point of the first wheel of the Transmission joint.
dJointID dJointCreateTransmission(dWorldID, dJointGroupID)
Create a new joint of the Transmission type.
dJointID dJointCreateFixed(dWorldID, dJointGroupID)
Create a new joint of the fixed type.
void dBodySetDampingDefaults(dBodyID b)
Resets the damping settings to the current world&#39;s settings.
dReal dWorldGetContactSurfaceLayer(dWorldID)
Get the depth of the surface layer around all geometry objects.
dReal dJointGetAMotorAngleRate(dJointID, int anum)
Get the current angle rate for axis anum.
dJointID dJointCreateUniversal(dWorldID, dJointGroupID)
Create a new joint of the universal type.
void dBodySetTorque(dBodyID b, dReal x, dReal y, dReal z)
Set the body torque accumulation vector.
dReal dJointGetSliderPositionRate(dJointID)
Get the slider linear position&#39;s time derivative.
void * dWorldGetData(dWorldID world)
Get the user-data pointer.
dReal dJointGetPRAngleRate(dJointID)
Get the PR angular position&#39;s time derivative.
void dBodySetKinematic(dBodyID)
Set rigid body to kinematic state. When in kinematic state the body isn&#39;t simulated as a dynamic body...
dReal dWorldGetAutoDisableAngularAverageThreshold(dWorldID)
Get auto disable angular average threshold for newly created bodies.
dReal dBodyGetLinearDamping(dBodyID b)
Get the body&#39;s linear damping scale.
dJointID dJointCreateHinge(dWorldID, dJointGroupID)
Create a new joint of the hinge type.
void dJointGetPUAnchor(dJointID, dVector3 result)
Get the joint anchor point, in world coordinates.
void dBodyCopyQuaternion(dBodyID body, dQuaternion quat)
Copy the orientation of a body into a quaternion.
void dBodyCopyPosition(dBodyID body, dVector3 pos)
Copy the position of a body into a vector.
void dWorldSetAutoDisableLinearThreshold(dWorldID, dReal linear_threshold)
Set auto disable linear threshold for newly created bodies.
dReal dJointGetPistonParam(dJointID, int parameter)
get joint parameter
void dJointSetAMotorAngle(dJointID, int anum, dReal angle)
Tell the AMotor what the current angle is along axis anum.