1 /* 2 3 Boost Software License - Version 1.0 - August 17th, 2003 4 5 Permission is hereby granted, free of charge, to any person or organization 6 obtaining a copy of the software and accompanying documentation covered by 7 this license (the "Software") to use, reproduce, display, distribute, 8 execute, and transmit the Software, and to prepare derivative works of the 9 Software, and to permit third-parties to whom the Software is furnished to 10 do so, all subject to the following: 11 12 The copyright notices in the Software and this entire statement, including 13 the above license grant, this restriction and the following disclaimer, 14 must be included in all copies of the Software, in whole or in part, and 15 all derivative works of the Software, unless such copies or derivative 16 works are solely in the form of machine-executable object code generated by 17 a source language processor. 18 19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 25 DEALINGS IN THE SOFTWARE. 26 27 */ 28 module derelict.ode.ode; 29 30 import derelict.util.loader, 31 derelict.util.system; 32 public { 33 import derelict.ode.types, 34 derelict.ode.functions; 35 } 36 37 class DerelictODELoader : SharedLibLoader { 38 this() 39 { 40 super(libNames); 41 } 42 43 protected override void loadSymbols() 44 { 45 bindFunc(cast(void**)&dGetConfiguration, "dGetConfiguration"); 46 bindFunc(cast(void**)&dCheckConfiguration, "dCheckConfiguration"); 47 bindFunc(cast(void**)&dGeomDestroy, "dGeomDestroy"); 48 bindFunc(cast(void**)&dGeomSetData, "dGeomSetData"); 49 bindFunc(cast(void**)&dGeomGetData, "dGeomGetData"); 50 bindFunc(cast(void**)&dGeomSetBody, "dGeomSetBody"); 51 bindFunc(cast(void**)&dGeomGetBody, "dGeomGetBody"); 52 bindFunc(cast(void**)&dGeomSetPosition, "dGeomSetPosition"); 53 bindFunc(cast(void**)&dGeomSetRotation, "dGeomSetRotation"); 54 bindFunc(cast(void**)&dGeomSetQuaternion, "dGeomSetQuaternion"); 55 bindFunc(cast(void**)&dGeomGetPosition, "dGeomGetPosition"); 56 bindFunc(cast(void**)&dGeomCopyPosition, "dGeomCopyPosition"); 57 bindFunc(cast(void**)&dGeomGetRotation, "dGeomGetRotation"); 58 bindFunc(cast(void**)&dGeomCopyRotation, "dGeomCopyRotation"); 59 bindFunc(cast(void**)&dGeomGetQuaternion, "dGeomGetQuaternion"); 60 bindFunc(cast(void**)&dGeomGetAABB, "dGeomGetAABB"); 61 bindFunc(cast(void**)&dGeomIsSpace, "dGeomIsSpace"); 62 bindFunc(cast(void**)&dGeomGetSpace, "dGeomGetSpace"); 63 bindFunc(cast(void**)&dGeomGetClass, "dGeomGetClass"); 64 bindFunc(cast(void**)&dGeomSetCategoryBits, "dGeomSetCategoryBits"); 65 bindFunc(cast(void**)&dGeomSetCollideBits, "dGeomSetCollideBits"); 66 bindFunc(cast(void**)&dGeomGetCategoryBits, "dGeomGetCategoryBits"); 67 bindFunc(cast(void**)&dGeomGetCollideBits, "dGeomGetCollideBits"); 68 bindFunc(cast(void**)&dGeomEnable, "dGeomEnable"); 69 bindFunc(cast(void**)&dGeomDisable, "dGeomDisable"); 70 bindFunc(cast(void**)&dGeomIsEnabled, "dGeomIsEnabled"); 71 bindFunc(cast(void**)&dGeomLowLevelControl, "dGeomLowLevelControl"); 72 bindFunc(cast(void**)&dGeomGetRelPointPos, "dGeomGetRelPointPos"); 73 bindFunc(cast(void**)&dGeomGetPosRelPoint, "dGeomGetPosRelPoint"); 74 bindFunc(cast(void**)&dGeomVectorToWorld, "dGeomVectorToWorld"); 75 bindFunc(cast(void**)&dGeomVectorFromWorld, "dGeomVectorFromWorld"); 76 bindFunc(cast(void**)&dGeomSetOffsetPosition, "dGeomSetOffsetPosition"); 77 bindFunc(cast(void**)&dGeomSetOffsetRotation, "dGeomSetOffsetRotation"); 78 bindFunc(cast(void**)&dGeomSetOffsetQuaternion, "dGeomSetOffsetQuaternion"); 79 bindFunc(cast(void**)&dGeomSetOffsetWorldPosition, "dGeomSetOffsetWorldPosition"); 80 bindFunc(cast(void**)&dGeomSetOffsetWorldRotation, "dGeomSetOffsetWorldRotation"); 81 bindFunc(cast(void**)&dGeomSetOffsetWorldQuaternion, "dGeomSetOffsetWorldQuaternion"); 82 bindFunc(cast(void**)&dGeomClearOffset, "dGeomClearOffset"); 83 bindFunc(cast(void**)&dGeomIsOffset, "dGeomIsOffset"); 84 bindFunc(cast(void**)&dGeomGetOffsetPosition, "dGeomGetOffsetPosition"); 85 bindFunc(cast(void**)&dGeomCopyOffsetPosition, "dGeomCopyOffsetPosition"); 86 bindFunc(cast(void**)&dGeomGetOffsetRotation, "dGeomGetOffsetRotation"); 87 bindFunc(cast(void**)&dGeomGetOffsetQuaternion, "dGeomGetOffsetQuaternion"); 88 bindFunc(cast(void**)&dCollide, "dCollide"); 89 bindFunc(cast(void**)&dSpaceCollide, "dSpaceCollide"); 90 bindFunc(cast(void**)&dSpaceCollide2, "dSpaceCollide2"); 91 bindFunc(cast(void**)&dCreateSphere, "dCreateSphere"); 92 bindFunc(cast(void**)&dGeomSphereSetRadius, "dGeomSphereSetRadius"); 93 bindFunc(cast(void**)&dGeomSphereGetRadius, "dGeomSphereGetRadius"); 94 bindFunc(cast(void**)&dGeomSpherePointDepth, "dGeomSpherePointDepth"); 95 bindFunc(cast(void**)&dCreateConvex, "dCreateConvex"); 96 bindFunc(cast(void**)&dGeomSetConvex, "dGeomSetConvex"); 97 bindFunc(cast(void**)&dCreateBox, "dCreateBox"); 98 bindFunc(cast(void**)&dGeomBoxSetLengths, "dGeomBoxSetLengths"); 99 bindFunc(cast(void**)&dGeomBoxGetLengths, "dGeomBoxGetLengths"); 100 bindFunc(cast(void**)&dGeomBoxPointDepth, "dGeomBoxPointDepth"); 101 bindFunc(cast(void**)&dCreatePlane, "dCreatePlane"); 102 bindFunc(cast(void**)&dGeomPlaneSetParams, "dGeomPlaneSetParams"); 103 bindFunc(cast(void**)&dGeomPlaneGetParams, "dGeomPlaneGetParams"); 104 bindFunc(cast(void**)&dGeomPlanePointDepth, "dGeomPlanePointDepth"); 105 bindFunc(cast(void**)&dCreateCapsule, "dCreateCapsule"); 106 bindFunc(cast(void**)&dGeomCapsuleSetParams, "dGeomCapsuleSetParams"); 107 bindFunc(cast(void**)&dGeomCapsuleGetParams, "dGeomCapsuleGetParams"); 108 bindFunc(cast(void**)&dGeomCapsulePointDepth, "dGeomCapsulePointDepth"); 109 bindFunc(cast(void**)&dCreateCylinder, "dCreateCylinder"); 110 bindFunc(cast(void**)&dGeomCylinderSetParams, "dGeomCylinderSetParams"); 111 bindFunc(cast(void**)&dGeomCylinderGetParams, "dGeomCylinderGetParams"); 112 bindFunc(cast(void**)&dCreateRay, "dCreateRay"); 113 bindFunc(cast(void**)&dGeomRaySetLength, "dGeomRaySetLength"); 114 bindFunc(cast(void**)&dGeomRayGetLength, "dGeomRayGetLength"); 115 bindFunc(cast(void**)&dGeomRaySet, "dGeomRaySet"); 116 bindFunc(cast(void**)&dGeomRayGet, "dGeomRayGet"); 117 bindFunc(cast(void**)&dGeomRaySetFirstContact, "dGeomRaySetFirstContact"); 118 bindFunc(cast(void**)&dGeomRayGetFirstContact, "dGeomRayGetFirstContact"); 119 bindFunc(cast(void**)&dGeomRaySetBackfaceCull, "dGeomRaySetBackfaceCull"); 120 bindFunc(cast(void**)&dGeomRayGetBackfaceCull, "dGeomRayGetBackfaceCull"); 121 bindFunc(cast(void**)&dGeomRaySetClosestHit, "dGeomRaySetClosestHit"); 122 bindFunc(cast(void**)&dGeomRayGetClosestHit, "dGeomRayGetClosestHit"); 123 bindFunc(cast(void**)&dCreateHeightfield, "dCreateHeightfield"); 124 bindFunc(cast(void**)&dGeomHeightfieldDataCreate, "dGeomHeightfieldDataCreate"); 125 bindFunc(cast(void**)&dGeomHeightfieldDataDestroy, "dGeomHeightfieldDataDestroy"); 126 bindFunc(cast(void**)&dGeomHeightfieldDataBuildCallback, "dGeomHeightfieldDataBuildCallback"); 127 bindFunc(cast(void**)&dGeomHeightfieldDataBuildByte, "dGeomHeightfieldDataBuildByte"); 128 bindFunc(cast(void**)&dGeomHeightfieldDataBuildShort, "dGeomHeightfieldDataBuildShort"); 129 bindFunc(cast(void**)&dGeomHeightfieldDataBuildSingle, "dGeomHeightfieldDataBuildSingle"); 130 bindFunc(cast(void**)&dGeomHeightfieldDataBuildDouble, "dGeomHeightfieldDataBuildDouble"); 131 bindFunc(cast(void**)&dGeomHeightfieldDataSetBounds, "dGeomHeightfieldDataSetBounds"); 132 bindFunc(cast(void**)&dGeomHeightfieldSetHeightfieldData, "dGeomHeightfieldSetHeightfieldData"); 133 bindFunc(cast(void**)&dGeomHeightfieldGetHeightfieldData, "dGeomHeightfieldGetHeightfieldData"); 134 bindFunc(cast(void**)&dClosestLineSegmentPoints, "dClosestLineSegmentPoints"); 135 bindFunc(cast(void**)&dBoxTouchesBox, "dBoxTouchesBox"); 136 bindFunc(cast(void**)&dBoxBox, "dBoxBox"); 137 //bindFunc(cast(void**)&dInfiniteAABB, "dInfiniteAABB"); 138 bindFunc(cast(void**)&dCreateGeomClass, "dCreateGeomClass"); 139 bindFunc(cast(void**)&dGeomGetClassData, "dGeomGetClassData"); 140 bindFunc(cast(void**)&dCreateGeom, "dCreateGeom"); 141 bindFunc(cast(void**)&dSetColliderOverride, "dSetColliderOverride"); 142 143 // collision_space.h 144 bindFunc(cast(void**)&dSimpleSpaceCreate, "dSimpleSpaceCreate"); 145 bindFunc(cast(void**)&dHashSpaceCreate, "dHashSpaceCreate"); 146 bindFunc(cast(void**)&dQuadTreeSpaceCreate, "dQuadTreeSpaceCreate"); 147 bindFunc(cast(void**)&dSweepAndPruneSpaceCreate, "dSweepAndPruneSpaceCreate"); 148 bindFunc(cast(void**)&dSpaceDestroy, "dSpaceDestroy"); 149 bindFunc(cast(void**)&dHashSpaceSetLevels, "dHashSpaceSetLevels"); 150 bindFunc(cast(void**)&dHashSpaceGetLevels, "dHashSpaceGetLevels"); 151 bindFunc(cast(void**)&dSpaceSetCleanup, "dSpaceSetCleanup"); 152 bindFunc(cast(void**)&dSpaceGetCleanup, "dSpaceGetCleanup"); 153 bindFunc(cast(void**)&dSpaceSetSublevel, "dSpaceSetSublevel"); 154 bindFunc(cast(void**)&dSpaceGetSublevel, "dSpaceGetSublevel"); 155 bindFunc(cast(void**)&dSpaceSetManualCleanup, "dSpaceSetManualCleanup"); 156 bindFunc(cast(void**)&dSpaceGetManualCleanup, "dSpaceGetManualCleanup"); 157 bindFunc(cast(void**)&dSpaceAdd, "dSpaceAdd"); 158 bindFunc(cast(void**)&dSpaceRemove, "dSpaceRemove"); 159 bindFunc(cast(void**)&dSpaceQuery, "dSpaceQuery"); 160 bindFunc(cast(void**)&dSpaceClean, "dSpaceClean"); 161 bindFunc(cast(void**)&dSpaceGetNumGeoms, "dSpaceGetNumGeoms"); 162 bindFunc(cast(void**)&dSpaceGetGeom, "dSpaceGetGeom"); 163 bindFunc(cast(void**)&dSpaceGetClass, "dSpaceGetClass"); 164 165 // collision_trimesh.h 166 bindFunc(cast(void**)&dGeomTriMeshDataCreate, "dGeomTriMeshDataCreate"); 167 bindFunc(cast(void**)&dGeomTriMeshDataDestroy, "dGeomTriMeshDataDestroy"); 168 bindFunc(cast(void**)&dGeomTriMeshDataSet, "dGeomTriMeshDataSet"); 169 bindFunc(cast(void**)&dGeomTriMeshDataGet, "dGeomTriMeshDataGet"); 170 bindFunc(cast(void**)&dGeomTriMeshDataGet2, "dGeomTriMeshDataGet2"); 171 bindFunc(cast(void**)&dGeomTriMeshSetLastTransform, "dGeomTriMeshSetLastTransform"); 172 bindFunc(cast(void**)&dGeomTriMeshGetLastTransform, "dGeomTriMeshGetLastTransform"); 173 bindFunc(cast(void**)&dGeomTriMeshDataBuildSingle, "dGeomTriMeshDataBuildSingle"); 174 bindFunc(cast(void**)&dGeomTriMeshDataBuildSingle1, "dGeomTriMeshDataBuildSingle1"); 175 bindFunc(cast(void**)&dGeomTriMeshDataBuildDouble, "dGeomTriMeshDataBuildDouble"); 176 bindFunc(cast(void**)&dGeomTriMeshDataBuildDouble1, "dGeomTriMeshDataBuildDouble1"); 177 bindFunc(cast(void**)&dGeomTriMeshDataBuildSimple, "dGeomTriMeshDataBuildSimple"); 178 bindFunc(cast(void**)&dGeomTriMeshDataBuildSimple1, "dGeomTriMeshDataBuildSimple1"); 179 bindFunc(cast(void**)&dGeomTriMeshDataPreprocess, "dGeomTriMeshDataPreprocess"); 180 bindFunc(cast(void**)&dGeomTriMeshSetCallback, "dGeomTriMeshSetCallback"); 181 bindFunc(cast(void**)&dGeomTriMeshGetCallback, "dGeomTriMeshGetCallback"); 182 bindFunc(cast(void**)&dGeomTriMeshSetArrayCallback, "dGeomTriMeshSetArrayCallback"); 183 bindFunc(cast(void**)&dGeomTriMeshGetArrayCallback, "dGeomTriMeshGetArrayCallback"); 184 bindFunc(cast(void**)&dGeomTriMeshSetRayCallback, "dGeomTriMeshSetRayCallback"); 185 bindFunc(cast(void**)&dGeomTriMeshGetRayCallback, "dGeomTriMeshGetRayCallback"); 186 bindFunc(cast(void**)&dGeomTriMeshSetTriMergeCallback, "dGeomTriMeshSetTriMergeCallback"); 187 bindFunc(cast(void**)&dGeomTriMeshGetTriMergeCallback, "dGeomTriMeshGetTriMergeCallback"); 188 bindFunc(cast(void**)&dCreateTriMesh, "dCreateTriMesh"); 189 bindFunc(cast(void**)&dGeomTriMeshSetData, "dGeomTriMeshSetData"); 190 bindFunc(cast(void**)&dGeomTriMeshGetData, "dGeomTriMeshGetData"); 191 bindFunc(cast(void**)&dGeomTriMeshEnableTC, "dGeomTriMeshEnableTC"); 192 bindFunc(cast(void**)&dGeomTriMeshIsTCEnabled, "dGeomTriMeshIsTCEnabled"); 193 bindFunc(cast(void**)&dGeomTriMeshClearTCCache, "dGeomTriMeshClearTCCache"); 194 bindFunc(cast(void**)&dGeomTriMeshGetTriMeshDataID, "dGeomTriMeshGetTriMeshDataID"); 195 bindFunc(cast(void**)&dGeomTriMeshGetTriangle, "dGeomTriMeshGetTriangle"); 196 bindFunc(cast(void**)&dGeomTriMeshGetPoint, "dGeomTriMeshGetPoint"); 197 bindFunc(cast(void**)&dGeomTriMeshGetTriangleCount, "dGeomTriMeshGetTriangleCount"); 198 bindFunc(cast(void**)&dGeomTriMeshDataUpdate, "dGeomTriMeshDataUpdate"); 199 200 // error.h 201 bindFunc(cast(void**)&dSetErrorHandler, "dSetErrorHandler"); 202 bindFunc(cast(void**)&dSetDebugHandler, "dSetDebugHandler"); 203 bindFunc(cast(void**)&dSetMessageHandler, "dSetMessageHandler"); 204 bindFunc(cast(void**)&dGetErrorHandler, "dGetErrorHandler"); 205 bindFunc(cast(void**)&dGetDebugHandler, "dGetDebugHandler"); 206 bindFunc(cast(void**)&dGetMessageHandler, "dGetMessageHandler"); 207 bindFunc(cast(void**)&dError, "dError"); 208 bindFunc(cast(void**)&dDebug, "dDebug"); 209 bindFunc(cast(void**)&dMessage, "dMessage"); 210 211 // export-dif.h - used to not load, loads fine now as it was made extern "C" 212 bindFunc(cast(void**)&dWorldExportDIF, "dWorldExportDIF"); 213 214 // mass.h 215 bindFunc(cast(void**)&dMassCheck, "dMassCheck"); 216 bindFunc(cast(void**)&dMassSetZero, "dMassSetZero"); 217 bindFunc(cast(void**)&dMassSetParameters, "dMassSetParameters"); 218 bindFunc(cast(void**)&dMassSetSphere, "dMassSetSphere"); 219 bindFunc(cast(void**)&dMassSetSphereTotal, "dMassSetSphereTotal"); 220 bindFunc(cast(void**)&dMassSetCapsule, "dMassSetCapsule"); 221 bindFunc(cast(void**)&dMassSetCapsuleTotal, "dMassSetCapsuleTotal"); 222 bindFunc(cast(void**)&dMassSetCylinder, "dMassSetCylinder"); 223 bindFunc(cast(void**)&dMassSetCylinderTotal, "dMassSetCylinderTotal"); 224 bindFunc(cast(void**)&dMassSetBox, "dMassSetBox"); 225 bindFunc(cast(void**)&dMassSetBoxTotal, "dMassSetBoxTotal"); 226 bindFunc(cast(void**)&dMassSetTrimesh, "dMassSetTrimesh"); 227 bindFunc(cast(void**)&dMassSetTrimeshTotal, "dMassSetTrimeshTotal"); 228 bindFunc(cast(void**)&dMassAdjust, "dMassAdjust"); 229 bindFunc(cast(void**)&dMassTranslate, "dMassTranslate"); 230 bindFunc(cast(void**)&dMassRotate, "dMassRotate"); 231 bindFunc(cast(void**)&dMassAdd, "dMassAdd"); 232 233 // matrix.h 234 bindFunc(cast(void**)&dSetZero, "dSetZero"); 235 bindFunc(cast(void**)&dSetValue, "dSetValue"); 236 bindFunc(cast(void**)&dDot, "dDot"); 237 bindFunc(cast(void**)&dMultiply0, "dMultiply0"); 238 bindFunc(cast(void**)&dMultiply1, "dMultiply1"); 239 bindFunc(cast(void**)&dMultiply2, "dMultiply2"); 240 bindFunc(cast(void**)&dFactorCholesky, "dFactorCholesky"); 241 bindFunc(cast(void**)&dSolveCholesky, "dSolveCholesky"); 242 bindFunc(cast(void**)&dInvertPDMatrix, "dInvertPDMatrix"); 243 bindFunc(cast(void**)&dIsPositiveDefinite, "dIsPositiveDefinite"); 244 bindFunc(cast(void**)&dFactorLDLT, "dFactorLDLT"); 245 bindFunc(cast(void**)&dSolveL1, "dSolveL1"); 246 bindFunc(cast(void**)&dSolveL1T, "dSolveL1T"); 247 bindFunc(cast(void**)&dVectorScale, "dVectorScale"); 248 bindFunc(cast(void**)&dSolveLDLT, "dSolveLDLT"); 249 bindFunc(cast(void**)&dLDLTAddTL, "dLDLTAddTL"); 250 bindFunc(cast(void**)&dLDLTRemove, "dLDLTRemove"); 251 bindFunc(cast(void**)&dRemoveRowCol, "dRemoveRowCol"); 252 253 // memory.h 254 bindFunc(cast(void**)&dSetAllocHandler, "dSetAllocHandler"); 255 bindFunc(cast(void**)&dSetReallocHandler, "dSetReallocHandler"); 256 bindFunc(cast(void**)&dSetFreeHandler, "dSetFreeHandler"); 257 bindFunc(cast(void**)&dGetAllocHandler, "dGetAllocHandler"); 258 bindFunc(cast(void**)&dGetReallocHandler, "dGetReallocHandler"); 259 bindFunc(cast(void**)&dGetFreeHandler, "dGetFreeHandler"); 260 bindFunc(cast(void**)&dAlloc, "dAlloc"); 261 bindFunc(cast(void**)&dRealloc, "dRealloc"); 262 bindFunc(cast(void**)&dFree, "dFree"); 263 264 // misc.h 265 bindFunc(cast(void**)&dTestRand, "dTestRand"); 266 bindFunc(cast(void**)&dRand, "dRand"); 267 bindFunc(cast(void**)&dRandGetSeed, "dRandGetSeed"); 268 bindFunc(cast(void**)&dRandSetSeed, "dRandSetSeed"); 269 bindFunc(cast(void**)&dRandInt, "dRandInt"); 270 bindFunc(cast(void**)&dRandReal, "dRandReal"); 271 //bindFunc(cast(void**)&dPrintMatrix, "dPrintMatrix"); 272 bindFunc(cast(void**)&dMakeRandomVector, "dMakeRandomVector"); 273 bindFunc(cast(void**)&dMakeRandomMatrix, "dMakeRandomMatrix"); 274 bindFunc(cast(void**)&dClearUpperTriangle, "dClearUpperTriangle"); 275 bindFunc(cast(void**)&dMaxDifference, "dMaxDifference"); 276 bindFunc(cast(void**)&dMaxDifferenceLowerTriangle, "dMaxDifferenceLowerTriangle"); 277 278 // objects.h 279 bindFunc(cast(void**)&dWorldCreate, "dWorldCreate"); 280 bindFunc(cast(void**)&dWorldDestroy, "dWorldDestroy"); 281 bindFunc(cast(void**)&dWorldSetData, "dWorldSetData"); 282 bindFunc(cast(void**)&dWorldGetData, "dWorldGetData"); 283 bindFunc(cast(void**)&dWorldSetGravity, "dWorldSetGravity"); 284 bindFunc(cast(void**)&dWorldGetGravity, "dWorldGetGravity"); 285 bindFunc(cast(void**)&dWorldSetERP, "dWorldSetERP"); 286 bindFunc(cast(void**)&dWorldGetERP, "dWorldGetERP"); 287 bindFunc(cast(void**)&dWorldSetCFM, "dWorldSetCFM"); 288 bindFunc(cast(void**)&dWorldGetCFM, "dWorldGetCFM"); 289 bindFunc(cast(void**)&dWorldUseSharedWorkingMemory, "dWorldUseSharedWorkingMemory"); 290 bindFunc(cast(void**)&dWorldSetStepIslandsProcessingMaxThreadCount, "dWorldSetStepIslandsProcessingMaxThreadCount"); 291 bindFunc(cast(void**)&dWorldGetStepIslandsProcessingMaxThreadCount, "dWorldGetStepIslandsProcessingMaxThreadCount"); 292 bindFunc(cast(void**)&dWorldCleanupWorkingMemory, "dWorldCleanupWorkingMemory"); 293 bindFunc(cast(void**)&dWorldSetStepMemoryReservationPolicy, "dWorldSetStepMemoryReservationPolicy"); 294 bindFunc(cast(void**)&dWorldSetStepMemoryManager, "dWorldSetStepMemoryManager"); 295 bindFunc(cast(void**)&dWorldSetStepThreadingImplementation, "dWorldSetStepThreadingImplementation"); 296 bindFunc(cast(void**)&dWorldStep, "dWorldStep"); 297 bindFunc(cast(void**)&dWorldImpulseToForce, "dWorldImpulseToForce"); 298 bindFunc(cast(void**)&dWorldQuickStep, "dWorldQuickStep"); 299 bindFunc(cast(void**)&dWorldSetQuickStepNumIterations, "dWorldSetQuickStepNumIterations"); 300 bindFunc(cast(void**)&dWorldGetQuickStepNumIterations, "dWorldGetQuickStepNumIterations"); 301 bindFunc(cast(void**)&dWorldSetQuickStepW, "dWorldSetQuickStepW"); 302 bindFunc(cast(void**)&dWorldGetQuickStepW, "dWorldGetQuickStepW"); 303 bindFunc(cast(void**)&dWorldSetContactMaxCorrectingVel, "dWorldSetContactMaxCorrectingVel"); 304 bindFunc(cast(void**)&dWorldGetContactMaxCorrectingVel, "dWorldGetContactMaxCorrectingVel"); 305 bindFunc(cast(void**)&dWorldSetContactSurfaceLayer, "dWorldSetContactSurfaceLayer"); 306 bindFunc(cast(void**)&dWorldGetContactSurfaceLayer, "dWorldGetContactSurfaceLayer"); 307 bindFunc(cast(void**)&dWorldGetAutoDisableLinearThreshold, "dWorldGetAutoDisableLinearThreshold"); 308 bindFunc(cast(void**)&dWorldSetAutoDisableLinearThreshold, "dWorldSetAutoDisableLinearThreshold"); 309 bindFunc(cast(void**)&dWorldGetAutoDisableAngularThreshold, "dWorldGetAutoDisableAngularThreshold"); 310 bindFunc(cast(void**)&dWorldSetAutoDisableAngularThreshold, "dWorldSetAutoDisableAngularThreshold"); 311 bindFunc(cast(void**)&dWorldGetAutoDisableAverageSamplesCount, "dWorldGetAutoDisableAverageSamplesCount"); 312 bindFunc(cast(void**)&dWorldSetAutoDisableAverageSamplesCount, "dWorldSetAutoDisableAverageSamplesCount"); 313 bindFunc(cast(void**)&dWorldGetAutoDisableSteps, "dWorldGetAutoDisableSteps"); 314 bindFunc(cast(void**)&dWorldSetAutoDisableSteps, "dWorldSetAutoDisableSteps"); 315 bindFunc(cast(void**)&dWorldGetAutoDisableTime, "dWorldGetAutoDisableTime"); 316 bindFunc(cast(void**)&dWorldSetAutoDisableTime, "dWorldSetAutoDisableTime"); 317 bindFunc(cast(void**)&dWorldGetAutoDisableFlag, "dWorldGetAutoDisableFlag"); 318 bindFunc(cast(void**)&dWorldSetAutoDisableFlag, "dWorldSetAutoDisableFlag"); 319 bindFunc(cast(void**)&dWorldGetLinearDampingThreshold, "dWorldGetLinearDampingThreshold"); 320 bindFunc(cast(void**)&dWorldSetLinearDampingThreshold, "dWorldSetLinearDampingThreshold"); 321 bindFunc(cast(void**)&dWorldGetAngularDampingThreshold, "dWorldGetAngularDampingThreshold"); 322 bindFunc(cast(void**)&dWorldSetAngularDampingThreshold, "dWorldSetAngularDampingThreshold"); 323 bindFunc(cast(void**)&dWorldGetLinearDamping, "dWorldGetLinearDamping"); 324 bindFunc(cast(void**)&dWorldSetLinearDamping, "dWorldSetLinearDamping"); 325 bindFunc(cast(void**)&dWorldGetAngularDamping, "dWorldGetAngularDamping"); 326 bindFunc(cast(void**)&dWorldSetAngularDamping, "dWorldSetAngularDamping"); 327 bindFunc(cast(void**)&dWorldSetDamping, "dWorldSetDamping"); 328 bindFunc(cast(void**)&dWorldGetMaxAngularSpeed, "dWorldGetMaxAngularSpeed"); 329 bindFunc(cast(void**)&dWorldSetMaxAngularSpeed, "dWorldSetMaxAngularSpeed"); 330 bindFunc(cast(void**)&dBodyGetAutoDisableLinearThreshold, "dBodyGetAutoDisableLinearThreshold"); 331 bindFunc(cast(void**)&dBodySetAutoDisableLinearThreshold, "dBodySetAutoDisableLinearThreshold"); 332 bindFunc(cast(void**)&dBodyGetAutoDisableAngularThreshold, "dBodyGetAutoDisableAngularThreshold"); 333 bindFunc(cast(void**)&dBodySetAutoDisableAngularThreshold, "dBodySetAutoDisableAngularThreshold"); 334 bindFunc(cast(void**)&dBodyGetAutoDisableAverageSamplesCount, "dBodyGetAutoDisableAverageSamplesCount"); 335 bindFunc(cast(void**)&dBodySetAutoDisableAverageSamplesCount, "dBodySetAutoDisableAverageSamplesCount"); 336 bindFunc(cast(void**)&dBodyGetAutoDisableSteps, "dBodyGetAutoDisableSteps"); 337 bindFunc(cast(void**)&dBodySetAutoDisableSteps, "dBodySetAutoDisableSteps"); 338 bindFunc(cast(void**)&dBodyGetAutoDisableTime, "dBodyGetAutoDisableTime"); 339 bindFunc(cast(void**)&dBodySetAutoDisableTime, "dBodySetAutoDisableTime"); 340 bindFunc(cast(void**)&dBodyGetAutoDisableFlag, "dBodyGetAutoDisableFlag"); 341 bindFunc(cast(void**)&dBodySetAutoDisableFlag, "dBodySetAutoDisableFlag"); 342 bindFunc(cast(void**)&dBodySetAutoDisableDefaults, "dBodySetAutoDisableDefaults"); 343 bindFunc(cast(void**)&dBodyGetWorld, "dBodyGetWorld"); 344 bindFunc(cast(void**)&dBodyCreate, "dBodyCreate"); 345 bindFunc(cast(void**)&dBodyDestroy, "dBodyDestroy"); 346 bindFunc(cast(void**)&dBodySetData, "dBodySetData"); 347 bindFunc(cast(void**)&dBodyGetData, "dBodyGetData"); 348 bindFunc(cast(void**)&dBodySetPosition, "dBodySetPosition"); 349 bindFunc(cast(void**)&dBodySetRotation, "dBodySetRotation"); 350 bindFunc(cast(void**)&dBodySetQuaternion, "dBodySetQuaternion"); 351 bindFunc(cast(void**)&dBodySetLinearVel, "dBodySetLinearVel"); 352 bindFunc(cast(void**)&dBodySetAngularVel, "dBodySetAngularVel"); 353 bindFunc(cast(void**)&dBodyGetPosition, "dBodyGetPosition"); 354 bindFunc(cast(void**)&dBodyCopyPosition, "dBodyCopyPosition"); 355 bindFunc(cast(void**)&dBodyGetRotation, "dBodyGetRotation"); 356 bindFunc(cast(void**)&dBodyCopyRotation, "dBodyCopyRotation"); 357 bindFunc(cast(void**)&dBodyGetQuaternion, "dBodyGetQuaternion"); 358 bindFunc(cast(void**)&dBodyCopyQuaternion, "dBodyCopyQuaternion"); 359 bindFunc(cast(void**)&dBodyGetLinearVel, "dBodyGetLinearVel"); 360 bindFunc(cast(void**)&dBodyGetAngularVel, "dBodyGetAngularVel"); 361 bindFunc(cast(void**)&dBodySetMass, "dBodySetMass"); 362 bindFunc(cast(void**)&dBodyGetMass, "dBodyGetMass"); 363 bindFunc(cast(void**)&dBodyAddForce, "dBodyAddForce"); 364 bindFunc(cast(void**)&dBodyAddTorque, "dBodyAddTorque"); 365 bindFunc(cast(void**)&dBodyAddRelForce, "dBodyAddRelForce"); 366 bindFunc(cast(void**)&dBodyAddRelTorque, "dBodyAddRelTorque"); 367 bindFunc(cast(void**)&dBodyAddForceAtPos, "dBodyAddForceAtPos"); 368 bindFunc(cast(void**)&dBodyAddForceAtRelPos, "dBodyAddForceAtRelPos"); 369 bindFunc(cast(void**)&dBodyAddRelForceAtPos, "dBodyAddRelForceAtPos"); 370 bindFunc(cast(void**)&dBodyAddRelForceAtRelPos, "dBodyAddRelForceAtRelPos"); 371 bindFunc(cast(void**)&dBodyGetForce, "dBodyGetForce"); 372 bindFunc(cast(void**)&dBodyGetTorque, "dBodyGetTorque"); 373 bindFunc(cast(void**)&dBodySetForce, "dBodySetForce"); 374 bindFunc(cast(void**)&dBodySetTorque, "dBodySetTorque"); 375 bindFunc(cast(void**)&dBodyGetRelPointPos, "dBodyGetRelPointPos"); 376 bindFunc(cast(void**)&dBodyGetRelPointVel, "dBodyGetRelPointVel"); 377 bindFunc(cast(void**)&dBodyGetPointVel, "dBodyGetPointVel"); 378 bindFunc(cast(void**)&dBodyGetPosRelPoint, "dBodyGetPosRelPoint"); 379 bindFunc(cast(void**)&dBodyVectorToWorld, "dBodyVectorToWorld"); 380 bindFunc(cast(void**)&dBodyVectorFromWorld, "dBodyVectorFromWorld"); 381 bindFunc(cast(void**)&dBodySetFiniteRotationMode, "dBodySetFiniteRotationMode"); 382 bindFunc(cast(void**)&dBodySetFiniteRotationAxis, "dBodySetFiniteRotationAxis"); 383 bindFunc(cast(void**)&dBodyGetFiniteRotationMode, "dBodyGetFiniteRotationMode"); 384 bindFunc(cast(void**)&dBodyGetFiniteRotationAxis, "dBodyGetFiniteRotationAxis"); 385 bindFunc(cast(void**)&dBodyGetNumJoints, "dBodyGetNumJoints"); 386 bindFunc(cast(void**)&dBodyGetJoint, "dBodyGetJoint"); 387 bindFunc(cast(void**)&dBodySetDynamic, "dBodySetDynamic"); 388 bindFunc(cast(void**)&dBodySetKinematic, "dBodySetKinematic"); 389 bindFunc(cast(void**)&dBodyIsKinematic, "dBodyIsKinematic"); 390 bindFunc(cast(void**)&dBodyEnable, "dBodyEnable"); 391 bindFunc(cast(void**)&dBodyDisable, "dBodyDisable"); 392 bindFunc(cast(void**)&dBodyIsEnabled, "dBodyIsEnabled"); 393 bindFunc(cast(void**)&dBodySetGravityMode, "dBodySetGravityMode"); 394 bindFunc(cast(void**)&dBodyGetGravityMode, "dBodyGetGravityMode"); 395 bindFunc(cast(void**)&dBodySetMovedCallback, "dBodySetMovedCallback"); 396 bindFunc(cast(void**)&dBodyGetFirstGeom, "dBodyGetFirstGeom"); 397 bindFunc(cast(void**)&dBodyGetNextGeom, "dBodyGetNextGeom"); 398 bindFunc(cast(void**)&dBodySetDampingDefaults, "dBodySetDampingDefaults"); 399 bindFunc(cast(void**)&dBodyGetLinearDamping, "dBodyGetLinearDamping"); 400 bindFunc(cast(void**)&dBodySetLinearDamping, "dBodySetLinearDamping"); 401 bindFunc(cast(void**)&dBodyGetAngularDamping, "dBodyGetAngularDamping"); 402 bindFunc(cast(void**)&dBodySetAngularDamping, "dBodySetAngularDamping"); 403 bindFunc(cast(void**)&dBodySetDamping, "dBodySetDamping"); 404 bindFunc(cast(void**)&dBodyGetLinearDampingThreshold, "dBodyGetLinearDampingThreshold"); 405 bindFunc(cast(void**)&dBodySetLinearDampingThreshold, "dBodySetLinearDampingThreshold"); 406 bindFunc(cast(void**)&dBodyGetAngularDampingThreshold, "dBodyGetAngularDampingThreshold"); 407 bindFunc(cast(void**)&dBodySetAngularDampingThreshold, "dBodySetAngularDampingThreshold"); 408 bindFunc(cast(void**)&dBodyGetMaxAngularSpeed, "dBodyGetMaxAngularSpeed"); 409 bindFunc(cast(void**)&dBodySetMaxAngularSpeed, "dBodySetMaxAngularSpeed"); 410 bindFunc(cast(void**)&dBodyGetGyroscopicMode, "dBodyGetGyroscopicMode"); 411 bindFunc(cast(void**)&dBodySetGyroscopicMode, "dBodySetGyroscopicMode"); 412 bindFunc(cast(void**)&dJointCreateBall, "dJointCreateBall"); 413 bindFunc(cast(void**)&dJointCreateHinge, "dJointCreateHinge"); 414 bindFunc(cast(void**)&dJointCreateSlider, "dJointCreateSlider"); 415 bindFunc(cast(void**)&dJointCreateContact, "dJointCreateContact"); 416 bindFunc(cast(void**)&dJointCreateHinge2, "dJointCreateHinge2"); 417 bindFunc(cast(void**)&dJointCreateUniversal, "dJointCreateUniversal"); 418 bindFunc(cast(void**)&dJointCreatePR, "dJointCreatePR"); 419 bindFunc(cast(void**)&dJointCreatePU, "dJointCreatePU"); 420 bindFunc(cast(void**)&dJointCreatePiston, "dJointCreatePiston"); 421 bindFunc(cast(void**)&dJointCreateFixed, "dJointCreateFixed"); 422 bindFunc(cast(void**)&dJointCreateNull, "dJointCreateNull"); 423 bindFunc(cast(void**)&dJointCreateAMotor, "dJointCreateAMotor"); 424 bindFunc(cast(void**)&dJointCreateLMotor, "dJointCreateLMotor"); 425 bindFunc(cast(void**)&dJointCreatePlane2D, "dJointCreatePlane2D"); 426 bindFunc(cast(void**)&dJointCreateDBall, "dJointCreateDBall"); 427 bindFunc(cast(void**)&dJointCreateDHinge, "dJointCreateDHinge"); 428 bindFunc(cast(void**)&dJointCreateTransmission, "dJointCreateTransmission"); 429 bindFunc(cast(void**)&dJointDestroy, "dJointDestroy"); 430 bindFunc(cast(void**)&dJointGroupCreate, "dJointGroupCreate"); 431 bindFunc(cast(void**)&dJointGroupDestroy, "dJointGroupDestroy"); 432 bindFunc(cast(void**)&dJointGroupEmpty, "dJointGroupEmpty"); 433 bindFunc(cast(void**)&dJointGetNumBodies, "dJointGetNumBodies"); 434 bindFunc(cast(void**)&dJointAttach, "dJointAttach"); 435 bindFunc(cast(void**)&dJointEnable, "dJointEnable"); 436 bindFunc(cast(void**)&dJointDisable, "dJointDisable"); 437 bindFunc(cast(void**)&dJointIsEnabled, "dJointIsEnabled"); 438 bindFunc(cast(void**)&dJointSetData, "dJointSetData"); 439 bindFunc(cast(void**)&dJointGetData, "dJointGetData"); 440 bindFunc(cast(void**)&dJointGetType, "dJointGetType"); 441 bindFunc(cast(void**)&dJointGetBody, "dJointGetBody"); 442 bindFunc(cast(void**)&dJointSetFeedback, "dJointSetFeedback"); 443 bindFunc(cast(void**)&dJointGetFeedback, "dJointGetFeedback"); 444 bindFunc(cast(void**)&dJointSetBallAnchor, "dJointSetBallAnchor"); 445 bindFunc(cast(void**)&dJointSetBallAnchor2, "dJointSetBallAnchor2"); 446 bindFunc(cast(void**)&dJointSetBallParam, "dJointSetBallParam"); 447 bindFunc(cast(void**)&dJointSetHingeAnchor, "dJointSetHingeAnchor"); 448 bindFunc(cast(void**)&dJointSetHingeAnchorDelta, "dJointSetHingeAnchorDelta"); 449 bindFunc(cast(void**)&dJointSetHingeAxis, "dJointSetHingeAxis"); 450 bindFunc(cast(void**)&dJointSetHingeAxisOffset, "dJointSetHingeAxisOffset"); 451 bindFunc(cast(void**)&dJointSetHingeParam, "dJointSetHingeParam"); 452 bindFunc(cast(void**)&dJointAddHingeTorque, "dJointAddHingeTorque"); 453 bindFunc(cast(void**)&dJointSetSliderAxis, "dJointSetSliderAxis"); 454 bindFunc(cast(void**)&dJointSetSliderAxisDelta, "dJointSetSliderAxisDelta"); 455 bindFunc(cast(void**)&dJointSetSliderParam, "dJointSetSliderParam"); 456 bindFunc(cast(void**)&dJointAddSliderForce, "dJointAddSliderForce"); 457 bindFunc(cast(void**)&dJointSetHinge2Anchor, "dJointSetHinge2Anchor"); 458 bindFunc(cast(void**)&dJointSetHinge2Axes, "dJointSetHinge2Axes"); 459 bindFunc(cast(void**)&dJointSetHinge2Param, "dJointSetHinge2Param"); 460 bindFunc(cast(void**)&dJointAddHinge2Torques, "dJointAddHinge2Torques"); 461 bindFunc(cast(void**)&dJointSetUniversalAnchor, "dJointSetUniversalAnchor"); 462 bindFunc(cast(void**)&dJointSetUniversalAxis1, "dJointSetUniversalAxis1"); 463 bindFunc(cast(void**)&dJointSetUniversalAxis1Offset, "dJointSetUniversalAxis1Offset"); 464 bindFunc(cast(void**)&dJointSetUniversalAxis2, "dJointSetUniversalAxis2"); 465 bindFunc(cast(void**)&dJointSetUniversalAxis2Offset, "dJointSetUniversalAxis2Offset"); 466 bindFunc(cast(void**)&dJointSetUniversalParam, "dJointSetUniversalParam"); 467 bindFunc(cast(void**)&dJointAddUniversalTorques, "dJointAddUniversalTorques"); 468 bindFunc(cast(void**)&dJointSetPRAnchor, "dJointSetPRAnchor"); 469 bindFunc(cast(void**)&dJointSetPRAxis1, "dJointSetPRAxis1"); 470 bindFunc(cast(void**)&dJointSetPRAxis2, "dJointSetPRAxis2"); 471 bindFunc(cast(void**)&dJointSetPRParam, "dJointSetPRParam"); 472 bindFunc(cast(void**)&dJointAddPRTorque, "dJointAddPRTorque"); 473 bindFunc(cast(void**)&dJointSetPUAnchor, "dJointSetPUAnchor"); 474 bindFunc(cast(void**)&dJointSetPUAnchorOffset, "dJointSetPUAnchorOffset"); 475 bindFunc(cast(void**)&dJointSetPUAxis1, "dJointSetPUAxis1"); 476 bindFunc(cast(void**)&dJointSetPUAxis2, "dJointSetPUAxis2"); 477 bindFunc(cast(void**)&dJointSetPUAxis3, "dJointSetPUAxis3"); 478 bindFunc(cast(void**)&dJointSetPUAxisP, "dJointSetPUAxisP"); 479 bindFunc(cast(void**)&dJointSetPUParam, "dJointSetPUParam"); 480 bindFunc(cast(void**)&dJointSetPistonAnchor, "dJointSetPistonAnchor"); 481 bindFunc(cast(void**)&dJointSetPistonAnchorOffset, "dJointSetPistonAnchorOffset"); 482 bindFunc(cast(void**)&dJointSetPistonAxis, "dJointSetPistonAxis"); 483 bindFunc(cast(void**)&dJointSetPistonParam, "dJointSetPistonParam"); 484 bindFunc(cast(void**)&dJointAddPistonForce, "dJointAddPistonForce"); 485 bindFunc(cast(void**)&dJointSetFixed, "dJointSetFixed"); 486 bindFunc(cast(void**)&dJointSetFixedParam, "dJointSetFixedParam"); 487 bindFunc(cast(void**)&dJointSetAMotorNumAxes, "dJointSetAMotorNumAxes"); 488 bindFunc(cast(void**)&dJointSetAMotorAxis, "dJointSetAMotorAxis"); 489 bindFunc(cast(void**)&dJointSetAMotorAngle, "dJointSetAMotorAngle"); 490 bindFunc(cast(void**)&dJointSetAMotorParam, "dJointSetAMotorParam"); 491 bindFunc(cast(void**)&dJointSetAMotorMode, "dJointSetAMotorMode"); 492 bindFunc(cast(void**)&dJointAddAMotorTorques, "dJointAddAMotorTorques"); 493 bindFunc(cast(void**)&dJointSetLMotorNumAxes, "dJointSetLMotorNumAxes"); 494 bindFunc(cast(void**)&dJointSetLMotorAxis, "dJointSetLMotorAxis"); 495 bindFunc(cast(void**)&dJointSetLMotorParam, "dJointSetLMotorParam"); 496 bindFunc(cast(void**)&dJointSetPlane2DXParam, "dJointSetPlane2DXParam"); 497 bindFunc(cast(void**)&dJointSetPlane2DYParam, "dJointSetPlane2DYParam"); 498 bindFunc(cast(void**)&dJointSetPlane2DAngleParam, "dJointSetPlane2DAngleParam"); 499 bindFunc(cast(void**)&dJointGetBallAnchor, "dJointGetBallAnchor"); 500 bindFunc(cast(void**)&dJointGetBallAnchor2, "dJointGetBallAnchor2"); 501 bindFunc(cast(void**)&dJointGetBallParam, "dJointGetBallParam"); 502 bindFunc(cast(void**)&dJointGetHingeAnchor, "dJointGetHingeAnchor"); 503 bindFunc(cast(void**)&dJointGetHingeAnchor2, "dJointGetHingeAnchor2"); 504 bindFunc(cast(void**)&dJointGetHingeAxis, "dJointGetHingeAxis"); 505 bindFunc(cast(void**)&dJointGetHingeParam, "dJointGetHingeParam"); 506 bindFunc(cast(void**)&dJointGetHingeAngle, "dJointGetHingeAngle"); 507 bindFunc(cast(void**)&dJointGetHingeAngleRate, "dJointGetHingeAngleRate"); 508 bindFunc(cast(void**)&dJointGetSliderPosition, "dJointGetSliderPosition"); 509 bindFunc(cast(void**)&dJointGetSliderPositionRate, "dJointGetSliderPositionRate"); 510 bindFunc(cast(void**)&dJointGetSliderAxis, "dJointGetSliderAxis"); 511 bindFunc(cast(void**)&dJointGetSliderParam, "dJointGetSliderParam"); 512 bindFunc(cast(void**)&dJointGetHinge2Anchor, "dJointGetHinge2Anchor"); 513 bindFunc(cast(void**)&dJointGetHinge2Anchor2, "dJointGetHinge2Anchor2"); 514 bindFunc(cast(void**)&dJointGetHinge2Axis1, "dJointGetHinge2Axis1"); 515 bindFunc(cast(void**)&dJointGetHinge2Axis2, "dJointGetHinge2Axis2"); 516 bindFunc(cast(void**)&dJointGetHinge2Param, "dJointGetHinge2Param"); 517 bindFunc(cast(void**)&dJointGetHinge2Angle1, "dJointGetHinge2Angle1"); 518 bindFunc(cast(void**)&dJointGetHinge2Angle2, "dJointGetHinge2Angle2"); 519 bindFunc(cast(void**)&dJointGetHinge2Angle1Rate, "dJointGetHinge2Angle1Rate"); 520 bindFunc(cast(void**)&dJointGetHinge2Angle2Rate, "dJointGetHinge2Angle2Rate"); 521 bindFunc(cast(void**)&dJointGetUniversalAnchor, "dJointGetUniversalAnchor"); 522 bindFunc(cast(void**)&dJointGetUniversalAnchor2, "dJointGetUniversalAnchor2"); 523 bindFunc(cast(void**)&dJointGetUniversalAxis1, "dJointGetUniversalAxis1"); 524 bindFunc(cast(void**)&dJointGetUniversalAxis2, "dJointGetUniversalAxis2"); 525 bindFunc(cast(void**)&dJointGetUniversalParam, "dJointGetUniversalParam"); 526 bindFunc(cast(void**)&dJointGetUniversalAngles, "dJointGetUniversalAngles"); 527 bindFunc(cast(void**)&dJointGetUniversalAngle1, "dJointGetUniversalAngle1"); 528 bindFunc(cast(void**)&dJointGetUniversalAngle2, "dJointGetUniversalAngle2"); 529 bindFunc(cast(void**)&dJointGetUniversalAngle1Rate, "dJointGetUniversalAngle1Rate"); 530 bindFunc(cast(void**)&dJointGetUniversalAngle2Rate, "dJointGetUniversalAngle2Rate"); 531 bindFunc(cast(void**)&dJointGetPRAnchor, "dJointGetPRAnchor"); 532 bindFunc(cast(void**)&dJointGetPRPosition, "dJointGetPRPosition"); 533 bindFunc(cast(void**)&dJointGetPRPositionRate, "dJointGetPRPositionRate"); 534 bindFunc(cast(void**)&dJointGetPRAngle, "dJointGetPRAngle"); 535 bindFunc(cast(void**)&dJointGetPRAngleRate, "dJointGetPRAngleRate"); 536 bindFunc(cast(void**)&dJointGetPRAxis1, "dJointGetPRAxis1"); 537 bindFunc(cast(void**)&dJointGetPRAxis2, "dJointGetPRAxis2"); 538 bindFunc(cast(void**)&dJointGetPRParam, "dJointGetPRParam"); 539 bindFunc(cast(void**)&dJointGetPUAnchor, "dJointGetPUAnchor"); 540 bindFunc(cast(void**)&dJointGetPUPosition, "dJointGetPUPosition"); 541 bindFunc(cast(void**)&dJointGetPUPositionRate, "dJointGetPUPositionRate"); 542 bindFunc(cast(void**)&dJointGetPUAxis1, "dJointGetPUAxis1"); 543 bindFunc(cast(void**)&dJointGetPUAxis2, "dJointGetPUAxis2"); 544 bindFunc(cast(void**)&dJointGetPUAxis3, "dJointGetPUAxis3"); 545 bindFunc(cast(void**)&dJointGetPUAxisP, "dJointGetPUAxisP"); 546 bindFunc(cast(void**)&dJointGetPUAngles, "dJointGetPUAngles"); 547 bindFunc(cast(void**)&dJointGetPUAngle1, "dJointGetPUAngle1"); 548 bindFunc(cast(void**)&dJointGetPUAngle1Rate, "dJointGetPUAngle1Rate"); 549 bindFunc(cast(void**)&dJointGetPUAngle2, "dJointGetPUAngle2"); 550 bindFunc(cast(void**)&dJointGetPUAngle2Rate, "dJointGetPUAngle2Rate"); 551 bindFunc(cast(void**)&dJointGetPUParam, "dJointGetPUParam"); 552 bindFunc(cast(void**)&dJointGetPistonPosition, "dJointGetPistonPosition"); 553 bindFunc(cast(void**)&dJointGetPistonPositionRate, "dJointGetPistonPositionRate"); 554 bindFunc(cast(void**)&dJointGetPistonAngle, "dJointGetPistonAngle"); 555 bindFunc(cast(void**)&dJointGetPistonAngleRate, "dJointGetPistonAngleRate"); 556 bindFunc(cast(void**)&dJointGetPistonAnchor, "dJointGetPistonAnchor"); 557 bindFunc(cast(void**)&dJointGetPistonAnchor2, "dJointGetPistonAnchor2"); 558 bindFunc(cast(void**)&dJointGetPistonAxis, "dJointGetPistonAxis"); 559 bindFunc(cast(void**)&dJointGetPistonParam, "dJointGetPistonParam"); 560 bindFunc(cast(void**)&dJointGetAMotorNumAxes, "dJointGetAMotorNumAxes"); 561 bindFunc(cast(void**)&dJointGetAMotorAxis, "dJointGetAMotorAxis"); 562 bindFunc(cast(void**)&dJointGetAMotorAxisRel, "dJointGetAMotorAxisRel"); 563 bindFunc(cast(void**)&dJointGetAMotorAngle, "dJointGetAMotorAngle"); 564 bindFunc(cast(void**)&dJointGetAMotorAngleRate, "dJointGetAMotorAngleRate"); 565 bindFunc(cast(void**)&dJointGetAMotorParam, "dJointGetAMotorParam"); 566 bindFunc(cast(void**)&dJointGetAMotorMode, "dJointGetAMotorMode"); 567 bindFunc(cast(void**)&dJointGetLMotorNumAxes, "dJointGetLMotorNumAxes"); 568 bindFunc(cast(void**)&dJointGetLMotorAxis, "dJointGetLMotorAxis"); 569 bindFunc(cast(void**)&dJointGetLMotorParam, "dJointGetLMotorParam"); 570 bindFunc(cast(void**)&dJointGetFixedParam, "dJointGetFixedParam"); 571 bindFunc(cast(void**)&dJointGetTransmissionContactPoint1, "dJointGetTransmissionContactPoint1"); 572 bindFunc(cast(void**)&dJointGetTransmissionContactPoint2, "dJointGetTransmissionContactPoint2"); 573 bindFunc(cast(void**)&dJointSetTransmissionAxis1, "dJointSetTransmissionAxis1"); 574 bindFunc(cast(void**)&dJointGetTransmissionAxis1, "dJointGetTransmissionAxis1"); 575 bindFunc(cast(void**)&dJointSetTransmissionAxis2, "dJointSetTransmissionAxis2"); 576 bindFunc(cast(void**)&dJointGetTransmissionAxis2, "dJointGetTransmissionAxis2"); 577 bindFunc(cast(void**)&dJointSetTransmissionAnchor1, "dJointSetTransmissionAnchor1"); 578 bindFunc(cast(void**)&dJointGetTransmissionAnchor1, "dJointGetTransmissionAnchor1"); 579 bindFunc(cast(void**)&dJointSetTransmissionAnchor2, "dJointSetTransmissionAnchor2"); 580 bindFunc(cast(void**)&dJointGetTransmissionAnchor2, "dJointGetTransmissionAnchor2"); 581 bindFunc(cast(void**)&dJointSetTransmissionParam, "dJointSetTransmissionParam"); 582 bindFunc(cast(void**)&dJointGetTransmissionParam, "dJointGetTransmissionParam"); 583 bindFunc(cast(void**)&dJointSetTransmissionMode, "dJointSetTransmissionMode"); 584 bindFunc(cast(void**)&dJointGetTransmissionMode, "dJointGetTransmissionMode"); 585 bindFunc(cast(void**)&dJointSetTransmissionRatio, "dJointSetTransmissionRatio"); 586 bindFunc(cast(void**)&dJointGetTransmissionRatio, "dJointGetTransmissionRatio"); 587 bindFunc(cast(void**)&dJointSetTransmissionAxis, "dJointSetTransmissionAxis"); 588 bindFunc(cast(void**)&dJointGetTransmissionAxis, "dJointGetTransmissionAxis"); 589 bindFunc(cast(void**)&dJointGetTransmissionAngle1, "dJointGetTransmissionAngle1"); 590 bindFunc(cast(void**)&dJointGetTransmissionAngle2, "dJointGetTransmissionAngle2"); 591 bindFunc(cast(void**)&dJointGetTransmissionRadius1, "dJointGetTransmissionRadius1"); 592 bindFunc(cast(void**)&dJointGetTransmissionRadius2, "dJointGetTransmissionRadius2"); 593 bindFunc(cast(void**)&dJointSetTransmissionRadius1, "dJointSetTransmissionRadius1"); 594 bindFunc(cast(void**)&dJointSetTransmissionRadius2, "dJointSetTransmissionRadius2"); 595 bindFunc(cast(void**)&dJointGetTransmissionBacklash, "dJointGetTransmissionBacklash"); 596 bindFunc(cast(void**)&dJointSetTransmissionBacklash, "dJointSetTransmissionBacklash"); 597 bindFunc(cast(void**)&dJointSetDBallAnchor1, "dJointSetDBallAnchor1"); 598 bindFunc(cast(void**)&dJointSetDBallAnchor2, "dJointSetDBallAnchor2"); 599 bindFunc(cast(void**)&dJointGetDBallAnchor1, "dJointGetDBallAnchor1"); 600 bindFunc(cast(void**)&dJointGetDBallAnchor2, "dJointGetDBallAnchor2"); 601 bindFunc(cast(void**)&dJointGetDBallDistance, "dJointGetDBallDistance"); 602 bindFunc(cast(void**)&dJointSetDBallParam, "dJointSetDBallParam"); 603 bindFunc(cast(void**)&dJointGetDBallParam, "dJointGetDBallParam"); 604 bindFunc(cast(void**)&dJointSetDHingeAxis, "dJointSetDHingeAxis"); 605 bindFunc(cast(void**)&dJointGetDHingeAxis, "dJointGetDHingeAxis"); 606 bindFunc(cast(void**)&dJointSetDHingeAnchor1, "dJointSetDHingeAnchor1"); 607 bindFunc(cast(void**)&dJointSetDHingeAnchor2, "dJointSetDHingeAnchor2"); 608 bindFunc(cast(void**)&dJointGetDHingeAnchor1, "dJointGetDHingeAnchor1"); 609 bindFunc(cast(void**)&dJointGetDHingeAnchor2, "dJointGetDHingeAnchor2"); 610 bindFunc(cast(void**)&dJointGetDHingeDistance, "dJointGetDHingeDistance"); 611 bindFunc(cast(void**)&dJointSetDHingeParam, "dJointSetDHingeParam"); 612 bindFunc(cast(void**)&dJointGetDHingeParam, "dJointGetDHingeParam"); 613 bindFunc(cast(void**)&dConnectingJoint, "dConnectingJoint"); 614 bindFunc(cast(void**)&dConnectingJointList, "dConnectingJointList"); 615 bindFunc(cast(void**)&dAreConnected, "dAreConnected"); 616 bindFunc(cast(void**)&dAreConnectedExcluding, "dAreConnectedExcluding"); 617 618 // odeinit.h 619 bindFunc(cast(void**)&dInitODE, "dInitODE"); 620 bindFunc(cast(void**)&dInitODE2, "dInitODE2"); 621 bindFunc(cast(void**)&dAllocateODEDataForThread, "dAllocateODEDataForThread"); 622 bindFunc(cast(void**)&dCleanupODEAllDataForThread, "dCleanupODEAllDataForThread"); 623 bindFunc(cast(void**)&dCloseODE, "dCloseODE"); 624 625 // odemath.h 626 bindFunc(cast(void**)&dSafeNormalize3, "dSafeNormalize3"); 627 bindFunc(cast(void**)&dSafeNormalize4, "dSafeNormalize4"); 628 bindFunc(cast(void**)&dNormalize3, "dNormalize3"); 629 bindFunc(cast(void**)&dNormalize4, "dNormalize4"); 630 bindFunc(cast(void**)&dPlaneSpace, "dPlaneSpace"); 631 bindFunc(cast(void**)&dOrthogonalizeR, "dOrthogonalizeR"); 632 633 // rotation.h 634 bindFunc(cast(void**)&dRSetIdentity, "dRSetIdentity"); 635 bindFunc(cast(void**)&dRFromAxisAndAngle, "dRFromAxisAndAngle"); 636 bindFunc(cast(void**)&dRFromEulerAngles, "dRFromEulerAngles"); 637 bindFunc(cast(void**)&dRFrom2Axes, "dRFrom2Axes"); 638 bindFunc(cast(void**)&dRFromZAxis, "dRFromZAxis"); 639 bindFunc(cast(void**)&dQSetIdentity, "dQSetIdentity"); 640 bindFunc(cast(void**)&dQFromAxisAndAngle, "dQFromAxisAndAngle"); 641 bindFunc(cast(void**)&dQMultiply0, "dQMultiply0"); 642 bindFunc(cast(void**)&dQMultiply1, "dQMultiply1"); 643 bindFunc(cast(void**)&dQMultiply2, "dQMultiply2"); 644 bindFunc(cast(void**)&dQMultiply3, "dQMultiply3"); 645 bindFunc(cast(void**)&dRfromQ, "dRfromQ"); 646 bindFunc(cast(void**)&dQfromR, "dQfromR"); 647 bindFunc(cast(void**)&dDQfromW, "dDQfromW"); 648 649 // timer.h 650 bindFunc(cast(void**)&dStopwatchReset, "dStopwatchReset"); 651 bindFunc(cast(void**)&dStopwatchStart, "dStopwatchStart"); 652 bindFunc(cast(void**)&dStopwatchStop, "dStopwatchStop"); 653 bindFunc(cast(void**)&dStopwatchTime, "dStopwatchTime"); 654 bindFunc(cast(void**)&dTimerStart, "dTimerStart"); 655 bindFunc(cast(void**)&dTimerNow, "dTimerNow"); 656 bindFunc(cast(void**)&dTimerEnd, "dTimerEnd"); 657 bindFunc(cast(void**)&dTimerReport, "dTimerReport"); 658 bindFunc(cast(void**)&dTimerTicksPerSecond, "dTimerTicksPerSecond"); 659 bindFunc(cast(void**)&dTimerResolution, "dTimerResolution"); 660 } 661 } 662 663 __gshared DerelictODELoader DerelictODE; 664 665 shared static this() 666 { 667 DerelictODE = new DerelictODELoader(); 668 } 669 670 private: 671 static if(Derelict_OS_Windows) { 672 static if(dDOUBLE) 673 enum libNames = "ode_double.dll,ode_doubled.dll,ode.dll"; 674 else 675 enum libNames = "ode_single.dll,ode_singled.dll,ode.dll"; 676 } 677 else static if(Derelict_OS_Mac) { 678 static if(dDOUBLE) 679 enum libNames = "libode_double.dylib,libode_doubled.dylib,libode.dylib"; 680 else 681 enum libNames = "libode_single.dylib,libode_singled.dylib,libode.dylib"; 682 } 683 else static if(Derelict_OS_Posix) { 684 static if(dDOUBLE) 685 enum libNames = "libode-double.so,libode_double.so,libode_doubled.so,libode.so,libode.so.3"; 686 else 687 enum libNames = "libode_single.so,libode_singled.so,libode.so,libode.so.3"; 688 } 689 else 690 static assert(0, "Need to implement ODE libNames for this operating system.");