view R/rdyncall/inst/dynports/ode.R @ 54:918dab7a6606

- added callback support (comes with some bigger refactoring) - allow CPython's Py{CObject,Capsule} to be used as 'p'ointers
author Tassilo Philipp
date Tue, 02 Feb 2021 20:42:02 +0100
parents 0cfcc391201f
children
line wrap: on
line source



dynbind("ode", "
dAlloc(J)*v;
dAllocateODEDataForThread(I)i;
dAreConnected(*<dxBody>*<dxBody>)i;
dAreConnectedExcluding(*<dxBody>*<dxBody>i)i;
dBodyAddForce(*<dxBody>fff)v;
dBodyAddForceAtPos(*<dxBody>ffffff)v;
dBodyAddForceAtRelPos(*<dxBody>ffffff)v;
dBodyAddRelForce(*<dxBody>fff)v;
dBodyAddRelForceAtPos(*<dxBody>ffffff)v;
dBodyAddRelForceAtRelPos(*<dxBody>ffffff)v;
dBodyAddRelTorque(*<dxBody>fff)v;
dBodyAddTorque(*<dxBody>fff)v;
dBodyCopyPosition(*<dxBody>*f)v;
dBodyCopyQuaternion(*<dxBody>*f)v;
dBodyCopyRotation(*<dxBody>*f)v;
dBodyCreate(*<dxWorld>)*<dxBody>;
dBodyDestroy(*<dxBody>)v;
dBodyDisable(*<dxBody>)v;
dBodyEnable(*<dxBody>)v;
dBodyGetAngularDamping(*<dxBody>)f;
dBodyGetAngularDampingThreshold(*<dxBody>)f;
dBodyGetAngularVel(*<dxBody>)*f;
dBodyGetAutoDisableAngularThreshold(*<dxBody>)f;
dBodyGetAutoDisableAverageSamplesCount(*<dxBody>)i;
dBodyGetAutoDisableFlag(*<dxBody>)i;
dBodyGetAutoDisableLinearThreshold(*<dxBody>)f;
dBodyGetAutoDisableSteps(*<dxBody>)i;
dBodyGetAutoDisableTime(*<dxBody>)f;
dBodyGetData(*<dxBody>)*v;
dBodyGetFiniteRotationAxis(*<dxBody>*f)v;
dBodyGetFiniteRotationMode(*<dxBody>)i;
dBodyGetFirstGeom(*<dxBody>)*<dxGeom>;
dBodyGetForce(*<dxBody>)*f;
dBodyGetGravityMode(*<dxBody>)i;
dBodyGetGyroscopicMode(*<dxBody>)i;
dBodyGetJoint(*<dxBody>i)*<dxJoint>;
dBodyGetLinearDamping(*<dxBody>)f;
dBodyGetLinearDampingThreshold(*<dxBody>)f;
dBodyGetLinearVel(*<dxBody>)*f;
dBodyGetMass(*<dxBody>*<dMass>)v;
dBodyGetMaxAngularSpeed(*<dxBody>)f;
dBodyGetNextGeom(*<dxGeom>)*<dxGeom>;
dBodyGetNumJoints(*<dxBody>)i;
dBodyGetPointVel(*<dxBody>fff*f)v;
dBodyGetPosRelPoint(*<dxBody>fff*f)v;
dBodyGetPosition(*<dxBody>)*f;
dBodyGetQuaternion(*<dxBody>)*f;
dBodyGetRelPointPos(*<dxBody>fff*f)v;
dBodyGetRelPointVel(*<dxBody>fff*f)v;
dBodyGetRotation(*<dxBody>)*f;
dBodyGetTorque(*<dxBody>)*f;
dBodyGetWorld(*<dxBody>)*<dxWorld>;
dBodyIsEnabled(*<dxBody>)i;
dBodyIsKinematic(*<dxBody>)i;
dBodySetAngularDamping(*<dxBody>f)v;
dBodySetAngularDampingThreshold(*<dxBody>f)v;
dBodySetAngularVel(*<dxBody>fff)v;
dBodySetAutoDisableAngularThreshold(*<dxBody>f)v;
dBodySetAutoDisableAverageSamplesCount(*<dxBody>I)v;
dBodySetAutoDisableDefaults(*<dxBody>)v;
dBodySetAutoDisableFlag(*<dxBody>i)v;
dBodySetAutoDisableLinearThreshold(*<dxBody>f)v;
dBodySetAutoDisableSteps(*<dxBody>i)v;
dBodySetAutoDisableTime(*<dxBody>f)v;
dBodySetDamping(*<dxBody>ff)v;
dBodySetDampingDefaults(*<dxBody>)v;
dBodySetData(*<dxBody>*v)v;
dBodySetDynamic(*<dxBody>)v;
dBodySetFiniteRotationAxis(*<dxBody>fff)v;
dBodySetFiniteRotationMode(*<dxBody>i)v;
dBodySetForce(*<dxBody>fff)v;
dBodySetGravityMode(*<dxBody>i)v;
dBodySetGyroscopicMode(*<dxBody>i)v;
dBodySetKinematic(*<dxBody>)v;
dBodySetLinearDamping(*<dxBody>f)v;
dBodySetLinearDampingThreshold(*<dxBody>f)v;
dBodySetLinearVel(*<dxBody>fff)v;
dBodySetMass(*<dxBody>*<dMass>)v;
dBodySetMaxAngularSpeed(*<dxBody>f)v;
dBodySetMovedCallback(*<dxBody>*p)v;
dBodySetPosition(*<dxBody>fff)v;
dBodySetQuaternion(*<dxBody>*f)v;
dBodySetRotation(*<dxBody>*f)v;
dBodySetTorque(*<dxBody>fff)v;
dBodyVectorFromWorld(*<dxBody>fff*f)v;
dBodyVectorToWorld(*<dxBody>fff*f)v;
dBoxBox(*f*f*f*f*f*f*f*f*ii*<dContactGeom>i)i;
dBoxTouchesBox(*f*f*f*f*f*f)i;
dCheckConfiguration(*c)i;
dCleanupODEAllDataForThread()v;
dClearUpperTriangle(*fi)v;
dCloseODE()v;
dClosestLineSegmentPoints(*f*f*f*f*f*f)v;
dCollide(*<dxGeom>*<dxGeom>i*<dContactGeom>i)i;
dConnectingJoint(*<dxBody>*<dxBody>)*<dxJoint>;
dConnectingJointList(*<dxBody>*<dxBody>*)i;
dCreateBox(*<dxSpace>fff)*<dxGeom>;
dCreateCapsule(*<dxSpace>ff)*<dxGeom>;
dCreateConvex(*<dxSpace>*fI*fI*I)*<dxGeom>;
dCreateCylinder(*<dxSpace>ff)*<dxGeom>;
dCreateGeom(i)*<dxGeom>;
dCreateGeomClass(*<dGeomClass>)i;
dCreateGeomTransform(*<dxSpace>)*<dxGeom>;
dCreateHeightfield(*<dxSpace>*<dxHeightfieldData>i)*<dxGeom>;
dCreatePlane(*<dxSpace>ffff)*<dxGeom>;
dCreateRay(*<dxSpace>f)*<dxGeom>;
dCreateSphere(*<dxSpace>f)*<dxGeom>;
dCreateTriMesh(*<dxSpace>*<dxTriMeshData>*p*p*p)*<dxGeom>;
dDQfromW(*f*f*f)v;
dDebug(i*c)v;
dDot(*f*fi)f;
dError(i*c)v;
dFactorCholesky(*fi)i;
dFactorLDLT(*f*fii)v;
dFree(*vJ)v;
dGeomBoxGetLengths(*<dxGeom>*f)v;
dGeomBoxPointDepth(*<dxGeom>fff)f;
dGeomBoxSetLengths(*<dxGeom>fff)v;
dGeomCapsuleGetParams(*<dxGeom>*f*f)v;
dGeomCapsulePointDepth(*<dxGeom>fff)f;
dGeomCapsuleSetParams(*<dxGeom>ff)v;
dGeomClearOffset(*<dxGeom>)v;
dGeomCopyOffsetPosition(*<dxGeom>*f)v;
dGeomCopyOffsetRotation(*<dxGeom>*f)v;
dGeomCopyPosition(*<dxGeom>*f)v;
dGeomCopyRotation(*<dxGeom>*f)v;
dGeomCylinderGetParams(*<dxGeom>*f*f)v;
dGeomCylinderSetParams(*<dxGeom>ff)v;
dGeomDestroy(*<dxGeom>)v;
dGeomDisable(*<dxGeom>)v;
dGeomEnable(*<dxGeom>)v;
dGeomGetAABB(*<dxGeom>*f)v;
dGeomGetBody(*<dxGeom>)*<dxBody>;
dGeomGetBodyNext(*<dxGeom>)*<dxGeom>;
dGeomGetCategoryBits(*<dxGeom>)J;
dGeomGetClass(*<dxGeom>)i;
dGeomGetClassData(*<dxGeom>)*v;
dGeomGetCollideBits(*<dxGeom>)J;
dGeomGetData(*<dxGeom>)*v;
dGeomGetOffsetPosition(*<dxGeom>)*f;
dGeomGetOffsetQuaternion(*<dxGeom>*f)v;
dGeomGetOffsetRotation(*<dxGeom>)*f;
dGeomGetPosition(*<dxGeom>)*f;
dGeomGetQuaternion(*<dxGeom>*f)v;
dGeomGetRotation(*<dxGeom>)*f;
dGeomGetSpace(*<dxGeom>)*<dxSpace>;
dGeomHeightfieldDataBuildByte(*<dxHeightfieldData>*Ciffiifffi)v;
dGeomHeightfieldDataBuildCallback(*<dxHeightfieldData>*v*pffiifffi)v;
dGeomHeightfieldDataBuildDouble(*<dxHeightfieldData>*diffiifffi)v;
dGeomHeightfieldDataBuildShort(*<dxHeightfieldData>*siffiifffi)v;
dGeomHeightfieldDataBuildSingle(*<dxHeightfieldData>*fiffiifffi)v;
dGeomHeightfieldDataCreate()*<dxHeightfieldData>;
dGeomHeightfieldDataDestroy(*<dxHeightfieldData>)v;
dGeomHeightfieldDataSetBounds(*<dxHeightfieldData>ff)v;
dGeomHeightfieldGetHeightfieldData(*<dxGeom>)*<dxHeightfieldData>;
dGeomHeightfieldSetHeightfieldData(*<dxGeom>*<dxHeightfieldData>)v;
dGeomIsEnabled(*<dxGeom>)i;
dGeomIsOffset(*<dxGeom>)i;
dGeomIsSpace(*<dxGeom>)i;
dGeomMoved(*<dxGeom>)v;
dGeomPlaneGetParams(*<dxGeom>*f)v;
dGeomPlanePointDepth(*<dxGeom>fff)f;
dGeomPlaneSetParams(*<dxGeom>ffff)v;
dGeomRayGet(*<dxGeom>*f*f)v;
dGeomRayGetClosestHit(*<dxGeom>)i;
dGeomRayGetLength(*<dxGeom>)f;
dGeomRayGetParams(*<dxGeom>*i*i)v;
dGeomRaySet(*<dxGeom>ffffff)v;
dGeomRaySetClosestHit(*<dxGeom>i)v;
dGeomRaySetLength(*<dxGeom>f)v;
dGeomRaySetParams(*<dxGeom>ii)v;
dGeomSetBody(*<dxGeom>*<dxBody>)v;
dGeomSetCategoryBits(*<dxGeom>J)v;
dGeomSetCollideBits(*<dxGeom>J)v;
dGeomSetConvex(*<dxGeom>*fI*fI*I)v;
dGeomSetData(*<dxGeom>*v)v;
dGeomSetOffsetPosition(*<dxGeom>fff)v;
dGeomSetOffsetQuaternion(*<dxGeom>*f)v;
dGeomSetOffsetRotation(*<dxGeom>*f)v;
dGeomSetOffsetWorldPosition(*<dxGeom>fff)v;
dGeomSetOffsetWorldQuaternion(*<dxGeom>*f)v;
dGeomSetOffsetWorldRotation(*<dxGeom>*f)v;
dGeomSetPosition(*<dxGeom>fff)v;
dGeomSetQuaternion(*<dxGeom>*f)v;
dGeomSetRotation(*<dxGeom>*f)v;
dGeomSphereGetRadius(*<dxGeom>)f;
dGeomSpherePointDepth(*<dxGeom>fff)f;
dGeomSphereSetRadius(*<dxGeom>f)v;
dGeomTransformGetCleanup(*<dxGeom>)i;
dGeomTransformGetGeom(*<dxGeom>)*<dxGeom>;
dGeomTransformGetInfo(*<dxGeom>)i;
dGeomTransformSetCleanup(*<dxGeom>i)v;
dGeomTransformSetGeom(*<dxGeom>*<dxGeom>)v;
dGeomTransformSetInfo(*<dxGeom>i)v;
dGeomTriMeshClearTCCache(*<dxGeom>)v;
dGeomTriMeshDataBuildDouble(*<dxTriMeshData>*vii*vii)v;
dGeomTriMeshDataBuildDouble1(*<dxTriMeshData>*vii*vii*v)v;
dGeomTriMeshDataBuildSimple(*<dxTriMeshData>*fi*Ii)v;
dGeomTriMeshDataBuildSimple1(*<dxTriMeshData>*fi*Ii*i)v;
dGeomTriMeshDataBuildSingle(*<dxTriMeshData>*vii*vii)v;
dGeomTriMeshDataBuildSingle1(*<dxTriMeshData>*vii*vii*v)v;
dGeomTriMeshDataCreate()*<dxTriMeshData>;
dGeomTriMeshDataDestroy(*<dxTriMeshData>)v;
dGeomTriMeshDataGet(*<dxTriMeshData>i)*v;
dGeomTriMeshDataGetBuffer(*<dxTriMeshData>**i)v;
dGeomTriMeshDataPreprocess(*<dxTriMeshData>)v;
dGeomTriMeshDataSet(*<dxTriMeshData>i*v)v;
dGeomTriMeshDataSetBuffer(*<dxTriMeshData>*C)v;
dGeomTriMeshDataUpdate(*<dxTriMeshData>)v;
dGeomTriMeshEnableTC(*<dxGeom>ii)v;
dGeomTriMeshGetArrayCallback(*<dxGeom>)*p;
dGeomTriMeshGetCallback(*<dxGeom>)*p;
dGeomTriMeshGetData(*<dxGeom>)*<dxTriMeshData>;
dGeomTriMeshGetLastTransform(*<dxGeom>)*f;
dGeomTriMeshGetPoint(*<dxGeom>iff*f)v;
dGeomTriMeshGetRayCallback(*<dxGeom>)*p;
dGeomTriMeshGetTriMergeCallback(*<dxGeom>)*p;
dGeomTriMeshGetTriMeshDataID(*<dxGeom>)*<dxTriMeshData>;
dGeomTriMeshGetTriangle(*<dxGeom>i***)v;
dGeomTriMeshGetTriangleCount(*<dxGeom>)i;
dGeomTriMeshIsTCEnabled(*<dxGeom>i)i;
dGeomTriMeshSetArrayCallback(*<dxGeom>*p)v;
dGeomTriMeshSetCallback(*<dxGeom>*p)v;
dGeomTriMeshSetData(*<dxGeom>*<dxTriMeshData>)v;
dGeomTriMeshSetLastTransform(*<dxGeom>*f)v;
dGeomTriMeshSetRayCallback(*<dxGeom>*p)v;
dGeomTriMeshSetTriMergeCallback(*<dxGeom>*p)v;
dGetAllocHandler()*p;
dGetConfiguration()*c;
dGetDebugHandler()*p;
dGetErrorHandler()*p;
dGetFreeHandler()*p;
dGetMessageHandler()*p;
dGetReallocHandler()*p;
dHashSpaceCreate(*<dxSpace>)*<dxSpace>;
dHashSpaceGetLevels(*<dxSpace>*i*i)v;
dHashSpaceSetLevels(*<dxSpace>ii)v;
dInfiniteAABB(*<dxGeom>*f)v;
dInitODE()v;
dInitODE2(I)i;
dInvertPDMatrix(*f*fi)i;
dIsPositiveDefinite(*fi)i;
dJointAddAMotorTorques(*<dxJoint>fff)v;
dJointAddHinge2Torques(*<dxJoint>ff)v;
dJointAddHingeTorque(*<dxJoint>f)v;
dJointAddPRTorque(*<dxJoint>f)v;
dJointAddPUTorque(*<dxJoint>f)v;
dJointAddPistonForce(*<dxJoint>f)v;
dJointAddSliderForce(*<dxJoint>f)v;
dJointAddUniversalTorques(*<dxJoint>ff)v;
dJointAttach(*<dxJoint>*<dxBody>*<dxBody>)v;
dJointCreateAMotor(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateBall(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateContact(*<dxWorld>*<dxJointGroup>*<dContact>)*<dxJoint>;
dJointCreateFixed(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateHinge(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateHinge2(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateLMotor(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateNull(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreatePR(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreatePU(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreatePiston(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreatePlane2D(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateSlider(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointCreateUniversal(*<dxWorld>*<dxJointGroup>)*<dxJoint>;
dJointDestroy(*<dxJoint>)v;
dJointDisable(*<dxJoint>)v;
dJointEnable(*<dxJoint>)v;
dJointGetAMotorAngle(*<dxJoint>i)f;
dJointGetAMotorAngleRate(*<dxJoint>i)f;
dJointGetAMotorAxis(*<dxJoint>i*f)v;
dJointGetAMotorAxisRel(*<dxJoint>i)i;
dJointGetAMotorMode(*<dxJoint>)i;
dJointGetAMotorNumAxes(*<dxJoint>)i;
dJointGetAMotorParam(*<dxJoint>i)f;
dJointGetBallAnchor(*<dxJoint>*f)v;
dJointGetBallAnchor2(*<dxJoint>*f)v;
dJointGetBallParam(*<dxJoint>i)f;
dJointGetBody(*<dxJoint>i)*<dxBody>;
dJointGetData(*<dxJoint>)*v;
dJointGetFeedback(*<dxJoint>)*<dJointFeedback>;
dJointGetFixedParam(*<dxJoint>i)f;
dJointGetHinge2Anchor(*<dxJoint>*f)v;
dJointGetHinge2Anchor2(*<dxJoint>*f)v;
dJointGetHinge2Angle1(*<dxJoint>)f;
dJointGetHinge2Angle1Rate(*<dxJoint>)f;
dJointGetHinge2Angle2Rate(*<dxJoint>)f;
dJointGetHinge2Axis1(*<dxJoint>*f)v;
dJointGetHinge2Axis2(*<dxJoint>*f)v;
dJointGetHinge2Param(*<dxJoint>i)f;
dJointGetHingeAnchor(*<dxJoint>*f)v;
dJointGetHingeAnchor2(*<dxJoint>*f)v;
dJointGetHingeAngle(*<dxJoint>)f;
dJointGetHingeAngleRate(*<dxJoint>)f;
dJointGetHingeAxis(*<dxJoint>*f)v;
dJointGetHingeParam(*<dxJoint>i)f;
dJointGetLMotorAxis(*<dxJoint>i*f)v;
dJointGetLMotorNumAxes(*<dxJoint>)i;
dJointGetLMotorParam(*<dxJoint>i)f;
dJointGetNumBodies(*<dxJoint>)i;
dJointGetPRAnchor(*<dxJoint>*f)v;
dJointGetPRAngle(*<dxJoint>)f;
dJointGetPRAngleRate(*<dxJoint>)f;
dJointGetPRAxis1(*<dxJoint>*f)v;
dJointGetPRAxis2(*<dxJoint>*f)v;
dJointGetPRParam(*<dxJoint>i)f;
dJointGetPRPosition(*<dxJoint>)f;
dJointGetPRPositionRate(*<dxJoint>)f;
dJointGetPUAnchor(*<dxJoint>*f)v;
dJointGetPUAngle1(*<dxJoint>)f;
dJointGetPUAngle1Rate(*<dxJoint>)f;
dJointGetPUAngle2(*<dxJoint>)f;
dJointGetPUAngle2Rate(*<dxJoint>)f;
dJointGetPUAngles(*<dxJoint>*f*f)v;
dJointGetPUAxis1(*<dxJoint>*f)v;
dJointGetPUAxis2(*<dxJoint>*f)v;
dJointGetPUAxis3(*<dxJoint>*f)v;
dJointGetPUAxisP(*<dxJoint>*f)v;
dJointGetPUParam(*<dxJoint>i)f;
dJointGetPUPosition(*<dxJoint>)f;
dJointGetPUPositionRate(*<dxJoint>)f;
dJointGetPistonAnchor(*<dxJoint>*f)v;
dJointGetPistonAnchor2(*<dxJoint>*f)v;
dJointGetPistonAngle(*<dxJoint>)f;
dJointGetPistonAngleRate(*<dxJoint>)f;
dJointGetPistonAxis(*<dxJoint>*f)v;
dJointGetPistonParam(*<dxJoint>i)f;
dJointGetPistonPosition(*<dxJoint>)f;
dJointGetPistonPositionRate(*<dxJoint>)f;
dJointGetSliderAxis(*<dxJoint>*f)v;
dJointGetSliderParam(*<dxJoint>i)f;
dJointGetSliderPosition(*<dxJoint>)f;
dJointGetSliderPositionRate(*<dxJoint>)f;
dJointGetType(*<dxJoint>)i;
dJointGetUniversalAnchor(*<dxJoint>*f)v;
dJointGetUniversalAnchor2(*<dxJoint>*f)v;
dJointGetUniversalAngle1(*<dxJoint>)f;
dJointGetUniversalAngle1Rate(*<dxJoint>)f;
dJointGetUniversalAngle2(*<dxJoint>)f;
dJointGetUniversalAngle2Rate(*<dxJoint>)f;
dJointGetUniversalAngles(*<dxJoint>*f*f)v;
dJointGetUniversalAxis1(*<dxJoint>*f)v;
dJointGetUniversalAxis2(*<dxJoint>*f)v;
dJointGetUniversalParam(*<dxJoint>i)f;
dJointGroupCreate(i)*<dxJointGroup>;
dJointGroupDestroy(*<dxJointGroup>)v;
dJointGroupEmpty(*<dxJointGroup>)v;
dJointIsEnabled(*<dxJoint>)i;
dJointSetAMotorAngle(*<dxJoint>if)v;
dJointSetAMotorAxis(*<dxJoint>iifff)v;
dJointSetAMotorMode(*<dxJoint>i)v;
dJointSetAMotorNumAxes(*<dxJoint>i)v;
dJointSetAMotorParam(*<dxJoint>if)v;
dJointSetBallAnchor(*<dxJoint>fff)v;
dJointSetBallAnchor2(*<dxJoint>fff)v;
dJointSetBallParam(*<dxJoint>if)v;
dJointSetData(*<dxJoint>*v)v;
dJointSetFeedback(*<dxJoint>*<dJointFeedback>)v;
dJointSetFixed(*<dxJoint>)v;
dJointSetFixedParam(*<dxJoint>if)v;
dJointSetHinge2Anchor(*<dxJoint>fff)v;
dJointSetHinge2Axis1(*<dxJoint>fff)v;
dJointSetHinge2Axis2(*<dxJoint>fff)v;
dJointSetHinge2Param(*<dxJoint>if)v;
dJointSetHingeAnchor(*<dxJoint>fff)v;
dJointSetHingeAnchorDelta(*<dxJoint>ffffff)v;
dJointSetHingeAxis(*<dxJoint>fff)v;
dJointSetHingeAxisOffset(*<dxJoint>ffff)v;
dJointSetHingeParam(*<dxJoint>if)v;
dJointSetLMotorAxis(*<dxJoint>iifff)v;
dJointSetLMotorNumAxes(*<dxJoint>i)v;
dJointSetLMotorParam(*<dxJoint>if)v;
dJointSetPRAnchor(*<dxJoint>fff)v;
dJointSetPRAxis1(*<dxJoint>fff)v;
dJointSetPRAxis2(*<dxJoint>fff)v;
dJointSetPRParam(*<dxJoint>if)v;
dJointSetPUAnchor(*<dxJoint>fff)v;
dJointSetPUAnchorDelta(*<dxJoint>ffffff)v;
dJointSetPUAnchorOffset(*<dxJoint>ffffff)v;
dJointSetPUAxis1(*<dxJoint>fff)v;
dJointSetPUAxis2(*<dxJoint>fff)v;
dJointSetPUAxis3(*<dxJoint>fff)v;
dJointSetPUAxisP(*<dxJoint>fff)v;
dJointSetPUParam(*<dxJoint>if)v;
dJointSetPistonAnchor(*<dxJoint>fff)v;
dJointSetPistonAnchorOffset(*<dxJoint>ffffff)v;
dJointSetPistonAxis(*<dxJoint>fff)v;
dJointSetPistonAxisDelta(*<dxJoint>ffffff)v;
dJointSetPistonParam(*<dxJoint>if)v;
dJointSetPlane2DAngleParam(*<dxJoint>if)v;
dJointSetPlane2DXParam(*<dxJoint>if)v;
dJointSetPlane2DYParam(*<dxJoint>if)v;
dJointSetSliderAxis(*<dxJoint>fff)v;
dJointSetSliderAxisDelta(*<dxJoint>ffffff)v;
dJointSetSliderParam(*<dxJoint>if)v;
dJointSetUniversalAnchor(*<dxJoint>fff)v;
dJointSetUniversalAxis1(*<dxJoint>fff)v;
dJointSetUniversalAxis1Offset(*<dxJoint>fffff)v;
dJointSetUniversalAxis2(*<dxJoint>fff)v;
dJointSetUniversalAxis2Offset(*<dxJoint>fffff)v;
dJointSetUniversalParam(*<dxJoint>if)v;
dLDLTAddTL(*f*f*fii)v;
dLDLTRemove(**i*f*fiiii)v;
dMakeRandomMatrix(*fiif)v;
dMakeRandomVector(*fif)v;
dMassAdd(*<dMass>*<dMass>)v;
dMassAdjust(*<dMass>f)v;
dMassCheck(*<dMass>)i;
dMassRotate(*<dMass>*f)v;
dMassSetBox(*<dMass>ffff)v;
dMassSetBoxTotal(*<dMass>ffff)v;
dMassSetCappedCylinder(*<dMass>fiff)v;
dMassSetCappedCylinderTotal(*<dMass>fiff)v;
dMassSetCapsule(*<dMass>fiff)v;
dMassSetCapsuleTotal(*<dMass>fiff)v;
dMassSetCylinder(*<dMass>fiff)v;
dMassSetCylinderTotal(*<dMass>fiff)v;
dMassSetParameters(*<dMass>ffffffffff)v;
dMassSetSphere(*<dMass>ff)v;
dMassSetSphereTotal(*<dMass>ff)v;
dMassSetTrimesh(*<dMass>f*<dxGeom>)v;
dMassSetTrimeshTotal(*<dMass>f*<dxGeom>)v;
dMassSetZero(*<dMass>)v;
dMassTranslate(*<dMass>fff)v;
dMaxDifference(*f*fii)f;
dMaxDifferenceLowerTriangle(*f*fi)f;
dMessage(i*c)v;
dMultiply0(*f*f*fiii)v;
dMultiply1(*f*f*fiii)v;
dMultiply2(*f*f*fiii)v;
dNormalize3(*f)v;
dNormalize4(*f)v;
dOrthogonalizeR(*f)v;
dPlaneSpace(*f*f*f)v;
dPrintMatrix(*fii*c*<__sFILE>)v;
dQFromAxisAndAngle(*fffff)v;
dQMultiply0(*f*f*f)v;
dQMultiply1(*f*f*f)v;
dQMultiply2(*f*f*f)v;
dQMultiply3(*f*f*f)v;
dQSetIdentity(*f)v;
dQfromR(*f*f)v;
dQuadTreeSpaceCreate(*<dxSpace>*f*fi)*<dxSpace>;
dRFrom2Axes(*fffffff)v;
dRFromAxisAndAngle(*fffff)v;
dRFromEulerAngles(*ffff)v;
dRFromZAxis(*ffff)v;
dRSetIdentity(*f)v;
dRand()J;
dRandGetSeed()J;
dRandInt(i)i;
dRandReal()f;
dRandSetSeed(J)v;
dRealloc(*vJJ)*v;
dRemoveRowCol(*fiii)v;
dRfromQ(*f*f)v;
dSafeNormalize3(*f)i;
dSafeNormalize4(*f)i;
dSetAllocHandler(*p)v;
dSetColliderOverride(ii*p)v;
dSetDebugHandler(*p)v;
dSetErrorHandler(*p)v;
dSetFreeHandler(*p)v;
dSetMessageHandler(*p)v;
dSetReallocHandler(*p)v;
dSetValue(*fif)v;
dSetZero(*fi)v;
dSimpleSpaceCreate(*<dxSpace>)*<dxSpace>;
dSolveCholesky(*f*fi)v;
dSolveL1(*f*fii)v;
dSolveL1T(*f*fii)v;
dSolveLDLT(*f*f*fii)v;
dSpaceAdd(*<dxSpace>*<dxGeom>)v;
dSpaceClean(*<dxSpace>)v;
dSpaceCollide(*<dxSpace>*v*p)v;
dSpaceCollide2(*<dxGeom>*<dxGeom>*v*p)v;
dSpaceDestroy(*<dxSpace>)v;
dSpaceGetClass(*<dxSpace>)i;
dSpaceGetCleanup(*<dxSpace>)i;
dSpaceGetGeom(*<dxSpace>i)*<dxGeom>;
dSpaceGetManualCleanup(*<dxSpace>)i;
dSpaceGetNumGeoms(*<dxSpace>)i;
dSpaceGetSublevel(*<dxSpace>)i;
dSpaceQuery(*<dxSpace>*<dxGeom>)i;
dSpaceRemove(*<dxSpace>*<dxGeom>)v;
dSpaceSetCleanup(*<dxSpace>i)v;
dSpaceSetManualCleanup(*<dxSpace>i)v;
dSpaceSetSublevel(*<dxSpace>i)v;
dStopwatchReset(*<dStopwatch>)v;
dStopwatchStart(*<dStopwatch>)v;
dStopwatchStop(*<dStopwatch>)v;
dStopwatchTime(*<dStopwatch>)d;
dSweepAndPruneSpaceCreate(*<dxSpace>i)*<dxSpace>;
dTestRand()i;
dTimerEnd()v;
dTimerNow(*c)v;
dTimerReport(*<__sFILE>i)v;
dTimerResolution()d;
dTimerStart(*c)v;
dTimerTicksPerSecond()d;
dVectorScale(*f*fi)v;
dWorldCreate()*<dxWorld>;
dWorldDestroy(*<dxWorld>)v;
dWorldExportDIF(*<dxWorld>*<__sFILE>*c)v;
dWorldGetAngularDamping(*<dxWorld>)f;
dWorldGetAngularDampingThreshold(*<dxWorld>)f;
dWorldGetAutoDisableAngularAverageThreshold(*<dxWorld>)f;
dWorldGetAutoDisableAngularThreshold(*<dxWorld>)f;
dWorldGetAutoDisableAverageSamplesCount(*<dxWorld>)i;
dWorldGetAutoDisableFlag(*<dxWorld>)i;
dWorldGetAutoDisableLinearAverageThreshold(*<dxWorld>)f;
dWorldGetAutoDisableLinearThreshold(*<dxWorld>)f;
dWorldGetAutoDisableSteps(*<dxWorld>)i;
dWorldGetAutoDisableTime(*<dxWorld>)f;
dWorldGetAutoEnableDepthSF1(*<dxWorld>)i;
dWorldGetCFM(*<dxWorld>)f;
dWorldGetContactMaxCorrectingVel(*<dxWorld>)f;
dWorldGetContactSurfaceLayer(*<dxWorld>)f;
dWorldGetERP(*<dxWorld>)f;
dWorldGetGravity(*<dxWorld>*f)v;
dWorldGetLinearDamping(*<dxWorld>)f;
dWorldGetLinearDampingThreshold(*<dxWorld>)f;
dWorldGetMaxAngularSpeed(*<dxWorld>)f;
dWorldGetQuickStepNumIterations(*<dxWorld>)i;
dWorldGetQuickStepW(*<dxWorld>)f;
dWorldImpulseToForce(*<dxWorld>ffff*f)v;
dWorldQuickStep(*<dxWorld>f)v;
dWorldSetAngularDamping(*<dxWorld>f)v;
dWorldSetAngularDampingThreshold(*<dxWorld>f)v;
dWorldSetAutoDisableAngularAverageThreshold(*<dxWorld>f)v;
dWorldSetAutoDisableAngularThreshold(*<dxWorld>f)v;
dWorldSetAutoDisableAverageSamplesCount(*<dxWorld>I)v;
dWorldSetAutoDisableFlag(*<dxWorld>i)v;
dWorldSetAutoDisableLinearAverageThreshold(*<dxWorld>f)v;
dWorldSetAutoDisableLinearThreshold(*<dxWorld>f)v;
dWorldSetAutoDisableSteps(*<dxWorld>i)v;
dWorldSetAutoDisableTime(*<dxWorld>f)v;
dWorldSetAutoEnableDepthSF1(*<dxWorld>i)v;
dWorldSetCFM(*<dxWorld>f)v;
dWorldSetContactMaxCorrectingVel(*<dxWorld>f)v;
dWorldSetContactSurfaceLayer(*<dxWorld>f)v;
dWorldSetDamping(*<dxWorld>ff)v;
dWorldSetERP(*<dxWorld>f)v;
dWorldSetGravity(*<dxWorld>fff)v;
dWorldSetLinearDamping(*<dxWorld>f)v;
dWorldSetLinearDampingThreshold(*<dxWorld>f)v;
dWorldSetMaxAngularSpeed(*<dxWorld>f)v;
dWorldSetQuickStepNumIterations(*<dxWorld>i)v;
dWorldSetQuickStepW(*<dxWorld>f)v;
dWorldStep(*<dxWorld>f)v;
dWorldStepFast1(*<dxWorld>fi)v;
")
parseStructInfos("
dGeomClass{i*p*p*p*p}bytes collider aabb aabb_test dtor ;
dxHeightfieldData{};
dxTriMeshData{};
dSurfaceParameters{ifffffffffff}mode mu mu2 bounce bounce_vel soft_erp soft_cfm motion1 motion2 motionN slip1 slip2 ;
dxJointGroup{};
dxJointNode{};
dxJoint{};
dxGeom{};
dxBody{};
dxSpace{};
dxWorld{};
")
dSphereClass=0;
dBoxClass=1;
dCapsuleClass=2;
dCylinderClass=3;
dPlaneClass=4;
dRayClass=5;
dConvexClass=6;
dGeomTransformClass=7;
dTriMeshClass=8;
dHeightfieldClass=9;
dFirstSpaceClass=10;
dSimpleSpaceClass=10;
dHashSpaceClass=11;
dSweepAndPruneSpaceClass=12;
dQuadTreeSpaceClass=13;
dLastSpaceClass=13;
dFirstUserClass=14;
dLastUserClass=17;
dGeomNumClasses=18;
dMaxUserClasses=4;
dContactMu2=1;
dContactFDir1=2;
dContactBounce=4;
dContactSoftERP=8;
dContactSoftCFM=16;
dContactMotion1=32;
dContactMotion2=64;
dContactMotionN=128;
dContactSlip1=256;
dContactSlip2=512;
dContactApprox0=0;
dContactApprox1_1=4096;
dContactApprox1_2=8192;
dContactApprox1=12288;
dAllocateFlagBasicData=0;
dAllocateFlagCollisionData=1;
dAllocateMaskAll=-1;
dInitFlagManualThreadCleanup=1;
dAMotorUser=0;
dAMotorEuler=1;
dParamLoStop=0;
dParamHiStop=1;
dParamVel=2;
dParamFMax=3;
dParamFudgeFactor=4;
dParamBounce=5;
dParamCFM=6;
dParamStopERP=7;
dParamStopCFM=8;
dParamSuspensionERP=9;
dParamSuspensionCFM=10;
dParamERP=11;
dParamsInGroup=12;
dParamGroup1=0;
dParamLoStop1=0;
dParamHiStop1=1;
dParamVel1=2;
dParamFMax1=3;
dParamFudgeFactor1=4;
dParamBounce1=5;
dParamCFM1=6;
dParamStopERP1=7;
dParamStopCFM1=8;
dParamSuspensionERP1=9;
dParamSuspensionCFM1=10;
dParamERP1=11;
dParamGroup2=256;
dParamLoStop2=256;
dParamHiStop2=257;
dParamVel2=258;
dParamFMax2=259;
dParamFudgeFactor2=260;
dParamBounce2=261;
dParamCFM2=262;
dParamStopERP2=263;
dParamStopCFM2=264;
dParamSuspensionERP2=265;
dParamSuspensionCFM2=266;
dParamERP2=267;
dParamGroup3=512;
dParamLoStop3=512;
dParamHiStop3=513;
dParamVel3=514;
dParamFMax3=515;
dParamFudgeFactor3=516;
dParamBounce3=517;
dParamCFM3=518;
dParamStopERP3=519;
dParamStopCFM3=520;
dParamSuspensionERP3=521;
dParamSuspensionCFM3=522;
dParamERP3=523;
dParamGroup=256;
dJointTypeNone=0;
dJointTypeBall=1;
dJointTypeHinge=2;
dJointTypeSlider=3;
dJointTypeContact=4;
dJointTypeUniversal=5;
dJointTypeHinge2=6;
dJointTypeFixed=7;
dJointTypeNull=8;
dJointTypeAMotor=9;
dJointTypeLMotor=10;
dJointTypePlane2D=11;
dJointTypePR=12;
dJointTypePU=13;
dJointTypePiston=14;
dCCylinderClass=dCapsuleClass
dCreateCCylinder=dCreateCapsule
dGeomCCylinderGetParams=dGeomCapsuleGetParams
dGeomCCylinderPointDepth=dGeomCapsulePointDepth
dGeomCCylinderSetParams=dGeomCapsuleSetParams