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 module bindbc.newton.funcs;
28 
29 import bindbc.newton.types;
30 
31 extern(C) @nogc nothrow __gshared
32 {
33     alias da_NewtonWorldGetVersion =  int function();
34     da_NewtonWorldGetVersion NewtonWorldGetVersion;
35 
36     alias da_NewtonWorldFloatSize =  int function();
37     da_NewtonWorldFloatSize NewtonWorldFloatSize;
38 
39     alias da_NewtonGetMemoryUsed =  int function();
40     da_NewtonGetMemoryUsed NewtonGetMemoryUsed;
41 
42     alias da_NewtonSetMemorySystem =  void function( NewtonAllocMemory malloc,  NewtonFreeMemory free);
43     da_NewtonSetMemorySystem NewtonSetMemorySystem;
44 
45     alias da_NewtonCreate =  NewtonWorld* function();
46     da_NewtonCreate NewtonCreate;
47 
48     alias da_NewtonDestroy =  void function(const NewtonWorld* newtonWorld);
49     da_NewtonDestroy NewtonDestroy;
50 
51     alias da_NewtonDestroyAllBodies =  void function(const NewtonWorld* newtonWorld);
52     da_NewtonDestroyAllBodies NewtonDestroyAllBodies;
53 
54     alias da_NewtonGetPostUpdateCallback =  NewtonPostUpdateCallback function(const NewtonWorld* newtonWorld);
55     da_NewtonGetPostUpdateCallback NewtonGetPostUpdateCallback;
56 
57     alias da_NewtonSetPostUpdateCallback =  void function(const NewtonWorld* newtonWorld,  NewtonPostUpdateCallback callback);
58     da_NewtonSetPostUpdateCallback NewtonSetPostUpdateCallback;
59 
60     alias da_NewtonAlloc =  void* function( int sizeInBytes);
61     da_NewtonAlloc NewtonAlloc;
62 
63     alias da_NewtonFree =  void function( void* ptr);
64     da_NewtonFree NewtonFree;
65 
66     alias da_NewtonLoadPlugins =  void function(const NewtonWorld* newtonWorld, const char* plugInPath);
67     da_NewtonLoadPlugins NewtonLoadPlugins;
68 
69     alias da_NewtonUnloadPlugins =  void function(const NewtonWorld* newtonWorld);
70     da_NewtonUnloadPlugins NewtonUnloadPlugins;
71 
72     alias da_NewtonCurrentPlugin =  void* function(const NewtonWorld* newtonWorld);
73     da_NewtonCurrentPlugin NewtonCurrentPlugin;
74 
75     alias da_NewtonGetFirstPlugin =  void* function(const NewtonWorld* newtonWorld);
76     da_NewtonGetFirstPlugin NewtonGetFirstPlugin;
77 
78     alias da_NewtonGetPreferedPlugin =  void* function(const NewtonWorld* newtonWorld);
79     da_NewtonGetPreferedPlugin NewtonGetPreferedPlugin;
80 
81     alias da_NewtonGetNextPlugin =  void* function(const NewtonWorld* newtonWorld, const void* plugin);
82     da_NewtonGetNextPlugin NewtonGetNextPlugin;
83 
84     alias da_NewtonGetPluginString = const char* function(const NewtonWorld* newtonWorld, const void* plugin);
85     da_NewtonGetPluginString NewtonGetPluginString;
86 
87     alias da_NewtonSelectPlugin =  void function(const NewtonWorld* newtonWorld, const void* plugin);
88     da_NewtonSelectPlugin NewtonSelectPlugin;
89 
90     alias da_NewtonGetContactMergeTolerance =  dFloat function(const NewtonWorld* newtonWorld);
91     da_NewtonGetContactMergeTolerance NewtonGetContactMergeTolerance;
92 
93     alias da_NewtonSetContactMergeTolerance =  void function(const NewtonWorld* newtonWorld,  dFloat tolerance);
94     da_NewtonSetContactMergeTolerance NewtonSetContactMergeTolerance;
95 
96     alias da_NewtonInvalidateCache =  void function(const NewtonWorld* newtonWorld);
97     da_NewtonInvalidateCache NewtonInvalidateCache;
98 
99     alias da_NewtonSetSolverIterations =  void function(const NewtonWorld* newtonWorld,  int model);
100     da_NewtonSetSolverIterations NewtonSetSolverIterations;
101 
102     alias da_NewtonGetSolverIterations =  int function(const NewtonWorld* newtonWorld);
103     da_NewtonGetSolverIterations NewtonGetSolverIterations;
104 
105     alias da_NewtonSetParallelSolverOnLargeIsland =  void function(const NewtonWorld* newtonWorld,  int mode);
106     da_NewtonSetParallelSolverOnLargeIsland NewtonSetParallelSolverOnLargeIsland;
107 
108     alias da_NewtonGetParallelSolverOnLargeIsland =  int function(const NewtonWorld* newtonWorld);
109     da_NewtonGetParallelSolverOnLargeIsland NewtonGetParallelSolverOnLargeIsland;
110 
111     alias da_NewtonGetBroadphaseAlgorithm =  int function(const NewtonWorld* newtonWorld);
112     da_NewtonGetBroadphaseAlgorithm NewtonGetBroadphaseAlgorithm;
113 
114     alias da_NewtonSelectBroadphaseAlgorithm =  void function(const NewtonWorld* newtonWorld,  int algorithmType);
115     da_NewtonSelectBroadphaseAlgorithm NewtonSelectBroadphaseAlgorithm;
116 
117     alias da_NewtonResetBroadphase =  void function(const NewtonWorld* newtonWorld);
118     da_NewtonResetBroadphase NewtonResetBroadphase;
119 
120     alias da_NewtonUpdate =  void function(const NewtonWorld* newtonWorld,  dFloat timestep);
121     da_NewtonUpdate NewtonUpdate;
122 
123     alias da_NewtonUpdateAsync =  void function(const NewtonWorld* newtonWorld,  dFloat timestep);
124     da_NewtonUpdateAsync NewtonUpdateAsync;
125 
126     alias da_NewtonWaitForUpdateToFinish =  void function(const NewtonWorld* newtonWorld);
127     da_NewtonWaitForUpdateToFinish NewtonWaitForUpdateToFinish;
128 
129     alias da_NewtonGetNumberOfSubsteps =  int function(const NewtonWorld* newtonWorld);
130     da_NewtonGetNumberOfSubsteps NewtonGetNumberOfSubsteps;
131 
132     alias da_NewtonSetNumberOfSubsteps =  void function(const NewtonWorld* newtonWorld,  int subSteps);
133     da_NewtonSetNumberOfSubsteps NewtonSetNumberOfSubsteps;
134 
135     alias da_NewtonGetLastUpdateTime =  dFloat function(const NewtonWorld* newtonWorld);
136     da_NewtonGetLastUpdateTime NewtonGetLastUpdateTime;
137 
138     alias da_NewtonSerializeToFile =  void function(const NewtonWorld* newtonWorld, const char* filename,  NewtonOnBodySerializationCallback bodyCallback,  void* bodyUserData);
139     da_NewtonSerializeToFile NewtonSerializeToFile;
140 
141     alias da_NewtonDeserializeFromFile =  void function(const NewtonWorld* newtonWorld, const char* filename,  NewtonOnBodyDeserializationCallback bodyCallback,  void* bodyUserData);
142     da_NewtonDeserializeFromFile NewtonDeserializeFromFile;
143 
144     alias da_NewtonSerializeScene =  void function(const NewtonWorld* newtonWorld,  NewtonOnBodySerializationCallback bodyCallback,  void* bodyUserData,  NewtonSerializeCallback serializeCallback,  void* serializeHandle);
145     da_NewtonSerializeScene NewtonSerializeScene;
146 
147     alias da_NewtonDeserializeScene =  void function(const NewtonWorld* newtonWorld,  NewtonOnBodyDeserializationCallback bodyCallback,  void* bodyUserData,  NewtonDeserializeCallback serializeCallback,  void* serializeHandle);
148     da_NewtonDeserializeScene NewtonDeserializeScene;
149 
150     alias da_NewtonFindSerializedBody =  NewtonBody* function(const NewtonWorld* newtonWorld,  int bodySerializedID);
151     da_NewtonFindSerializedBody NewtonFindSerializedBody;
152 
153     alias da_NewtonSetJointSerializationCallbacks =  void function(const NewtonWorld* newtonWorld,  NewtonOnJointSerializationCallback serializeJoint,  NewtonOnJointDeserializationCallback deserializeJoint);
154     da_NewtonSetJointSerializationCallbacks NewtonSetJointSerializationCallbacks;
155 
156     alias da_NewtonGetJointSerializationCallbacks =  void function(const NewtonWorld* newtonWorld,  NewtonOnJointSerializationCallback* serializeJoint,  NewtonOnJointDeserializationCallback* deserializeJoint);
157     da_NewtonGetJointSerializationCallbacks NewtonGetJointSerializationCallbacks;
158 
159     alias da_NewtonWorldCriticalSectionLock =  void function(const NewtonWorld* newtonWorld,  int threadIndex);
160     da_NewtonWorldCriticalSectionLock NewtonWorldCriticalSectionLock;
161 
162     alias da_NewtonWorldCriticalSectionUnlock =  void function(const NewtonWorld* newtonWorld);
163     da_NewtonWorldCriticalSectionUnlock NewtonWorldCriticalSectionUnlock;
164 
165     alias da_NewtonSetThreadsCount =  void function(const NewtonWorld* newtonWorld,  int threads);
166     da_NewtonSetThreadsCount NewtonSetThreadsCount;
167 
168     alias da_NewtonGetThreadsCount =  int function(const NewtonWorld* newtonWorld);
169     da_NewtonGetThreadsCount NewtonGetThreadsCount;
170 
171     alias da_NewtonGetMaxThreadsCount =  int function(const NewtonWorld* newtonWorld);
172     da_NewtonGetMaxThreadsCount NewtonGetMaxThreadsCount;
173 
174     alias da_NewtonDispachThreadJob =  void function(const NewtonWorld* newtonWorld,  NewtonJobTask task,  void* usedData, const char* functionName);
175     da_NewtonDispachThreadJob NewtonDispachThreadJob;
176 
177     alias da_NewtonSyncThreadJobs =  void function(const NewtonWorld* newtonWorld);
178     da_NewtonSyncThreadJobs NewtonSyncThreadJobs;
179 
180     alias da_NewtonAtomicAdd =  int function( int* ptr,  int value);
181     da_NewtonAtomicAdd NewtonAtomicAdd;
182 
183     alias da_NewtonAtomicSwap =  int function( int* ptr,  int value);
184     da_NewtonAtomicSwap NewtonAtomicSwap;
185 
186     alias da_NewtonYield =  void function();
187     da_NewtonYield NewtonYield;
188 
189     alias da_NewtonSetIslandUpdateEvent =  void function(const NewtonWorld* newtonWorld,  NewtonIslandUpdate islandUpdate);
190     da_NewtonSetIslandUpdateEvent NewtonSetIslandUpdateEvent;
191 
192     alias da_NewtonWorldForEachJointDo =  void function(const NewtonWorld* newtonWorld,  NewtonJointIterator callback,  void* userData);
193     da_NewtonWorldForEachJointDo NewtonWorldForEachJointDo;
194 
195     alias da_NewtonWorldForEachBodyInAABBDo =  void function(const NewtonWorld* newtonWorld, const dFloat* p0, const dFloat* p1,  NewtonBodyIterator callback,  void* userData);
196     da_NewtonWorldForEachBodyInAABBDo NewtonWorldForEachBodyInAABBDo;
197 
198     alias da_NewtonWorldSetUserData =  void function(const NewtonWorld* newtonWorld,  void* userData);
199     da_NewtonWorldSetUserData NewtonWorldSetUserData;
200 
201     alias da_NewtonWorldGetUserData =  void* function(const NewtonWorld* newtonWorld);
202     da_NewtonWorldGetUserData NewtonWorldGetUserData;
203 
204     alias da_NewtonWorldAddListener =  void* function(const NewtonWorld* newtonWorld, const char* nameId,  void* listenerUserData);
205     da_NewtonWorldAddListener NewtonWorldAddListener;
206 
207     alias da_NewtonWorldGetListener =  void* function(const NewtonWorld* newtonWorld, const char* nameId);
208     da_NewtonWorldGetListener NewtonWorldGetListener;
209 
210     alias da_NewtonWorldListenerSetDebugCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldListenerDebugCallback callback);
211     da_NewtonWorldListenerSetDebugCallback NewtonWorldListenerSetDebugCallback;
212 
213     alias da_NewtonWorldListenerSetPostStepCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldUpdateListenerCallback callback);
214     da_NewtonWorldListenerSetPostStepCallback NewtonWorldListenerSetPostStepCallback;
215 
216     alias da_NewtonWorldListenerSetPreUpdateCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldUpdateListenerCallback callback);
217     da_NewtonWorldListenerSetPreUpdateCallback NewtonWorldListenerSetPreUpdateCallback;
218 
219     alias da_NewtonWorldListenerSetPostUpdateCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldUpdateListenerCallback callback);
220     da_NewtonWorldListenerSetPostUpdateCallback NewtonWorldListenerSetPostUpdateCallback;
221 
222     alias da_NewtonWorldListenerSetDestructorCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldDestroyListenerCallback callback);
223     da_NewtonWorldListenerSetDestructorCallback NewtonWorldListenerSetDestructorCallback;
224 
225     alias da_NewtonWorldListenerSetBodyDestroyCallback =  void function(const NewtonWorld* newtonWorld,  void* listener,  NewtonWorldListenerBodyDestroyCallback callback);
226     da_NewtonWorldListenerSetBodyDestroyCallback NewtonWorldListenerSetBodyDestroyCallback;
227 
228     alias da_NewtonWorldListenerDebug =  void function(const NewtonWorld* newtonWorld,  void* context);
229     da_NewtonWorldListenerDebug NewtonWorldListenerDebug;
230 
231     alias da_NewtonWorldGetListenerUserData =  void* function(const NewtonWorld* newtonWorld,  void* listener);
232     da_NewtonWorldGetListenerUserData NewtonWorldGetListenerUserData;
233 
234     alias da_NewtonWorldListenerGetBodyDestroyCallback =  NewtonWorldListenerBodyDestroyCallback function(const NewtonWorld* newtonWorld,  void* listener);
235     da_NewtonWorldListenerGetBodyDestroyCallback NewtonWorldListenerGetBodyDestroyCallback;
236 
237     alias da_NewtonWorldSetDestructorCallback =  void function(const NewtonWorld* newtonWorld,  NewtonWorldDestructorCallback destructor);
238     da_NewtonWorldSetDestructorCallback NewtonWorldSetDestructorCallback;
239 
240     alias da_NewtonWorldGetDestructorCallback =  NewtonWorldDestructorCallback function(const NewtonWorld* newtonWorld);
241     da_NewtonWorldGetDestructorCallback NewtonWorldGetDestructorCallback;
242 
243     alias da_NewtonWorldSetCollisionConstructorDestructorCallback =  void function(const NewtonWorld* newtonWorld,  NewtonCollisionCopyConstructionCallback constructor,  NewtonCollisionDestructorCallback destructor);
244     da_NewtonWorldSetCollisionConstructorDestructorCallback NewtonWorldSetCollisionConstructorDestructorCallback;
245 
246     alias da_NewtonWorldSetCreateDestroyContactCallback =  void function(const NewtonWorld* newtonWorld,  NewtonCreateContactCallback createContact,  NewtonDestroyContactCallback destroyContact);
247     da_NewtonWorldSetCreateDestroyContactCallback NewtonWorldSetCreateDestroyContactCallback;
248 
249     alias da_NewtonWorldRayCast =  void function(const NewtonWorld* newtonWorld, const dFloat* p0, const dFloat* p1,  NewtonWorldRayFilterCallback filter,  void* userData,  NewtonWorldRayPrefilterCallback prefilter,  int threadIndex);
250     da_NewtonWorldRayCast NewtonWorldRayCast;
251 
252     alias da_NewtonWorldConvexCast =  int function(const NewtonWorld* newtonWorld, const dFloat* matrix, const dFloat* target, const NewtonCollision* shape,  dFloat* param,  void* userData,  NewtonWorldRayPrefilterCallback prefilter,  NewtonWorldConvexCastReturnInfo* info,  int maxContactsCount,  int threadIndex);
253     da_NewtonWorldConvexCast NewtonWorldConvexCast;
254 
255     alias da_NewtonWorldCollide =  int function(const NewtonWorld* newtonWorld, const dFloat* matrix, const NewtonCollision* shape,  void* userData,  NewtonWorldRayPrefilterCallback prefilter,  NewtonWorldConvexCastReturnInfo* info,  int maxContactsCount,  int threadIndex);
256     da_NewtonWorldCollide NewtonWorldCollide;
257 
258     alias da_NewtonWorldGetBodyCount =  int function(const NewtonWorld* newtonWorld);
259     da_NewtonWorldGetBodyCount NewtonWorldGetBodyCount;
260 
261     alias da_NewtonWorldGetConstraintCount =  int function(const NewtonWorld* newtonWorld);
262     da_NewtonWorldGetConstraintCount NewtonWorldGetConstraintCount;
263 
264     alias da_NewtonWorldFindJoint =  NewtonJoint* function(const NewtonBody* body0, const NewtonBody* body1);
265     da_NewtonWorldFindJoint NewtonWorldFindJoint;
266 
267     alias da_NewtonIslandGetBody =  NewtonBody* function(const void* island,  int bodyIndex);
268     da_NewtonIslandGetBody NewtonIslandGetBody;
269 
270     alias da_NewtonIslandGetBodyAABB =  void function(const void* island,  int bodyIndex,  dFloat* p0,  dFloat* p1);
271     da_NewtonIslandGetBodyAABB NewtonIslandGetBodyAABB;
272 
273     alias da_NewtonMaterialCreateGroupID =  int function(const NewtonWorld* newtonWorld);
274     da_NewtonMaterialCreateGroupID NewtonMaterialCreateGroupID;
275 
276     alias da_NewtonMaterialGetDefaultGroupID =  int function(const NewtonWorld* newtonWorld);
277     da_NewtonMaterialGetDefaultGroupID NewtonMaterialGetDefaultGroupID;
278 
279     alias da_NewtonMaterialDestroyAllGroupID =  void function(const NewtonWorld* newtonWorld);
280     da_NewtonMaterialDestroyAllGroupID NewtonMaterialDestroyAllGroupID;
281 
282     alias da_NewtonMaterialGetUserData =  void* function(const NewtonWorld* newtonWorld,  int id0,  int id1);
283     da_NewtonMaterialGetUserData NewtonMaterialGetUserData;
284 
285     alias da_NewtonMaterialSetSurfaceThickness =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  dFloat thickness);
286     da_NewtonMaterialSetSurfaceThickness NewtonMaterialSetSurfaceThickness;
287 
288     alias da_NewtonMaterialSetCallbackUserData =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  void* userData);
289     da_NewtonMaterialSetCallbackUserData NewtonMaterialSetCallbackUserData;
290 
291     alias da_NewtonMaterialSetContactGenerationCallback =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  NewtonOnContactGeneration contactGeneration);
292     da_NewtonMaterialSetContactGenerationCallback NewtonMaterialSetContactGenerationCallback;
293 
294     alias da_NewtonMaterialSetCompoundCollisionCallback =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  NewtonOnCompoundSubCollisionAABBOverlap compoundAabbOverlap);
295     da_NewtonMaterialSetCompoundCollisionCallback NewtonMaterialSetCompoundCollisionCallback;
296 
297     alias da_NewtonMaterialSetCollisionCallback =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  NewtonOnAABBOverlap aabbOverlap,  NewtonContactsProcess process);
298     da_NewtonMaterialSetCollisionCallback NewtonMaterialSetCollisionCallback;
299 
300     alias da_NewtonMaterialSetDefaultSoftness =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  dFloat value);
301     da_NewtonMaterialSetDefaultSoftness NewtonMaterialSetDefaultSoftness;
302 
303     alias da_NewtonMaterialSetDefaultElasticity =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  dFloat elasticCoef);
304     da_NewtonMaterialSetDefaultElasticity NewtonMaterialSetDefaultElasticity;
305 
306     alias da_NewtonMaterialSetDefaultCollidable =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  int state);
307     da_NewtonMaterialSetDefaultCollidable NewtonMaterialSetDefaultCollidable;
308 
309     alias da_NewtonMaterialSetDefaultFriction =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1,  dFloat staticFriction,  dFloat kineticFriction);
310     da_NewtonMaterialSetDefaultFriction NewtonMaterialSetDefaultFriction;
311 
312     alias da_NewtonMaterialJointResetIntraJointCollision =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1);
313     da_NewtonMaterialJointResetIntraJointCollision NewtonMaterialJointResetIntraJointCollision;
314 
315     alias da_NewtonMaterialJointResetSelftJointCollision =  void function(const NewtonWorld* newtonWorld,  int id0,  int id1);
316     da_NewtonMaterialJointResetSelftJointCollision NewtonMaterialJointResetSelftJointCollision;
317 
318     alias da_NewtonWorldGetFirstMaterial =  NewtonMaterial* function(const NewtonWorld* newtonWorld);
319     da_NewtonWorldGetFirstMaterial NewtonWorldGetFirstMaterial;
320 
321     alias da_NewtonWorldGetNextMaterial =  NewtonMaterial* function(const NewtonWorld* newtonWorld, const NewtonMaterial* material);
322     da_NewtonWorldGetNextMaterial NewtonWorldGetNextMaterial;
323 
324     alias da_NewtonWorldGetFirstBody =  NewtonBody* function(const NewtonWorld* newtonWorld);
325     da_NewtonWorldGetFirstBody NewtonWorldGetFirstBody;
326 
327     alias da_NewtonWorldGetNextBody =  NewtonBody* function(const NewtonWorld* newtonWorld, const NewtonBody* curBody);
328     da_NewtonWorldGetNextBody NewtonWorldGetNextBody;
329 
330     alias da_NewtonMaterialGetMaterialPairUserData =  void* function(const NewtonMaterial* material);
331     da_NewtonMaterialGetMaterialPairUserData NewtonMaterialGetMaterialPairUserData;
332 
333     alias da_NewtonMaterialGetContactFaceAttribute =  uint function(const NewtonMaterial* material);
334     da_NewtonMaterialGetContactFaceAttribute NewtonMaterialGetContactFaceAttribute;
335 
336     alias da_NewtonMaterialGetBodyCollidingShape =  NewtonCollision* function(const NewtonMaterial* material, const NewtonBody* _body);
337     da_NewtonMaterialGetBodyCollidingShape NewtonMaterialGetBodyCollidingShape;
338 
339     alias da_NewtonMaterialGetContactNormalSpeed =  dFloat function(const NewtonMaterial* material);
340     da_NewtonMaterialGetContactNormalSpeed NewtonMaterialGetContactNormalSpeed;
341 
342     alias da_NewtonMaterialGetContactForce =  void function(const NewtonMaterial* material, const NewtonBody* _body,  dFloat* force);
343     da_NewtonMaterialGetContactForce NewtonMaterialGetContactForce;
344 
345     alias da_NewtonMaterialGetContactPositionAndNormal =  void function(const NewtonMaterial* material, const NewtonBody* _body,  dFloat* posit,  dFloat* normal);
346     da_NewtonMaterialGetContactPositionAndNormal NewtonMaterialGetContactPositionAndNormal;
347 
348     alias da_NewtonMaterialGetContactTangentDirections =  void function(const NewtonMaterial* material, const NewtonBody* _body,  dFloat* dir0,  dFloat* dir1);
349     da_NewtonMaterialGetContactTangentDirections NewtonMaterialGetContactTangentDirections;
350 
351     alias da_NewtonMaterialGetContactTangentSpeed =  dFloat function(const NewtonMaterial* material,  int index);
352     da_NewtonMaterialGetContactTangentSpeed NewtonMaterialGetContactTangentSpeed;
353 
354     alias da_NewtonMaterialGetContactMaxNormalImpact =  dFloat function(const NewtonMaterial* material);
355     da_NewtonMaterialGetContactMaxNormalImpact NewtonMaterialGetContactMaxNormalImpact;
356 
357     alias da_NewtonMaterialGetContactMaxTangentImpact =  dFloat function(const NewtonMaterial* material,  int index);
358     da_NewtonMaterialGetContactMaxTangentImpact NewtonMaterialGetContactMaxTangentImpact;
359 
360     alias da_NewtonMaterialGetContactPenetration =  dFloat function(const NewtonMaterial* material);
361     da_NewtonMaterialGetContactPenetration NewtonMaterialGetContactPenetration;
362 
363     alias da_NewtonMaterialSetAsSoftContact =  void function(const NewtonMaterial* material,  dFloat relaxation);
364     da_NewtonMaterialSetAsSoftContact NewtonMaterialSetAsSoftContact;
365 
366     alias da_NewtonMaterialSetContactSoftness =  void function(const NewtonMaterial* material,  dFloat softness);
367     da_NewtonMaterialSetContactSoftness NewtonMaterialSetContactSoftness;
368 
369     alias da_NewtonMaterialSetContactThickness =  void function(const NewtonMaterial* material,  dFloat thickness);
370     da_NewtonMaterialSetContactThickness NewtonMaterialSetContactThickness;
371 
372     alias da_NewtonMaterialSetContactElasticity =  void function(const NewtonMaterial* material,  dFloat restitution);
373     da_NewtonMaterialSetContactElasticity NewtonMaterialSetContactElasticity;
374 
375     alias da_NewtonMaterialSetContactFrictionState =  void function(const NewtonMaterial* material,  int state,  int index);
376     da_NewtonMaterialSetContactFrictionState NewtonMaterialSetContactFrictionState;
377 
378     alias da_NewtonMaterialSetContactFrictionCoef =  void function(const NewtonMaterial* material,  dFloat staticFrictionCoef,  dFloat kineticFrictionCoef,  int index);
379     da_NewtonMaterialSetContactFrictionCoef NewtonMaterialSetContactFrictionCoef;
380 
381     alias da_NewtonMaterialSetContactNormalAcceleration =  void function(const NewtonMaterial* material,  dFloat accel);
382     da_NewtonMaterialSetContactNormalAcceleration NewtonMaterialSetContactNormalAcceleration;
383 
384     alias da_NewtonMaterialSetContactNormalDirection =  void function(const NewtonMaterial* material, const dFloat* directionVector);
385     da_NewtonMaterialSetContactNormalDirection NewtonMaterialSetContactNormalDirection;
386 
387     alias da_NewtonMaterialSetContactPosition =  void function(const NewtonMaterial* material, const dFloat* position);
388     da_NewtonMaterialSetContactPosition NewtonMaterialSetContactPosition;
389 
390     alias da_NewtonMaterialSetContactTangentFriction =  void function(const NewtonMaterial* material,  dFloat friction,  int index);
391     da_NewtonMaterialSetContactTangentFriction NewtonMaterialSetContactTangentFriction;
392 
393     alias da_NewtonMaterialSetContactTangentAcceleration =  void function(const NewtonMaterial* material,  dFloat accel,  int index);
394     da_NewtonMaterialSetContactTangentAcceleration NewtonMaterialSetContactTangentAcceleration;
395 
396     alias da_NewtonMaterialContactRotateTangentDirections =  void function(const NewtonMaterial* material, const dFloat* directionVector);
397     da_NewtonMaterialContactRotateTangentDirections NewtonMaterialContactRotateTangentDirections;
398 
399     alias da_NewtonMaterialGetContactPruningTolerance =  dFloat function(const NewtonJoint* contactJoint);
400     da_NewtonMaterialGetContactPruningTolerance NewtonMaterialGetContactPruningTolerance;
401 
402     alias da_NewtonMaterialSetContactPruningTolerance =  void function(const NewtonJoint* contactJoint,  dFloat tolerance);
403     da_NewtonMaterialSetContactPruningTolerance NewtonMaterialSetContactPruningTolerance;
404 
405     alias da_NewtonCreateNull =  NewtonCollision* function(const NewtonWorld* newtonWorld);
406     da_NewtonCreateNull NewtonCreateNull;
407 
408     alias da_NewtonCreateSphere =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat radius,  int shapeID, const dFloat* offsetMatrix);
409     da_NewtonCreateSphere NewtonCreateSphere;
410 
411     alias da_NewtonCreateBox =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat dx,  dFloat dy,  dFloat dz,  int shapeID, const dFloat* offsetMatrix);
412     da_NewtonCreateBox NewtonCreateBox;
413 
414     alias da_NewtonCreateCone =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat radius,  dFloat height,  int shapeID, const dFloat* offsetMatrix);
415     da_NewtonCreateCone NewtonCreateCone;
416 
417     alias da_NewtonCreateCapsule =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat radius0,  dFloat radius1,  dFloat height,  int shapeID, const dFloat* offsetMatrix);
418     da_NewtonCreateCapsule NewtonCreateCapsule;
419 
420     alias da_NewtonCreateCylinder =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat radio0,  dFloat radio1,  dFloat height,  int shapeID, const dFloat* offsetMatrix);
421     da_NewtonCreateCylinder NewtonCreateCylinder;
422 
423     alias da_NewtonCreateChamferCylinder =  NewtonCollision* function(const NewtonWorld* newtonWorld,  dFloat radius,  dFloat height,  int shapeID, const dFloat* offsetMatrix);
424     da_NewtonCreateChamferCylinder NewtonCreateChamferCylinder;
425 
426     alias da_NewtonCreateConvexHull =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int count, const dFloat* vertexCloud,  int strideInBytes,  dFloat tolerance,  int shapeID, const dFloat* offsetMatrix);
427     da_NewtonCreateConvexHull NewtonCreateConvexHull;
428 
429     alias da_NewtonCreateConvexHullFromMesh =  NewtonCollision* function(const NewtonWorld* newtonWorld, const NewtonMesh* mesh,  dFloat tolerance,  int shapeID);
430     da_NewtonCreateConvexHullFromMesh NewtonCreateConvexHullFromMesh;
431 
432     alias da_NewtonCollisionGetMode =  int function(const NewtonCollision* convexCollision);
433     da_NewtonCollisionGetMode NewtonCollisionGetMode;
434 
435     alias da_NewtonCollisionSetMode =  void function(const NewtonCollision* convexCollision,  int mode);
436     da_NewtonCollisionSetMode NewtonCollisionSetMode;
437 
438     alias da_NewtonConvexHullGetFaceIndices =  int function(const NewtonCollision* convexHullCollision,  int face,  int* faceIndices);
439     da_NewtonConvexHullGetFaceIndices NewtonConvexHullGetFaceIndices;
440 
441     alias da_NewtonConvexHullGetVertexData =  int function(const NewtonCollision* convexHullCollision,  dFloat* * vertexData,  int* strideInBytes);
442     da_NewtonConvexHullGetVertexData NewtonConvexHullGetVertexData;
443 
444     alias da_NewtonConvexCollisionCalculateVolume =  dFloat function(const NewtonCollision* convexCollision);
445     da_NewtonConvexCollisionCalculateVolume NewtonConvexCollisionCalculateVolume;
446 
447     alias da_NewtonConvexCollisionCalculateInertialMatrix =  void function(const NewtonCollision* convexCollision,  dFloat* inertia,  dFloat* origin);
448     da_NewtonConvexCollisionCalculateInertialMatrix NewtonConvexCollisionCalculateInertialMatrix;
449 
450     alias da_NewtonConvexCollisionCalculateBuoyancyVolume =  dFloat function(const NewtonCollision* convexCollision, const dFloat* matrix, const dFloat* fluidPlane,  dFloat* centerOfBuoyancy);
451     da_NewtonConvexCollisionCalculateBuoyancyVolume NewtonConvexCollisionCalculateBuoyancyVolume;
452 
453     alias da_NewtonCollisionDataPointer = const void* function(const NewtonCollision* convexCollision);
454     da_NewtonCollisionDataPointer NewtonCollisionDataPointer;
455 
456     alias da_NewtonCreateCompoundCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int shapeID);
457     da_NewtonCreateCompoundCollision NewtonCreateCompoundCollision;
458 
459     alias da_NewtonCreateCompoundCollisionFromMesh =  NewtonCollision* function(const NewtonWorld* newtonWorld, const NewtonMesh* mesh,  dFloat hullTolerance,  int shapeID,  int subShapeID);
460     da_NewtonCreateCompoundCollisionFromMesh NewtonCreateCompoundCollisionFromMesh;
461 
462     alias da_NewtonCompoundCollisionBeginAddRemove =  void function( NewtonCollision* compoundCollision);
463     da_NewtonCompoundCollisionBeginAddRemove NewtonCompoundCollisionBeginAddRemove;
464 
465     alias da_NewtonCompoundCollisionAddSubCollision =  void* function( NewtonCollision* compoundCollision, const NewtonCollision* convexCollision);
466     da_NewtonCompoundCollisionAddSubCollision NewtonCompoundCollisionAddSubCollision;
467 
468     alias da_NewtonCompoundCollisionRemoveSubCollision =  void function( NewtonCollision* compoundCollision, const void* collisionNode);
469     da_NewtonCompoundCollisionRemoveSubCollision NewtonCompoundCollisionRemoveSubCollision;
470 
471     alias da_NewtonCompoundCollisionRemoveSubCollisionByIndex =  void function( NewtonCollision* compoundCollision,  int nodeIndex);
472     da_NewtonCompoundCollisionRemoveSubCollisionByIndex NewtonCompoundCollisionRemoveSubCollisionByIndex;
473 
474     alias da_NewtonCompoundCollisionSetSubCollisionMatrix =  void function( NewtonCollision* compoundCollision, const void* collisionNode, const dFloat* matrix);
475     da_NewtonCompoundCollisionSetSubCollisionMatrix NewtonCompoundCollisionSetSubCollisionMatrix;
476 
477     alias da_NewtonCompoundCollisionEndAddRemove =  void function( NewtonCollision* compoundCollision);
478     da_NewtonCompoundCollisionEndAddRemove NewtonCompoundCollisionEndAddRemove;
479 
480     alias da_NewtonCompoundCollisionGetFirstNode =  void* function( NewtonCollision* compoundCollision);
481     da_NewtonCompoundCollisionGetFirstNode NewtonCompoundCollisionGetFirstNode;
482 
483     alias da_NewtonCompoundCollisionGetNextNode =  void* function( NewtonCollision* compoundCollision, const void* collisionNode);
484     da_NewtonCompoundCollisionGetNextNode NewtonCompoundCollisionGetNextNode;
485 
486     alias da_NewtonCompoundCollisionGetNodeByIndex =  void* function( NewtonCollision* compoundCollision,  int index);
487     da_NewtonCompoundCollisionGetNodeByIndex NewtonCompoundCollisionGetNodeByIndex;
488 
489     alias da_NewtonCompoundCollisionGetNodeIndex =  int function( NewtonCollision* compoundCollision, const void* collisionNode);
490     da_NewtonCompoundCollisionGetNodeIndex NewtonCompoundCollisionGetNodeIndex;
491 
492     alias da_NewtonCompoundCollisionGetCollisionFromNode =  NewtonCollision* function( NewtonCollision* compoundCollision, const void* collisionNode);
493     da_NewtonCompoundCollisionGetCollisionFromNode NewtonCompoundCollisionGetCollisionFromNode;
494 
495     alias da_NewtonCreateFracturedCompoundCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld, const NewtonMesh* solidMesh,  int shapeID,  int fracturePhysicsMaterialID,  int pointcloudCount, const dFloat* vertexCloud,  int strideInBytes,  int materialID, const dFloat* textureMatrix,  NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback,  NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound,  NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk);
496     da_NewtonCreateFracturedCompoundCollision NewtonCreateFracturedCompoundCollision;
497 
498     alias da_NewtonFracturedCompoundPlaneClip =  NewtonCollision* function(const NewtonCollision* fracturedCompound, const dFloat* plane);
499     da_NewtonFracturedCompoundPlaneClip NewtonFracturedCompoundPlaneClip;
500 
501     alias da_NewtonFracturedCompoundSetCallbacks =  void function(const NewtonCollision* fracturedCompound,  NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback,  NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound,  NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk);
502     da_NewtonFracturedCompoundSetCallbacks NewtonFracturedCompoundSetCallbacks;
503 
504     alias da_NewtonFracturedCompoundIsNodeFreeToDetach =  int function(const NewtonCollision* fracturedCompound,  void* collisionNode);
505     da_NewtonFracturedCompoundIsNodeFreeToDetach NewtonFracturedCompoundIsNodeFreeToDetach;
506 
507     alias da_NewtonFracturedCompoundNeighborNodeList =  int function(const NewtonCollision* fracturedCompound,  void* collisionNode,  void* * list,  int maxCount);
508     da_NewtonFracturedCompoundNeighborNodeList NewtonFracturedCompoundNeighborNodeList;
509 
510     alias da_NewtonFracturedCompoundGetMainMesh =  NewtonFracturedCompoundMeshPart* function(const NewtonCollision* fracturedCompound);
511     da_NewtonFracturedCompoundGetMainMesh NewtonFracturedCompoundGetMainMesh;
512 
513     alias da_NewtonFracturedCompoundGetFirstSubMesh =  NewtonFracturedCompoundMeshPart* function(const NewtonCollision* fracturedCompound);
514     da_NewtonFracturedCompoundGetFirstSubMesh NewtonFracturedCompoundGetFirstSubMesh;
515 
516     alias da_NewtonFracturedCompoundGetNextSubMesh =  NewtonFracturedCompoundMeshPart* function(const NewtonCollision* fracturedCompound,  NewtonFracturedCompoundMeshPart* subMesh);
517     da_NewtonFracturedCompoundGetNextSubMesh NewtonFracturedCompoundGetNextSubMesh;
518 
519     alias da_NewtonFracturedCompoundCollisionGetVertexCount =  int function(const NewtonCollision* fracturedCompound, const NewtonFracturedCompoundMeshPart* meshOwner);
520     da_NewtonFracturedCompoundCollisionGetVertexCount NewtonFracturedCompoundCollisionGetVertexCount;
521 
522     alias da_NewtonFracturedCompoundCollisionGetVertexPositions = const dFloat* function(const NewtonCollision* fracturedCompound, const NewtonFracturedCompoundMeshPart* meshOwner);
523     da_NewtonFracturedCompoundCollisionGetVertexPositions NewtonFracturedCompoundCollisionGetVertexPositions;
524 
525     alias da_NewtonFracturedCompoundCollisionGetVertexNormals = const dFloat* function(const NewtonCollision* fracturedCompound, const NewtonFracturedCompoundMeshPart* meshOwner);
526     da_NewtonFracturedCompoundCollisionGetVertexNormals NewtonFracturedCompoundCollisionGetVertexNormals;
527 
528     alias da_NewtonFracturedCompoundCollisionGetVertexUVs = const dFloat* function(const NewtonCollision* fracturedCompound, const NewtonFracturedCompoundMeshPart* meshOwner);
529     da_NewtonFracturedCompoundCollisionGetVertexUVs NewtonFracturedCompoundCollisionGetVertexUVs;
530 
531     alias da_NewtonFracturedCompoundMeshPartGetIndexStream =  int function(const NewtonCollision* fracturedCompound, const NewtonFracturedCompoundMeshPart* meshOwner, const void* segment,  int* index);
532     da_NewtonFracturedCompoundMeshPartGetIndexStream NewtonFracturedCompoundMeshPartGetIndexStream;
533 
534     alias da_NewtonFracturedCompoundMeshPartGetFirstSegment =  void* function(const NewtonFracturedCompoundMeshPart* fractureCompoundMeshPart);
535     da_NewtonFracturedCompoundMeshPartGetFirstSegment NewtonFracturedCompoundMeshPartGetFirstSegment;
536 
537     alias da_NewtonFracturedCompoundMeshPartGetNextSegment =  void* function(const void* fractureCompoundMeshSegment);
538     da_NewtonFracturedCompoundMeshPartGetNextSegment NewtonFracturedCompoundMeshPartGetNextSegment;
539 
540     alias da_NewtonFracturedCompoundMeshPartGetMaterial =  int function(const void* fractureCompoundMeshSegment);
541     da_NewtonFracturedCompoundMeshPartGetMaterial NewtonFracturedCompoundMeshPartGetMaterial;
542 
543     alias da_NewtonFracturedCompoundMeshPartGetIndexCount =  int function(const void* fractureCompoundMeshSegment);
544     da_NewtonFracturedCompoundMeshPartGetIndexCount NewtonFracturedCompoundMeshPartGetIndexCount;
545 
546     alias da_NewtonCreateSceneCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int shapeID);
547     da_NewtonCreateSceneCollision NewtonCreateSceneCollision;
548 
549     alias da_NewtonSceneCollisionBeginAddRemove =  void function( NewtonCollision* sceneCollision);
550     da_NewtonSceneCollisionBeginAddRemove NewtonSceneCollisionBeginAddRemove;
551 
552     alias da_NewtonSceneCollisionAddSubCollision =  void* function( NewtonCollision* sceneCollision, const NewtonCollision* collision);
553     da_NewtonSceneCollisionAddSubCollision NewtonSceneCollisionAddSubCollision;
554 
555     alias da_NewtonSceneCollisionRemoveSubCollision =  void function( NewtonCollision* compoundCollision, const void* collisionNode);
556     da_NewtonSceneCollisionRemoveSubCollision NewtonSceneCollisionRemoveSubCollision;
557 
558     alias da_NewtonSceneCollisionRemoveSubCollisionByIndex =  void function( NewtonCollision* sceneCollision,  int nodeIndex);
559     da_NewtonSceneCollisionRemoveSubCollisionByIndex NewtonSceneCollisionRemoveSubCollisionByIndex;
560 
561     alias da_NewtonSceneCollisionSetSubCollisionMatrix =  void function( NewtonCollision* sceneCollision, const void* collisionNode, const dFloat* matrix);
562     da_NewtonSceneCollisionSetSubCollisionMatrix NewtonSceneCollisionSetSubCollisionMatrix;
563 
564     alias da_NewtonSceneCollisionEndAddRemove =  void function( NewtonCollision* sceneCollision);
565     da_NewtonSceneCollisionEndAddRemove NewtonSceneCollisionEndAddRemove;
566 
567     alias da_NewtonSceneCollisionGetFirstNode =  void* function( NewtonCollision* sceneCollision);
568     da_NewtonSceneCollisionGetFirstNode NewtonSceneCollisionGetFirstNode;
569 
570     alias da_NewtonSceneCollisionGetNextNode =  void* function( NewtonCollision* sceneCollision, const void* collisionNode);
571     da_NewtonSceneCollisionGetNextNode NewtonSceneCollisionGetNextNode;
572 
573     alias da_NewtonSceneCollisionGetNodeByIndex =  void* function( NewtonCollision* sceneCollision,  int index);
574     da_NewtonSceneCollisionGetNodeByIndex NewtonSceneCollisionGetNodeByIndex;
575 
576     alias da_NewtonSceneCollisionGetNodeIndex =  int function( NewtonCollision* sceneCollision, const void* collisionNode);
577     da_NewtonSceneCollisionGetNodeIndex NewtonSceneCollisionGetNodeIndex;
578 
579     alias da_NewtonSceneCollisionGetCollisionFromNode =  NewtonCollision* function( NewtonCollision* sceneCollision, const void* collisionNode);
580     da_NewtonSceneCollisionGetCollisionFromNode NewtonSceneCollisionGetCollisionFromNode;
581 
582     alias da_NewtonCreateUserMeshCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld, const dFloat* minBox, const dFloat* maxBox,  void* userData,  NewtonUserMeshCollisionCollideCallback collideCallback,  NewtonUserMeshCollisionRayHitCallback rayHitCallback,  NewtonUserMeshCollisionDestroyCallback destroyCallback,  NewtonUserMeshCollisionGetCollisionInfo getInfoCallback,  NewtonUserMeshCollisionAABBTest getLocalAABBCallback,  NewtonUserMeshCollisionGetFacesInAABB facesInAABBCallback,  NewtonOnUserCollisionSerializationCallback serializeCallback,  int shapeID);
583     da_NewtonCreateUserMeshCollision NewtonCreateUserMeshCollision;
584 
585     alias da_NewtonUserMeshCollisionContinuousOverlapTest =  int function(const NewtonUserMeshCollisionCollideDesc* collideDescData, const void* continueCollisionHandle, const dFloat* minAabb, const dFloat* maxAabb);
586     da_NewtonUserMeshCollisionContinuousOverlapTest NewtonUserMeshCollisionContinuousOverlapTest;
587 
588     alias da_NewtonCreateCollisionFromSerialization =  NewtonCollision* function(const NewtonWorld* newtonWorld,  NewtonDeserializeCallback deserializeFunction,  void* serializeHandle);
589     da_NewtonCreateCollisionFromSerialization NewtonCreateCollisionFromSerialization;
590 
591     alias da_NewtonCollisionSerialize =  void function(const NewtonWorld* newtonWorld, const NewtonCollision* collision,  NewtonSerializeCallback serializeFunction,  void* serializeHandle);
592     da_NewtonCollisionSerialize NewtonCollisionSerialize;
593 
594     alias da_NewtonCollisionGetInfo =  void function(const NewtonCollision* collision,  NewtonCollisionInfoRecord* collisionInfo);
595     da_NewtonCollisionGetInfo NewtonCollisionGetInfo;
596 
597     alias da_NewtonCreateHeightFieldCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int width,  int height,  int gridsDiagonals,  int elevationdatType, const void* elevationMap, const char* attributeMap,  dFloat verticalScale,  dFloat horizontalScale_x,  dFloat horizontalScale_z,  int shapeID);
598     da_NewtonCreateHeightFieldCollision NewtonCreateHeightFieldCollision;
599 
600     alias da_NewtonHeightFieldSetUserRayCastCallback =  void function(const NewtonCollision* heightfieldCollision,  NewtonHeightFieldRayCastCallback rayHitCallback);
601     da_NewtonHeightFieldSetUserRayCastCallback NewtonHeightFieldSetUserRayCastCallback;
602 
603     alias da_NewtonCreateTreeCollision =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int shapeID);
604     da_NewtonCreateTreeCollision NewtonCreateTreeCollision;
605 
606     alias da_NewtonCreateTreeCollisionFromMesh =  NewtonCollision* function(const NewtonWorld* newtonWorld, const NewtonMesh* mesh,  int shapeID);
607     da_NewtonCreateTreeCollisionFromMesh NewtonCreateTreeCollisionFromMesh;
608 
609     alias da_NewtonTreeCollisionSetUserRayCastCallback =  void function(const NewtonCollision* treeCollision,  NewtonCollisionTreeRayCastCallback rayHitCallback);
610     da_NewtonTreeCollisionSetUserRayCastCallback NewtonTreeCollisionSetUserRayCastCallback;
611 
612     alias da_NewtonTreeCollisionBeginBuild =  void function(const NewtonCollision* treeCollision);
613     da_NewtonTreeCollisionBeginBuild NewtonTreeCollisionBeginBuild;
614 
615     alias da_NewtonTreeCollisionAddFace =  void function(const NewtonCollision* treeCollision,  int vertexCount, const dFloat* vertexPtr,  int strideInBytes,  int faceAttribute);
616     da_NewtonTreeCollisionAddFace NewtonTreeCollisionAddFace;
617 
618     alias da_NewtonTreeCollisionEndBuild =  void function(const NewtonCollision* treeCollision,  int optimize);
619     da_NewtonTreeCollisionEndBuild NewtonTreeCollisionEndBuild;
620 
621     alias da_NewtonTreeCollisionGetFaceAttribute =  int function(const NewtonCollision* treeCollision, const int* faceIndexArray,  int indexCount);
622     da_NewtonTreeCollisionGetFaceAttribute NewtonTreeCollisionGetFaceAttribute;
623 
624     alias da_NewtonTreeCollisionSetFaceAttribute =  void function(const NewtonCollision* treeCollision, const int* faceIndexArray,  int indexCount,  int attribute);
625     da_NewtonTreeCollisionSetFaceAttribute NewtonTreeCollisionSetFaceAttribute;
626 
627     alias da_NewtonTreeCollisionForEachFace =  void function(const NewtonCollision* treeCollision,  NewtonTreeCollisionFaceCallback forEachFaceCallback,  void* context);
628     da_NewtonTreeCollisionForEachFace NewtonTreeCollisionForEachFace;
629 
630     alias da_NewtonTreeCollisionGetVertexListTriangleListInAABB =  int function(const NewtonCollision* treeCollision, const dFloat* p0, const dFloat* p1, const dFloat* * vertexArray,  int* vertexCount,  int* vertexStrideInBytes, const int* indexList,  int maxIndexCount, const int* faceAttribute);
631     da_NewtonTreeCollisionGetVertexListTriangleListInAABB NewtonTreeCollisionGetVertexListTriangleListInAABB;
632 
633     alias da_NewtonStaticCollisionSetDebugCallback =  void function(const NewtonCollision* staticCollision,  NewtonTreeCollisionCallback userCallback);
634     da_NewtonStaticCollisionSetDebugCallback NewtonStaticCollisionSetDebugCallback;
635 
636     alias da_NewtonCollisionCreateInstance =  NewtonCollision* function(const NewtonCollision* collision);
637     da_NewtonCollisionCreateInstance NewtonCollisionCreateInstance;
638 
639     alias da_NewtonCollisionGetType =  int function(const NewtonCollision* collision);
640     da_NewtonCollisionGetType NewtonCollisionGetType;
641 
642     alias da_NewtonCollisionIsConvexShape =  int function(const NewtonCollision* collision);
643     da_NewtonCollisionIsConvexShape NewtonCollisionIsConvexShape;
644 
645     alias da_NewtonCollisionIsStaticShape =  int function(const NewtonCollision* collision);
646     da_NewtonCollisionIsStaticShape NewtonCollisionIsStaticShape;
647 
648     alias da_NewtonCollisionSetUserData =  void function(const NewtonCollision* collision,  void* userData);
649     da_NewtonCollisionSetUserData NewtonCollisionSetUserData;
650 
651     alias da_NewtonCollisionGetUserData =  void* function(const NewtonCollision* collision);
652     da_NewtonCollisionGetUserData NewtonCollisionGetUserData;
653 
654     alias da_NewtonCollisionSetUserID =  void function(const NewtonCollision* collision,  long id);
655     da_NewtonCollisionSetUserID NewtonCollisionSetUserID;
656 
657     alias da_NewtonCollisionGetUserID =  long function(const NewtonCollision* collision);
658     da_NewtonCollisionGetUserID NewtonCollisionGetUserID;
659 
660     alias da_NewtonCollisionGetMaterial =  void function(const NewtonCollision* collision,  NewtonCollisionMaterial* userData);
661     da_NewtonCollisionGetMaterial NewtonCollisionGetMaterial;
662 
663     alias da_NewtonCollisionSetMaterial =  void function(const NewtonCollision* collision, const NewtonCollisionMaterial* userData);
664     da_NewtonCollisionSetMaterial NewtonCollisionSetMaterial;
665 
666     alias da_NewtonCollisionGetSubCollisionHandle =  void* function(const NewtonCollision* collision);
667     da_NewtonCollisionGetSubCollisionHandle NewtonCollisionGetSubCollisionHandle;
668 
669     alias da_NewtonCollisionGetParentInstance =  NewtonCollision* function(const NewtonCollision* collision);
670     da_NewtonCollisionGetParentInstance NewtonCollisionGetParentInstance;
671 
672     alias da_NewtonCollisionSetMatrix =  void function(const NewtonCollision* collision, const dFloat* matrix);
673     da_NewtonCollisionSetMatrix NewtonCollisionSetMatrix;
674 
675     alias da_NewtonCollisionGetMatrix =  void function(const NewtonCollision* collision,  dFloat* matrix);
676     da_NewtonCollisionGetMatrix NewtonCollisionGetMatrix;
677 
678     alias da_NewtonCollisionSetScale =  void function(const NewtonCollision* collision,  dFloat scaleX,  dFloat scaleY,  dFloat scaleZ);
679     da_NewtonCollisionSetScale NewtonCollisionSetScale;
680 
681     alias da_NewtonCollisionGetScale =  void function(const NewtonCollision* collision,  dFloat* scaleX,  dFloat* scaleY,  dFloat* scaleZ);
682     da_NewtonCollisionGetScale NewtonCollisionGetScale;
683 
684     alias da_NewtonDestroyCollision =  void function(const NewtonCollision* collision);
685     da_NewtonDestroyCollision NewtonDestroyCollision;
686 
687     alias da_NewtonCollisionGetSkinThickness =  dFloat function(const NewtonCollision* collision);
688     da_NewtonCollisionGetSkinThickness NewtonCollisionGetSkinThickness;
689 
690     alias da_NewtonCollisionSetSkinThickness =  void function(const NewtonCollision* collision,  dFloat thickness);
691     da_NewtonCollisionSetSkinThickness NewtonCollisionSetSkinThickness;
692 
693     alias da_NewtonCollisionIntersectionTest =  int function(const NewtonWorld* newtonWorld, const NewtonCollision* collisionA, const dFloat* matrixA, const NewtonCollision* collisionB, const dFloat* matrixB,  int threadIndex);
694     da_NewtonCollisionIntersectionTest NewtonCollisionIntersectionTest;
695 
696     alias da_NewtonCollisionPointDistance =  int function(const NewtonWorld* newtonWorld, const dFloat* point, const NewtonCollision* collision, const dFloat* matrix,  dFloat* contact,  dFloat* normal,  int threadIndex);
697     da_NewtonCollisionPointDistance NewtonCollisionPointDistance;
698 
699     alias da_NewtonCollisionClosestPoint =  int function(const NewtonWorld* newtonWorld, const NewtonCollision* collisionA, const dFloat* matrixA, const NewtonCollision* collisionB, const dFloat* matrixB,  dFloat* contactA,  dFloat* contactB,  dFloat* normalAB,  int threadIndex);
700     da_NewtonCollisionClosestPoint NewtonCollisionClosestPoint;
701 
702     alias da_NewtonCollisionCollide =  int function(const NewtonWorld* newtonWorld,  int maxSize, const NewtonCollision* collisionA, const dFloat* matrixA, const NewtonCollision* collisionB, const dFloat* matrixB,  dFloat* contacts,  dFloat* normals,  dFloat* penetration,  long* attributeA,  long* attributeB,  int threadIndex);
703     da_NewtonCollisionCollide NewtonCollisionCollide;
704 
705     alias da_NewtonCollisionCollideContinue =  int function(const NewtonWorld* newtonWorld,  int maxSize,  dFloat timestep, const NewtonCollision* collisionA, const dFloat* matrixA, const dFloat* velocA, const dFloat* omegaA, const NewtonCollision* collisionB, const dFloat* matrixB, const dFloat* velocB, const dFloat* omegaB,  dFloat* timeOfImpact,  dFloat* contacts,  dFloat* normals,  dFloat* penetration,  long* attributeA,  long* attributeB,  int threadIndex);
706     da_NewtonCollisionCollideContinue NewtonCollisionCollideContinue;
707 
708     alias da_NewtonCollisionSupportVertex =  void function(const NewtonCollision* collision, const dFloat* dir,  dFloat* vertex);
709     da_NewtonCollisionSupportVertex NewtonCollisionSupportVertex;
710 
711     alias da_NewtonCollisionRayCast =  dFloat function(const NewtonCollision* collision, const dFloat* p0, const dFloat* p1,  dFloat* normal,  long* attribute);
712     da_NewtonCollisionRayCast NewtonCollisionRayCast;
713 
714     alias da_NewtonCollisionCalculateAABB =  void function(const NewtonCollision* collision, const dFloat* matrix,  dFloat* p0,  dFloat* p1);
715     da_NewtonCollisionCalculateAABB NewtonCollisionCalculateAABB;
716 
717     alias da_NewtonCollisionForEachPolygonDo =  void function(const NewtonCollision* collision, const dFloat* matrix,  NewtonCollisionIterator callback,  void* userData);
718     da_NewtonCollisionForEachPolygonDo NewtonCollisionForEachPolygonDo;
719 
720     alias da_NewtonCollisionAggregateCreate =  void* function( NewtonWorld* world);
721     da_NewtonCollisionAggregateCreate NewtonCollisionAggregateCreate;
722 
723     alias da_NewtonCollisionAggregateDestroy =  void function( void* aggregate);
724     da_NewtonCollisionAggregateDestroy NewtonCollisionAggregateDestroy;
725 
726     alias da_NewtonCollisionAggregateAddBody =  void function( void* aggregate, const NewtonBody* _body);
727     da_NewtonCollisionAggregateAddBody NewtonCollisionAggregateAddBody;
728 
729     alias da_NewtonCollisionAggregateRemoveBody =  void function( void* aggregate, const NewtonBody* _body);
730     da_NewtonCollisionAggregateRemoveBody NewtonCollisionAggregateRemoveBody;
731 
732     alias da_NewtonCollisionAggregateGetSelfCollision =  int function( void* aggregate);
733     da_NewtonCollisionAggregateGetSelfCollision NewtonCollisionAggregateGetSelfCollision;
734 
735     alias da_NewtonCollisionAggregateSetSelfCollision =  void function( void* aggregate,  int state);
736     da_NewtonCollisionAggregateSetSelfCollision NewtonCollisionAggregateSetSelfCollision;
737 
738     alias da_NewtonSetEulerAngle =  void function(const dFloat* eulersAngles,  dFloat* matrix);
739     da_NewtonSetEulerAngle NewtonSetEulerAngle;
740 
741     alias da_NewtonGetEulerAngle =  void function(const dFloat* matrix,  dFloat* eulersAngles0,  dFloat* eulersAngles1);
742     da_NewtonGetEulerAngle NewtonGetEulerAngle;
743 
744     alias da_NewtonCalculateSpringDamperAcceleration =  dFloat function( dFloat dt,  dFloat ks,  dFloat x,  dFloat kd,  dFloat s);
745     da_NewtonCalculateSpringDamperAcceleration NewtonCalculateSpringDamperAcceleration;
746 
747     alias da_NewtonCreateDynamicBody =  NewtonBody* function(const NewtonWorld* newtonWorld, const NewtonCollision* collision, const dFloat* matrix);
748     da_NewtonCreateDynamicBody NewtonCreateDynamicBody;
749 
750     alias da_NewtonCreateKinematicBody =  NewtonBody* function(const NewtonWorld* newtonWorld, const NewtonCollision* collision, const dFloat* matrix);
751     da_NewtonCreateKinematicBody NewtonCreateKinematicBody;
752 
753     alias da_NewtonCreateAsymetricDynamicBody =  NewtonBody* function(const NewtonWorld* newtonWorld, const NewtonCollision* collision, const dFloat* matrix);
754     da_NewtonCreateAsymetricDynamicBody NewtonCreateAsymetricDynamicBody;
755 
756     alias da_NewtonDestroyBody =  void function(const NewtonBody* _body);
757     da_NewtonDestroyBody NewtonDestroyBody;
758 
759     alias da_NewtonBodyGetSimulationState =  int function(const NewtonBody* _body);
760     da_NewtonBodyGetSimulationState NewtonBodyGetSimulationState;
761 
762     alias da_NewtonBodySetSimulationState =  void function(const NewtonBody* bodyPtr, const int state);
763     da_NewtonBodySetSimulationState NewtonBodySetSimulationState;
764 
765     alias da_NewtonBodyGetType =  int function(const NewtonBody* _body);
766     da_NewtonBodyGetType NewtonBodyGetType;
767 
768     alias da_NewtonBodyGetCollidable =  int function(const NewtonBody* _body);
769     da_NewtonBodyGetCollidable NewtonBodyGetCollidable;
770 
771     alias da_NewtonBodySetCollidable =  void function(const NewtonBody* _body,  int collidableState);
772     da_NewtonBodySetCollidable NewtonBodySetCollidable;
773 
774     alias da_NewtonBodyAddForce =  void function(const NewtonBody* _body, const dFloat* force);
775     da_NewtonBodyAddForce NewtonBodyAddForce;
776 
777     alias da_NewtonBodyAddTorque =  void function(const NewtonBody* _body, const dFloat* torque);
778     da_NewtonBodyAddTorque NewtonBodyAddTorque;
779 
780     alias da_NewtonBodySetCentreOfMass =  void function(const NewtonBody* _body, const dFloat* com);
781     da_NewtonBodySetCentreOfMass NewtonBodySetCentreOfMass;
782 
783     alias da_NewtonBodySetMassMatrix =  void function(const NewtonBody* _body,  dFloat mass,  dFloat Ixx,  dFloat Iyy,  dFloat Izz);
784     da_NewtonBodySetMassMatrix NewtonBodySetMassMatrix;
785 
786     alias da_NewtonBodySetFullMassMatrix =  void function(const NewtonBody* _body,  dFloat mass, const dFloat* inertiaMatrix);
787     da_NewtonBodySetFullMassMatrix NewtonBodySetFullMassMatrix;
788 
789     alias da_NewtonBodySetMassProperties =  void function(const NewtonBody* _body,  dFloat mass, const NewtonCollision* collision);
790     da_NewtonBodySetMassProperties NewtonBodySetMassProperties;
791 
792     alias da_NewtonBodySetMatrix =  void function(const NewtonBody* _body, const dFloat* matrix);
793     da_NewtonBodySetMatrix NewtonBodySetMatrix;
794 
795     alias da_NewtonBodySetMatrixNoSleep =  void function(const NewtonBody* _body, const dFloat* matrix);
796     da_NewtonBodySetMatrixNoSleep NewtonBodySetMatrixNoSleep;
797 
798     alias da_NewtonBodySetMatrixRecursive =  void function(const NewtonBody* _body, const dFloat* matrix);
799     da_NewtonBodySetMatrixRecursive NewtonBodySetMatrixRecursive;
800 
801     alias da_NewtonBodySetMaterialGroupID =  void function(const NewtonBody* _body,  int id);
802     da_NewtonBodySetMaterialGroupID NewtonBodySetMaterialGroupID;
803 
804     alias da_NewtonBodySetContinuousCollisionMode =  void function(const NewtonBody* _body,  uint state);
805     da_NewtonBodySetContinuousCollisionMode NewtonBodySetContinuousCollisionMode;
806 
807     alias da_NewtonBodySetJointRecursiveCollision =  void function(const NewtonBody* _body,  uint state);
808     da_NewtonBodySetJointRecursiveCollision NewtonBodySetJointRecursiveCollision;
809 
810     alias da_NewtonBodySetOmega =  void function(const NewtonBody* _body, const dFloat* omega);
811     da_NewtonBodySetOmega NewtonBodySetOmega;
812 
813     alias da_NewtonBodySetOmegaNoSleep =  void function(const NewtonBody* _body, const dFloat* omega);
814     da_NewtonBodySetOmegaNoSleep NewtonBodySetOmegaNoSleep;
815 
816     alias da_NewtonBodySetVelocity =  void function(const NewtonBody* _body, const dFloat* velocity);
817     da_NewtonBodySetVelocity NewtonBodySetVelocity;
818 
819     alias da_NewtonBodySetVelocityNoSleep =  void function(const NewtonBody* _body, const dFloat* velocity);
820     da_NewtonBodySetVelocityNoSleep NewtonBodySetVelocityNoSleep;
821 
822     alias da_NewtonBodySetForce =  void function(const NewtonBody* _body, const dFloat* force);
823     da_NewtonBodySetForce NewtonBodySetForce;
824 
825     alias da_NewtonBodySetTorque =  void function(const NewtonBody* _body, const dFloat* torque);
826     da_NewtonBodySetTorque NewtonBodySetTorque;
827 
828     alias da_NewtonBodySetLinearDamping =  void function(const NewtonBody* _body,  dFloat linearDamp);
829     da_NewtonBodySetLinearDamping NewtonBodySetLinearDamping;
830 
831     alias da_NewtonBodySetAngularDamping =  void function(const NewtonBody* _body, const dFloat* angularDamp);
832     da_NewtonBodySetAngularDamping NewtonBodySetAngularDamping;
833 
834     alias da_NewtonBodySetCollision =  void function(const NewtonBody* _body, const NewtonCollision* collision);
835     da_NewtonBodySetCollision NewtonBodySetCollision;
836 
837     alias da_NewtonBodySetCollisionScale =  void function(const NewtonBody* _body,  dFloat scaleX,  dFloat scaleY,  dFloat scaleZ);
838     da_NewtonBodySetCollisionScale NewtonBodySetCollisionScale;
839 
840     alias da_NewtonBodyGetSleepState =  int function(const NewtonBody* _body);
841     da_NewtonBodyGetSleepState NewtonBodyGetSleepState;
842 
843     alias da_NewtonBodySetSleepState =  void function(const NewtonBody* _body,  int state);
844     da_NewtonBodySetSleepState NewtonBodySetSleepState;
845 
846     alias da_NewtonBodyGetAutoSleep =  int function(const NewtonBody* _body);
847     da_NewtonBodyGetAutoSleep NewtonBodyGetAutoSleep;
848 
849     alias da_NewtonBodySetAutoSleep =  void function(const NewtonBody* _body,  int state);
850     da_NewtonBodySetAutoSleep NewtonBodySetAutoSleep;
851 
852     alias da_NewtonBodyGetFreezeState =  int function(const NewtonBody* _body);
853     da_NewtonBodyGetFreezeState NewtonBodyGetFreezeState;
854 
855     alias da_NewtonBodySetFreezeState =  void function(const NewtonBody* _body,  int state);
856     da_NewtonBodySetFreezeState NewtonBodySetFreezeState;
857 
858     alias da_NewtonBodyGetGyroscopicTorque =  int function(const NewtonBody* _body);
859     da_NewtonBodyGetGyroscopicTorque NewtonBodyGetGyroscopicTorque;
860 
861     alias da_NewtonBodySetGyroscopicTorque =  void function(const NewtonBody* _body,  int state);
862     da_NewtonBodySetGyroscopicTorque NewtonBodySetGyroscopicTorque;
863 
864     alias da_NewtonBodySetDestructorCallback =  void function(const NewtonBody* _body,  NewtonBodyDestructor callback);
865     da_NewtonBodySetDestructorCallback NewtonBodySetDestructorCallback;
866 
867     alias da_NewtonBodyGetDestructorCallback =  NewtonBodyDestructor function(const NewtonBody* _body);
868     da_NewtonBodyGetDestructorCallback NewtonBodyGetDestructorCallback;
869 
870     alias da_NewtonBodySetTransformCallback =  void function(const NewtonBody* _body,  NewtonSetTransform callback);
871     da_NewtonBodySetTransformCallback NewtonBodySetTransformCallback;
872 
873     alias da_NewtonBodyGetTransformCallback =  NewtonSetTransform function(const NewtonBody* _body);
874     da_NewtonBodyGetTransformCallback NewtonBodyGetTransformCallback;
875 
876     alias da_NewtonBodySetForceAndTorqueCallback =  void function(const NewtonBody* _body,  NewtonApplyForceAndTorque callback);
877     da_NewtonBodySetForceAndTorqueCallback NewtonBodySetForceAndTorqueCallback;
878 
879     alias da_NewtonBodyGetForceAndTorqueCallback =  NewtonApplyForceAndTorque function(const NewtonBody* _body);
880     da_NewtonBodyGetForceAndTorqueCallback NewtonBodyGetForceAndTorqueCallback;
881 
882     alias da_NewtonBodyGetID =  int function(const NewtonBody* _body);
883     da_NewtonBodyGetID NewtonBodyGetID;
884 
885     alias da_NewtonBodySetUserData =  void function(const NewtonBody* _body,  void* userData);
886     da_NewtonBodySetUserData NewtonBodySetUserData;
887 
888     alias da_NewtonBodyGetUserData =  void* function(const NewtonBody* _body);
889     da_NewtonBodyGetUserData NewtonBodyGetUserData;
890 
891     alias da_NewtonBodyGetWorld =  NewtonWorld* function(const NewtonBody* _body);
892     da_NewtonBodyGetWorld NewtonBodyGetWorld;
893 
894     alias da_NewtonBodyGetCollision =  NewtonCollision* function(const NewtonBody* _body);
895     da_NewtonBodyGetCollision NewtonBodyGetCollision;
896 
897     alias da_NewtonBodyGetMaterialGroupID =  int function(const NewtonBody* _body);
898     da_NewtonBodyGetMaterialGroupID NewtonBodyGetMaterialGroupID;
899 
900     alias da_NewtonBodyGetSerializedID =  int function(const NewtonBody* _body);
901     da_NewtonBodyGetSerializedID NewtonBodyGetSerializedID;
902 
903     alias da_NewtonBodyGetContinuousCollisionMode =  int function(const NewtonBody* _body);
904     da_NewtonBodyGetContinuousCollisionMode NewtonBodyGetContinuousCollisionMode;
905 
906     alias da_NewtonBodyGetJointRecursiveCollision =  int function(const NewtonBody* _body);
907     da_NewtonBodyGetJointRecursiveCollision NewtonBodyGetJointRecursiveCollision;
908 
909     alias da_NewtonBodyGetPosition =  void function(const NewtonBody* _body,  dFloat* pos);
910     da_NewtonBodyGetPosition NewtonBodyGetPosition;
911 
912     alias da_NewtonBodyGetMatrix =  void function(const NewtonBody* _body,  dFloat* matrix);
913     da_NewtonBodyGetMatrix NewtonBodyGetMatrix;
914 
915     alias da_NewtonBodyGetRotation =  void function(const NewtonBody* _body,  dFloat* rotation);
916     da_NewtonBodyGetRotation NewtonBodyGetRotation;
917 
918     alias da_NewtonBodyGetMass =  void function(const NewtonBody* _body,  dFloat* mass,  dFloat* Ixx,  dFloat* Iyy,  dFloat* Izz);
919     da_NewtonBodyGetMass NewtonBodyGetMass;
920 
921     alias da_NewtonBodyGetInvMass =  void function(const NewtonBody* _body,  dFloat* invMass,  dFloat* invIxx,  dFloat* invIyy,  dFloat* invIzz);
922     da_NewtonBodyGetInvMass NewtonBodyGetInvMass;
923 
924     alias da_NewtonBodyGetInertiaMatrix =  void function(const NewtonBody* _body,  dFloat* inertiaMatrix);
925     da_NewtonBodyGetInertiaMatrix NewtonBodyGetInertiaMatrix;
926 
927     alias da_NewtonBodyGetInvInertiaMatrix =  void function(const NewtonBody* _body,  dFloat* invInertiaMatrix);
928     da_NewtonBodyGetInvInertiaMatrix NewtonBodyGetInvInertiaMatrix;
929 
930     alias da_NewtonBodyGetOmega =  void function(const NewtonBody* _body,  dFloat* vector);
931     da_NewtonBodyGetOmega NewtonBodyGetOmega;
932 
933     alias da_NewtonBodyGetVelocity =  void function(const NewtonBody* _body,  dFloat* vector);
934     da_NewtonBodyGetVelocity NewtonBodyGetVelocity;
935 
936     alias da_NewtonBodyGetAlpha =  void function(const NewtonBody* _body,  dFloat* vector);
937     da_NewtonBodyGetAlpha NewtonBodyGetAlpha;
938 
939     alias da_NewtonBodyGetAcceleration =  void function(const NewtonBody* _body,  dFloat* vector);
940     da_NewtonBodyGetAcceleration NewtonBodyGetAcceleration;
941 
942     alias da_NewtonBodyGetForce =  void function(const NewtonBody* _body,  dFloat* vector);
943     da_NewtonBodyGetForce NewtonBodyGetForce;
944 
945     alias da_NewtonBodyGetTorque =  void function(const NewtonBody* _body,  dFloat* vector);
946     da_NewtonBodyGetTorque NewtonBodyGetTorque;
947 
948     alias da_NewtonBodyGetCentreOfMass =  void function(const NewtonBody* _body,  dFloat* com);
949     da_NewtonBodyGetCentreOfMass NewtonBodyGetCentreOfMass;
950 
951     alias da_NewtonBodyGetPointVelocity =  void function(const NewtonBody* _body, const dFloat* point,  dFloat* velocOut);
952     da_NewtonBodyGetPointVelocity NewtonBodyGetPointVelocity;
953 
954     alias da_NewtonBodyApplyImpulsePair =  void function(const NewtonBody* _body,  dFloat* linearImpulse,  dFloat* angularImpulse,  dFloat timestep);
955     da_NewtonBodyApplyImpulsePair NewtonBodyApplyImpulsePair;
956 
957     alias da_NewtonBodyAddImpulse =  void function(const NewtonBody* _body, const dFloat* pointDeltaVeloc, const dFloat* pointPosit,  dFloat timestep);
958     da_NewtonBodyAddImpulse NewtonBodyAddImpulse;
959 
960     alias da_NewtonBodyApplyImpulseArray =  void function(const NewtonBody* _body,  int impuleCount,  int strideInByte, const dFloat* impulseArray, const dFloat* pointArray,  dFloat timestep);
961     da_NewtonBodyApplyImpulseArray NewtonBodyApplyImpulseArray;
962 
963     alias da_NewtonBodyIntegrateVelocity =  void function(const NewtonBody* _body,  dFloat timestep);
964     da_NewtonBodyIntegrateVelocity NewtonBodyIntegrateVelocity;
965 
966     alias da_NewtonBodyGetLinearDamping =  dFloat function(const NewtonBody* _body);
967     da_NewtonBodyGetLinearDamping NewtonBodyGetLinearDamping;
968 
969     alias da_NewtonBodyGetAngularDamping =  void function(const NewtonBody* _body,  dFloat* vector);
970     da_NewtonBodyGetAngularDamping NewtonBodyGetAngularDamping;
971 
972     alias da_NewtonBodyGetAABB =  void function(const NewtonBody* _body,  dFloat* p0,  dFloat* p1);
973     da_NewtonBodyGetAABB NewtonBodyGetAABB;
974 
975     alias da_NewtonBodyGetFirstJoint =  NewtonJoint* function(const NewtonBody* _body);
976     da_NewtonBodyGetFirstJoint NewtonBodyGetFirstJoint;
977 
978     alias da_NewtonBodyGetNextJoint =  NewtonJoint* function(const NewtonBody* _body, const NewtonJoint* joint);
979     da_NewtonBodyGetNextJoint NewtonBodyGetNextJoint;
980 
981     alias da_NewtonBodyGetFirstContactJoint =  NewtonJoint* function(const NewtonBody* _body);
982     da_NewtonBodyGetFirstContactJoint NewtonBodyGetFirstContactJoint;
983 
984     alias da_NewtonBodyGetNextContactJoint =  NewtonJoint* function(const NewtonBody* _body, const NewtonJoint* contactJoint);
985     da_NewtonBodyGetNextContactJoint NewtonBodyGetNextContactJoint;
986 
987     alias da_NewtonBodyFindContact =  NewtonJoint* function(const NewtonBody* body0, const NewtonBody* body1);
988     da_NewtonBodyFindContact NewtonBodyFindContact;
989 
990     alias da_NewtonContactJointGetFirstContact =  void* function(const NewtonJoint* contactJoint);
991     da_NewtonContactJointGetFirstContact NewtonContactJointGetFirstContact;
992 
993     alias da_NewtonContactJointGetNextContact =  void* function(const NewtonJoint* contactJoint,  void* contact);
994     da_NewtonContactJointGetNextContact NewtonContactJointGetNextContact;
995 
996     alias da_NewtonContactJointGetContactCount =  int function(const NewtonJoint* contactJoint);
997     da_NewtonContactJointGetContactCount NewtonContactJointGetContactCount;
998 
999     alias da_NewtonContactJointRemoveContact =  void function(const NewtonJoint* contactJoint,  void* contact);
1000     da_NewtonContactJointRemoveContact NewtonContactJointRemoveContact;
1001 
1002     alias da_NewtonContactJointGetClosestDistance =  dFloat function(const NewtonJoint* contactJoint);
1003     da_NewtonContactJointGetClosestDistance NewtonContactJointGetClosestDistance;
1004 
1005     alias da_NewtonContactJointResetSelftJointCollision =  void function(const NewtonJoint* contactJoint);
1006     da_NewtonContactJointResetSelftJointCollision NewtonContactJointResetSelftJointCollision;
1007 
1008     alias da_NewtonContactJointResetIntraJointCollision =  void function(const NewtonJoint* contactJoint);
1009     da_NewtonContactJointResetIntraJointCollision NewtonContactJointResetIntraJointCollision;
1010 
1011     alias da_NewtonContactGetMaterial =  NewtonMaterial* function(const void* contact);
1012     da_NewtonContactGetMaterial NewtonContactGetMaterial;
1013 
1014     alias da_NewtonContactGetCollision0 =  NewtonCollision* function(const void* contact);
1015     da_NewtonContactGetCollision0 NewtonContactGetCollision0;
1016 
1017     alias da_NewtonContactGetCollision1 =  NewtonCollision* function(const void* contact);
1018     da_NewtonContactGetCollision1 NewtonContactGetCollision1;
1019 
1020     alias da_NewtonContactGetCollisionID0 =  void* function(const void* contact);
1021     da_NewtonContactGetCollisionID0 NewtonContactGetCollisionID0;
1022 
1023     alias da_NewtonContactGetCollisionID1 =  void* function(const void* contact);
1024     da_NewtonContactGetCollisionID1 NewtonContactGetCollisionID1;
1025 
1026     alias da_NewtonJointGetUserData =  void* function(const NewtonJoint* joint);
1027     da_NewtonJointGetUserData NewtonJointGetUserData;
1028 
1029     alias da_NewtonJointSetUserData =  void function(const NewtonJoint* joint,  void* userData);
1030     da_NewtonJointSetUserData NewtonJointSetUserData;
1031 
1032     alias da_NewtonJointGetBody0 =  NewtonBody* function(const NewtonJoint* joint);
1033     da_NewtonJointGetBody0 NewtonJointGetBody0;
1034 
1035     alias da_NewtonJointGetBody1 =  NewtonBody* function(const NewtonJoint* joint);
1036     da_NewtonJointGetBody1 NewtonJointGetBody1;
1037 
1038     alias da_NewtonJointGetInfo =  void function(const NewtonJoint* joint,  NewtonJointRecord* info);
1039     da_NewtonJointGetInfo NewtonJointGetInfo;
1040 
1041     alias da_NewtonJointGetCollisionState =  int function(const NewtonJoint* joint);
1042     da_NewtonJointGetCollisionState NewtonJointGetCollisionState;
1043 
1044     alias da_NewtonJointSetCollisionState =  void function(const NewtonJoint* joint,  int state);
1045     da_NewtonJointSetCollisionState NewtonJointSetCollisionState;
1046 
1047     alias da_NewtonJointGetStiffness =  dFloat function(const NewtonJoint* joint);
1048     da_NewtonJointGetStiffness NewtonJointGetStiffness;
1049 
1050     alias da_NewtonJointSetStiffness =  void function(const NewtonJoint* joint,  dFloat state);
1051     da_NewtonJointSetStiffness NewtonJointSetStiffness;
1052 
1053     alias da_NewtonDestroyJoint =  void function(const NewtonWorld* newtonWorld, const NewtonJoint* joint);
1054     da_NewtonDestroyJoint NewtonDestroyJoint;
1055 
1056     alias da_NewtonJointSetDestructor =  void function(const NewtonJoint* joint,  NewtonConstraintDestructor destructor);
1057     da_NewtonJointSetDestructor NewtonJointSetDestructor;
1058 
1059     alias da_NewtonJointIsActive =  int function(const NewtonJoint* joint);
1060     da_NewtonJointIsActive NewtonJointIsActive;
1061 
1062     alias da_NewtonCreateMassSpringDamperSystem =  NewtonCollision* function(const NewtonWorld* newtonWorld,  int shapeID, const dFloat* points,  int pointCount,  int strideInBytes, const dFloat* pointMass, const int* links,  int linksCount, const dFloat* linksSpring, const dFloat* linksDamper);
1063     da_NewtonCreateMassSpringDamperSystem NewtonCreateMassSpringDamperSystem;
1064 
1065     alias da_NewtonCreateDeformableSolid =  NewtonCollision* function(const NewtonWorld* newtonWorld, const NewtonMesh* mesh,  int shapeID);
1066     da_NewtonCreateDeformableSolid NewtonCreateDeformableSolid;
1067 
1068     alias da_NewtonDeformableMeshGetParticleCount =  int function(const NewtonCollision* deformableMesh);
1069     da_NewtonDeformableMeshGetParticleCount NewtonDeformableMeshGetParticleCount;
1070 
1071     alias da_NewtonDeformableMeshGetParticleStrideInBytes =  int function(const NewtonCollision* deformableMesh);
1072     da_NewtonDeformableMeshGetParticleStrideInBytes NewtonDeformableMeshGetParticleStrideInBytes;
1073 
1074     alias da_NewtonDeformableMeshGetParticleArray = const dFloat* function(const NewtonCollision* deformableMesh);
1075     da_NewtonDeformableMeshGetParticleArray NewtonDeformableMeshGetParticleArray;
1076 
1077     alias da_NewtonConstraintCreateBall =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const NewtonBody* childBody, const NewtonBody* parentBody);
1078     da_NewtonConstraintCreateBall NewtonConstraintCreateBall;
1079 
1080     alias da_NewtonBallSetUserCallback =  void function(const NewtonJoint* ball,  NewtonBallCallback callback);
1081     da_NewtonBallSetUserCallback NewtonBallSetUserCallback;
1082 
1083     alias da_NewtonBallGetJointAngle =  void function(const NewtonJoint* ball,  dFloat* angle);
1084     da_NewtonBallGetJointAngle NewtonBallGetJointAngle;
1085 
1086     alias da_NewtonBallGetJointOmega =  void function(const NewtonJoint* ball,  dFloat* omega);
1087     da_NewtonBallGetJointOmega NewtonBallGetJointOmega;
1088 
1089     alias da_NewtonBallGetJointForce =  void function(const NewtonJoint* ball,  dFloat* force);
1090     da_NewtonBallGetJointForce NewtonBallGetJointForce;
1091 
1092     alias da_NewtonBallSetConeLimits =  void function(const NewtonJoint* ball, const dFloat* pin,  dFloat maxConeAngle,  dFloat maxTwistAngle);
1093     da_NewtonBallSetConeLimits NewtonBallSetConeLimits;
1094 
1095     /*
1096     alias da_NewtonConstraintCreateHinge = NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir, const NewtonBody* childBody, const NewtonBody* parentBody);
1097     da_NewtonConstraintCreateHinge NewtonConstraintCreateHinge;
1098 
1099     alias da_NewtonHingeSetUserCallback = void function(const NewtonJoint* hinge, NewtonHingeCallback callback);
1100     da_NewtonHingeSetUserCallback NewtonHingeSetUserCallback;
1101 
1102     alias da_NewtonHingeGetJointAngle = dFloat function(const NewtonJoint* hinge);
1103     da_NewtonHingeGetJointAngle NewtonHingeGetJointAngle;
1104     
1105     alias da_NewtonHingeGetJointOmega = dFloat function(const NewtonJoint* hinge);
1106     da_NewtonHingeGetJointOmega NewtonHingeGetJointOmega;
1107     
1108     alias da_NewtonHingeGetJointForce = void function(const NewtonJoint* hinge, const dFloat* force);
1109     da_NewtonHingeGetJointForce NewtonHingeGetJointForce;
1110     
1111     alias da_NewtonHingeCalculateStopAlpha = dFloat function(const NewtonJoint* hinge, const NewtonHingeSliderUpdateDesc* desc, dFloat angle);
1112     da_NewtonHingeCalculateStopAlpha NewtonHingeCalculateStopAlpha;
1113     */
1114     
1115     alias da_NewtonConstraintCreateSlider =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir, const NewtonBody* childBody, const NewtonBody* parentBody);
1116     da_NewtonConstraintCreateSlider NewtonConstraintCreateSlider;
1117 
1118     alias da_NewtonSliderSetUserCallback =  void function(const NewtonJoint* slider,  NewtonSliderCallback callback);
1119     da_NewtonSliderSetUserCallback NewtonSliderSetUserCallback;
1120 
1121     alias da_NewtonSliderGetJointPosit =  dFloat function(const NewtonJoint* slider);
1122     da_NewtonSliderGetJointPosit NewtonSliderGetJointPosit;
1123 
1124     alias da_NewtonSliderGetJointVeloc =  dFloat function(const NewtonJoint* slider);
1125     da_NewtonSliderGetJointVeloc NewtonSliderGetJointVeloc;
1126 
1127     alias da_NewtonSliderGetJointForce =  void function(const NewtonJoint* slider,  dFloat* force);
1128     da_NewtonSliderGetJointForce NewtonSliderGetJointForce;
1129 
1130     alias da_NewtonSliderCalculateStopAccel =  dFloat function(const NewtonJoint* slider, const NewtonHingeSliderUpdateDesc* desc,  dFloat position);
1131     da_NewtonSliderCalculateStopAccel NewtonSliderCalculateStopAccel;
1132 
1133     alias da_NewtonConstraintCreateCorkscrew =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir, const NewtonBody* childBody, const NewtonBody* parentBody);
1134     da_NewtonConstraintCreateCorkscrew NewtonConstraintCreateCorkscrew;
1135 
1136     alias da_NewtonCorkscrewSetUserCallback =  void function(const NewtonJoint* corkscrew,  NewtonCorkscrewCallback callback);
1137     da_NewtonCorkscrewSetUserCallback NewtonCorkscrewSetUserCallback;
1138 
1139     alias da_NewtonCorkscrewGetJointPosit =  dFloat function(const NewtonJoint* corkscrew);
1140     da_NewtonCorkscrewGetJointPosit NewtonCorkscrewGetJointPosit;
1141 
1142     alias da_NewtonCorkscrewGetJointAngle =  dFloat function(const NewtonJoint* corkscrew);
1143     da_NewtonCorkscrewGetJointAngle NewtonCorkscrewGetJointAngle;
1144 
1145     alias da_NewtonCorkscrewGetJointVeloc =  dFloat function(const NewtonJoint* corkscrew);
1146     da_NewtonCorkscrewGetJointVeloc NewtonCorkscrewGetJointVeloc;
1147 
1148     alias da_NewtonCorkscrewGetJointOmega =  dFloat function(const NewtonJoint* corkscrew);
1149     da_NewtonCorkscrewGetJointOmega NewtonCorkscrewGetJointOmega;
1150 
1151     alias da_NewtonCorkscrewGetJointForce =  void function(const NewtonJoint* corkscrew,  dFloat* force);
1152     da_NewtonCorkscrewGetJointForce NewtonCorkscrewGetJointForce;
1153 
1154     alias da_NewtonCorkscrewCalculateStopAlpha =  dFloat function(const NewtonJoint* corkscrew, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1155     da_NewtonCorkscrewCalculateStopAlpha NewtonCorkscrewCalculateStopAlpha;
1156 
1157     alias da_NewtonCorkscrewCalculateStopAccel =  dFloat function(const NewtonJoint* corkscrew, const NewtonHingeSliderUpdateDesc* desc,  dFloat position);
1158     da_NewtonCorkscrewCalculateStopAccel NewtonCorkscrewCalculateStopAccel;
1159 
1160     alias da_NewtonConstraintCreateUniversal =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir0, const dFloat* pinDir1, const NewtonBody* childBody, const NewtonBody* parentBody);
1161     da_NewtonConstraintCreateUniversal NewtonConstraintCreateUniversal;
1162 
1163     alias da_NewtonUniversalSetUserCallback =  void function(const NewtonJoint* universal,  NewtonUniversalCallback callback);
1164     da_NewtonUniversalSetUserCallback NewtonUniversalSetUserCallback;
1165 
1166     alias da_NewtonUniversalGetJointAngle0 =  dFloat function(const NewtonJoint* universal);
1167     da_NewtonUniversalGetJointAngle0 NewtonUniversalGetJointAngle0;
1168 
1169     alias da_NewtonUniversalGetJointAngle1 =  dFloat function(const NewtonJoint* universal);
1170     da_NewtonUniversalGetJointAngle1 NewtonUniversalGetJointAngle1;
1171 
1172     alias da_NewtonUniversalGetJointOmega0 =  dFloat function(const NewtonJoint* universal);
1173     da_NewtonUniversalGetJointOmega0 NewtonUniversalGetJointOmega0;
1174 
1175     alias da_NewtonUniversalGetJointOmega1 =  dFloat function(const NewtonJoint* universal);
1176     da_NewtonUniversalGetJointOmega1 NewtonUniversalGetJointOmega1;
1177 
1178     alias da_NewtonUniversalGetJointForce =  void function(const NewtonJoint* universal,  dFloat* force);
1179     da_NewtonUniversalGetJointForce NewtonUniversalGetJointForce;
1180 
1181     alias da_NewtonUniversalCalculateStopAlpha0 =  dFloat function(const NewtonJoint* universal, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1182     da_NewtonUniversalCalculateStopAlpha0 NewtonUniversalCalculateStopAlpha0;
1183 
1184     alias da_NewtonUniversalCalculateStopAlpha1 =  dFloat function(const NewtonJoint* universal, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1185     da_NewtonUniversalCalculateStopAlpha1 NewtonUniversalCalculateStopAlpha1;
1186 
1187     alias da_NewtonConstraintCreateUpVector =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pinDir, const NewtonBody* _body);
1188     da_NewtonConstraintCreateUpVector NewtonConstraintCreateUpVector;
1189 
1190     alias da_NewtonUpVectorGetPin =  void function(const NewtonJoint* upVector,  dFloat* pin);
1191     da_NewtonUpVectorGetPin NewtonUpVectorGetPin;
1192 
1193     alias da_NewtonUpVectorSetPin =  void function(const NewtonJoint* upVector, const dFloat* pin);
1194     da_NewtonUpVectorSetPin NewtonUpVectorSetPin;
1195 
1196     alias da_NewtonConstraintCreateUserJoint =  NewtonJoint* function(const NewtonWorld* newtonWorld,  int maxDOF,  NewtonUserBilateralCallback callback, const NewtonBody* childBody, const NewtonBody* parentBody);
1197     da_NewtonConstraintCreateUserJoint NewtonConstraintCreateUserJoint;
1198 
1199     alias da_NewtonUserJointGetSolverModel =  int function(const NewtonJoint* joint);
1200     da_NewtonUserJointGetSolverModel NewtonUserJointGetSolverModel;
1201 
1202     alias da_NewtonUserJointSetSolverModel =  void function(const NewtonJoint* joint,  int model);
1203     da_NewtonUserJointSetSolverModel NewtonUserJointSetSolverModel;
1204 
1205     alias da_NewtonUserJointMassScale =  void function(const NewtonJoint* joint,  dFloat scaleBody0,  dFloat scaleBody1);
1206     da_NewtonUserJointMassScale NewtonUserJointMassScale;
1207 
1208     alias da_NewtonUserJointSetFeedbackCollectorCallback =  void function(const NewtonJoint* joint,  NewtonUserBilateralCallback getFeedback);
1209     da_NewtonUserJointSetFeedbackCollectorCallback NewtonUserJointSetFeedbackCollectorCallback;
1210 
1211     alias da_NewtonUserJointAddLinearRow =  void function(const NewtonJoint* joint, const dFloat* pivot0, const dFloat* pivot1, const dFloat* dir);
1212     da_NewtonUserJointAddLinearRow NewtonUserJointAddLinearRow;
1213 
1214     alias da_NewtonUserJointAddAngularRow =  void function(const NewtonJoint* joint,  dFloat relativeAngle, const dFloat* dir);
1215     da_NewtonUserJointAddAngularRow NewtonUserJointAddAngularRow;
1216 
1217     alias da_NewtonUserJointAddGeneralRow =  void function(const NewtonJoint* joint, const dFloat* jacobian0, const dFloat* jacobian1);
1218     da_NewtonUserJointAddGeneralRow NewtonUserJointAddGeneralRow;
1219 
1220     alias da_NewtonUserJointSetRowMinimumFriction =  void function(const NewtonJoint* joint,  dFloat friction);
1221     da_NewtonUserJointSetRowMinimumFriction NewtonUserJointSetRowMinimumFriction;
1222 
1223     alias da_NewtonUserJointSetRowMaximumFriction =  void function(const NewtonJoint* joint,  dFloat friction);
1224     da_NewtonUserJointSetRowMaximumFriction NewtonUserJointSetRowMaximumFriction;
1225 
1226     alias da_NewtonUserJointCalculateRowZeroAcceleration =  dFloat function(const NewtonJoint* joint);
1227     da_NewtonUserJointCalculateRowZeroAcceleration NewtonUserJointCalculateRowZeroAcceleration;
1228 
1229     alias da_NewtonUserJointGetRowAcceleration =  dFloat function(const NewtonJoint* joint);
1230     da_NewtonUserJointGetRowAcceleration NewtonUserJointGetRowAcceleration;
1231 
1232     alias da_NewtonUserJointGetRowJacobian =  void function(const NewtonJoint* joint,  dFloat* linear0,  dFloat* angula0,  dFloat* linear1,  dFloat* angula1);
1233     da_NewtonUserJointGetRowJacobian NewtonUserJointGetRowJacobian;
1234 
1235     alias da_NewtonUserJointSetRowAcceleration =  void function(const NewtonJoint* joint,  dFloat acceleration);
1236     da_NewtonUserJointSetRowAcceleration NewtonUserJointSetRowAcceleration;
1237 
1238     alias da_NewtonUserJointSetRowMassDependentSpringDamperAcceleration = void function(const NewtonJoint* joint, dFloat spring, dFloat damper);
1239     da_NewtonUserJointSetRowMassDependentSpringDamperAcceleration NewtonUserJointSetRowMassDependentSpringDamperAcceleration;
1240 
1241     alias da_NewtonUserJointSetRowMassIndependentSpringDamperAcceleration = void function(const NewtonJoint* joint, dFloat rowStiffness, dFloat spring, dFloat damper);
1242     da_NewtonUserJointSetRowMassIndependentSpringDamperAcceleration NewtonUserJointSetRowMassIndependentSpringDamperAcceleration;
1243 
1244     alias da_NewtonUserJointSetRowStiffness =  void function(const NewtonJoint* joint,  dFloat stiffness);
1245     da_NewtonUserJointSetRowStiffness NewtonUserJointSetRowStiffness;
1246 
1247     alias da_NewtonUserJoinRowsCount =  int function(const NewtonJoint* joint);
1248     da_NewtonUserJoinRowsCount NewtonUserJoinRowsCount;
1249 
1250     alias da_NewtonUserJointGetGeneralRow =  void function(const NewtonJoint* joint,  int index,  dFloat* jacobian0,  dFloat* jacobian1);
1251     da_NewtonUserJointGetGeneralRow NewtonUserJointGetGeneralRow;
1252 
1253     alias da_NewtonUserJointGetRowForce =  dFloat function(const NewtonJoint* joint,  int row);
1254     da_NewtonUserJointGetRowForce NewtonUserJointGetRowForce;
1255 
1256     alias da_NewtonMeshCreate =  NewtonMesh* function(const NewtonWorld* newtonWorld);
1257     da_NewtonMeshCreate NewtonMeshCreate;
1258 
1259     alias da_NewtonMeshCreateFromMesh =  NewtonMesh* function(const NewtonMesh* mesh);
1260     da_NewtonMeshCreateFromMesh NewtonMeshCreateFromMesh;
1261 
1262     alias da_NewtonMeshCreateFromCollision =  NewtonMesh* function(const NewtonCollision* collision);
1263     da_NewtonMeshCreateFromCollision NewtonMeshCreateFromCollision;
1264 
1265     alias da_NewtonMeshCreateTetrahedraIsoSurface =  NewtonMesh* function(const NewtonMesh* mesh);
1266     da_NewtonMeshCreateTetrahedraIsoSurface NewtonMeshCreateTetrahedraIsoSurface;
1267 
1268     alias da_NewtonMeshCreateConvexHull =  NewtonMesh* function(const NewtonWorld* newtonWorld,  int pointCount, const dFloat* vertexCloud,  int strideInBytes,  dFloat tolerance);
1269     da_NewtonMeshCreateConvexHull NewtonMeshCreateConvexHull;
1270 
1271     alias da_NewtonMeshCreateVoronoiConvexDecomposition =  NewtonMesh* function(const NewtonWorld* newtonWorld,  int pointCount, const dFloat* vertexCloud,  int strideInBytes,  int materialID, const dFloat* textureMatrix);
1272     da_NewtonMeshCreateVoronoiConvexDecomposition NewtonMeshCreateVoronoiConvexDecomposition;
1273 
1274     alias da_NewtonMeshCreateFromSerialization =  NewtonMesh* function(const NewtonWorld* newtonWorld,  NewtonDeserializeCallback deserializeFunction,  void* serializeHandle);
1275     da_NewtonMeshCreateFromSerialization NewtonMeshCreateFromSerialization;
1276 
1277     alias da_NewtonMeshDestroy =  void function(const NewtonMesh* mesh);
1278     da_NewtonMeshDestroy NewtonMeshDestroy;
1279 
1280     alias da_NewtonMeshSerialize =  void function(const NewtonMesh* mesh,  NewtonSerializeCallback serializeFunction,  void* serializeHandle);
1281     da_NewtonMeshSerialize NewtonMeshSerialize;
1282 
1283     alias da_NewtonMeshSaveOFF =  void function(const NewtonMesh* mesh, const char* filename);
1284     da_NewtonMeshSaveOFF NewtonMeshSaveOFF;
1285 
1286     alias da_NewtonMeshLoadOFF =  NewtonMesh* function(const NewtonWorld* newtonWorld, const char* filename);
1287     da_NewtonMeshLoadOFF NewtonMeshLoadOFF;
1288 
1289     alias da_NewtonMeshLoadTetrahedraMesh =  NewtonMesh* function(const NewtonWorld* newtonWorld, const char* filename);
1290     da_NewtonMeshLoadTetrahedraMesh NewtonMeshLoadTetrahedraMesh;
1291 
1292     alias da_NewtonMeshFlipWinding =  void function(const NewtonMesh* mesh);
1293     da_NewtonMeshFlipWinding NewtonMeshFlipWinding;
1294 
1295     alias da_NewtonMeshApplyTransform =  void function(const NewtonMesh* mesh, const dFloat* matrix);
1296     da_NewtonMeshApplyTransform NewtonMeshApplyTransform;
1297 
1298     alias da_NewtonMeshCalculateOOBB =  void function(const NewtonMesh* mesh,  dFloat* matrix,  dFloat* x,  dFloat* y,  dFloat* z);
1299     da_NewtonMeshCalculateOOBB NewtonMeshCalculateOOBB;
1300 
1301     alias da_NewtonMeshCalculateVertexNormals =  void function(const NewtonMesh* mesh,  dFloat angleInRadians);
1302     da_NewtonMeshCalculateVertexNormals NewtonMeshCalculateVertexNormals;
1303 
1304     alias da_NewtonMeshApplySphericalMapping =  void function(const NewtonMesh* mesh,  int material, const dFloat* aligmentMatrix);
1305     da_NewtonMeshApplySphericalMapping NewtonMeshApplySphericalMapping;
1306 
1307     alias da_NewtonMeshApplyCylindricalMapping =  void function(const NewtonMesh* mesh,  int cylinderMaterial,  int capMaterial, const dFloat* aligmentMatrix);
1308     da_NewtonMeshApplyCylindricalMapping NewtonMeshApplyCylindricalMapping;
1309 
1310     alias da_NewtonMeshApplyBoxMapping =  void function(const NewtonMesh* mesh,  int frontMaterial,  int sideMaterial,  int topMaterial, const dFloat* aligmentMatrix);
1311     da_NewtonMeshApplyBoxMapping NewtonMeshApplyBoxMapping;
1312 
1313     alias da_NewtonMeshApplyAngleBasedMapping =  void function(const NewtonMesh* mesh,  int material,  NewtonReportProgress reportPrograssCallback,  void* reportPrgressUserData,  dFloat* aligmentMatrix);
1314     da_NewtonMeshApplyAngleBasedMapping NewtonMeshApplyAngleBasedMapping;
1315 
1316     alias da_NewtonCreateTetrahedraLinearBlendSkinWeightsChannel =  void function(const NewtonMesh* tetrahedraMesh,  NewtonMesh* skinMesh);
1317     da_NewtonCreateTetrahedraLinearBlendSkinWeightsChannel NewtonCreateTetrahedraLinearBlendSkinWeightsChannel;
1318 
1319     alias da_NewtonMeshOptimize =  void function(const NewtonMesh* mesh);
1320     da_NewtonMeshOptimize NewtonMeshOptimize;
1321 
1322     alias da_NewtonMeshOptimizePoints =  void function(const NewtonMesh* mesh);
1323     da_NewtonMeshOptimizePoints NewtonMeshOptimizePoints;
1324 
1325     alias da_NewtonMeshOptimizeVertex =  void function(const NewtonMesh* mesh);
1326     da_NewtonMeshOptimizeVertex NewtonMeshOptimizeVertex;
1327 
1328     alias da_NewtonMeshIsOpenMesh =  int function(const NewtonMesh* mesh);
1329     da_NewtonMeshIsOpenMesh NewtonMeshIsOpenMesh;
1330 
1331     alias da_NewtonMeshFixTJoints =  void function(const NewtonMesh* mesh);
1332     da_NewtonMeshFixTJoints NewtonMeshFixTJoints;
1333 
1334     alias da_NewtonMeshPolygonize =  void function(const NewtonMesh* mesh);
1335     da_NewtonMeshPolygonize NewtonMeshPolygonize;
1336 
1337     alias da_NewtonMeshTriangulate =  void function(const NewtonMesh* mesh);
1338     da_NewtonMeshTriangulate NewtonMeshTriangulate;
1339 
1340     alias da_NewtonMeshUnion =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1341     da_NewtonMeshUnion NewtonMeshUnion;
1342 
1343     alias da_NewtonMeshDifference =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1344     da_NewtonMeshDifference NewtonMeshDifference;
1345 
1346     alias da_NewtonMeshIntersection =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1347     da_NewtonMeshIntersection NewtonMeshIntersection;
1348 
1349     alias da_NewtonMeshClip =  void function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix,  NewtonMesh* * topMesh,  NewtonMesh* * bottomMesh);
1350     da_NewtonMeshClip NewtonMeshClip;
1351 
1352     alias da_NewtonMeshConvexMeshIntersection =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* convexMesh);
1353     da_NewtonMeshConvexMeshIntersection NewtonMeshConvexMeshIntersection;
1354 
1355     alias da_NewtonMeshSimplify =  NewtonMesh* function(const NewtonMesh* mesh,  int maxVertexCount,  NewtonReportProgress reportPrograssCallback,  void* reportPrgressUserData);
1356     da_NewtonMeshSimplify NewtonMeshSimplify;
1357 
1358     alias da_NewtonMeshApproximateConvexDecomposition =  NewtonMesh* function(const NewtonMesh* mesh,  dFloat maxConcavity,  dFloat backFaceDistanceFactor,  int maxCount,  int maxVertexPerHull,  NewtonReportProgress reportProgressCallback,  void* reportProgressUserData);
1359     da_NewtonMeshApproximateConvexDecomposition NewtonMeshApproximateConvexDecomposition;
1360 
1361     alias da_NewtonRemoveUnusedVertices =  void function(const NewtonMesh* mesh,  int* vertexRemapTable);
1362     da_NewtonRemoveUnusedVertices NewtonRemoveUnusedVertices;
1363 
1364     alias da_NewtonMeshBeginBuild =  void function(const NewtonMesh* mesh);
1365     da_NewtonMeshBeginBuild NewtonMeshBeginBuild;
1366 
1367     alias da_NewtonMeshBeginFace =  void function(const NewtonMesh* mesh);
1368     da_NewtonMeshBeginFace NewtonMeshBeginFace;
1369 
1370     alias da_NewtonMeshAddPoint =  void function(const NewtonMesh* mesh,  double x,  double y,  double z);
1371     da_NewtonMeshAddPoint NewtonMeshAddPoint;
1372 
1373     alias da_NewtonMeshAddLayer =  void function(const NewtonMesh* mesh,  int layerIndex);
1374     da_NewtonMeshAddLayer NewtonMeshAddLayer;
1375 
1376     alias da_NewtonMeshAddMaterial =  void function(const NewtonMesh* mesh,  int materialIndex);
1377     da_NewtonMeshAddMaterial NewtonMeshAddMaterial;
1378 
1379     alias da_NewtonMeshAddNormal =  void function(const NewtonMesh* mesh,  dFloat x,  dFloat y,  dFloat z);
1380     da_NewtonMeshAddNormal NewtonMeshAddNormal;
1381 
1382     alias da_NewtonMeshAddBinormal =  void function(const NewtonMesh* mesh,  dFloat x,  dFloat y,  dFloat z);
1383     da_NewtonMeshAddBinormal NewtonMeshAddBinormal;
1384 
1385     alias da_NewtonMeshAddUV0 =  void function(const NewtonMesh* mesh,  dFloat u,  dFloat v);
1386     da_NewtonMeshAddUV0 NewtonMeshAddUV0;
1387 
1388     alias da_NewtonMeshAddUV1 =  void function(const NewtonMesh* mesh,  dFloat u,  dFloat v);
1389     da_NewtonMeshAddUV1 NewtonMeshAddUV1;
1390 
1391     alias da_NewtonMeshAddVertexColor =  void function(const NewtonMesh* mesh,  dFloat r,  dFloat g,  dFloat b,  dFloat a);
1392     da_NewtonMeshAddVertexColor NewtonMeshAddVertexColor;
1393 
1394     alias da_NewtonMeshEndFace =  void function(const NewtonMesh* mesh);
1395     da_NewtonMeshEndFace NewtonMeshEndFace;
1396 
1397     alias da_NewtonMeshEndBuild =  void function(const NewtonMesh* mesh);
1398     da_NewtonMeshEndBuild NewtonMeshEndBuild;
1399 
1400     alias da_NewtonMeshClearVertexFormat =  void function( NewtonMeshVertexFormat* format);
1401     da_NewtonMeshClearVertexFormat NewtonMeshClearVertexFormat;
1402 
1403     alias da_NewtonMeshBuildFromVertexListIndexList =  void function(const NewtonMesh* mesh, const NewtonMeshVertexFormat* format);
1404     da_NewtonMeshBuildFromVertexListIndexList NewtonMeshBuildFromVertexListIndexList;
1405 
1406     alias da_NewtonMeshGetPointCount =  int function(const NewtonMesh* mesh);
1407     da_NewtonMeshGetPointCount NewtonMeshGetPointCount;
1408 
1409     alias da_NewtonMeshGetIndexToVertexMap = const int* function(const NewtonMesh* mesh);
1410     da_NewtonMeshGetIndexToVertexMap NewtonMeshGetIndexToVertexMap;
1411 
1412     alias da_NewtonMeshGetVertexDoubleChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  double* outBuffer);
1413     da_NewtonMeshGetVertexDoubleChannel NewtonMeshGetVertexDoubleChannel;
1414 
1415     alias da_NewtonMeshGetVertexChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1416     da_NewtonMeshGetVertexChannel NewtonMeshGetVertexChannel;
1417 
1418     alias da_NewtonMeshGetNormalChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1419     da_NewtonMeshGetNormalChannel NewtonMeshGetNormalChannel;
1420 
1421     alias da_NewtonMeshGetBinormalChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1422     da_NewtonMeshGetBinormalChannel NewtonMeshGetBinormalChannel;
1423 
1424     alias da_NewtonMeshGetUV0Channel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1425     da_NewtonMeshGetUV0Channel NewtonMeshGetUV0Channel;
1426 
1427     alias da_NewtonMeshGetUV1Channel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1428     da_NewtonMeshGetUV1Channel NewtonMeshGetUV1Channel;
1429 
1430     alias da_NewtonMeshGetVertexColorChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1431     da_NewtonMeshGetVertexColorChannel NewtonMeshGetVertexColorChannel;
1432 
1433     alias da_NewtonMeshHasNormalChannel =  int function(const NewtonMesh* mesh);
1434     da_NewtonMeshHasNormalChannel NewtonMeshHasNormalChannel;
1435 
1436     alias da_NewtonMeshHasBinormalChannel =  int function(const NewtonMesh* mesh);
1437     da_NewtonMeshHasBinormalChannel NewtonMeshHasBinormalChannel;
1438 
1439     alias da_NewtonMeshHasUV0Channel =  int function(const NewtonMesh* mesh);
1440     da_NewtonMeshHasUV0Channel NewtonMeshHasUV0Channel;
1441 
1442     alias da_NewtonMeshHasUV1Channel =  int function(const NewtonMesh* mesh);
1443     da_NewtonMeshHasUV1Channel NewtonMeshHasUV1Channel;
1444 
1445     alias da_NewtonMeshHasVertexColorChannel =  int function(const NewtonMesh* mesh);
1446     da_NewtonMeshHasVertexColorChannel NewtonMeshHasVertexColorChannel;
1447 
1448     alias da_NewtonMeshBeginHandle =  void* function(const NewtonMesh* mesh);
1449     da_NewtonMeshBeginHandle NewtonMeshBeginHandle;
1450 
1451     alias da_NewtonMeshEndHandle =  void function(const NewtonMesh* mesh,  void* handle);
1452     da_NewtonMeshEndHandle NewtonMeshEndHandle;
1453 
1454     alias da_NewtonMeshFirstMaterial =  int function(const NewtonMesh* mesh,  void* handle);
1455     da_NewtonMeshFirstMaterial NewtonMeshFirstMaterial;
1456 
1457     alias da_NewtonMeshNextMaterial =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1458     da_NewtonMeshNextMaterial NewtonMeshNextMaterial;
1459 
1460     alias da_NewtonMeshMaterialGetMaterial =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1461     da_NewtonMeshMaterialGetMaterial NewtonMeshMaterialGetMaterial;
1462 
1463     alias da_NewtonMeshMaterialGetIndexCount =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1464     da_NewtonMeshMaterialGetIndexCount NewtonMeshMaterialGetIndexCount;
1465 
1466     alias da_NewtonMeshMaterialGetIndexStream =  void function(const NewtonMesh* mesh,  void* handle,  int materialId,  int* index);
1467     da_NewtonMeshMaterialGetIndexStream NewtonMeshMaterialGetIndexStream;
1468 
1469     alias da_NewtonMeshMaterialGetIndexStreamShort =  void function(const NewtonMesh* mesh,  void* handle,  int materialId,  short* index);
1470     da_NewtonMeshMaterialGetIndexStreamShort NewtonMeshMaterialGetIndexStreamShort;
1471 
1472     alias da_NewtonMeshCreateFirstSingleSegment =  NewtonMesh* function(const NewtonMesh* mesh);
1473     da_NewtonMeshCreateFirstSingleSegment NewtonMeshCreateFirstSingleSegment;
1474 
1475     alias da_NewtonMeshCreateNextSingleSegment =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* segment);
1476     da_NewtonMeshCreateNextSingleSegment NewtonMeshCreateNextSingleSegment;
1477 
1478     alias da_NewtonMeshCreateFirstLayer =  NewtonMesh* function(const NewtonMesh* mesh);
1479     da_NewtonMeshCreateFirstLayer NewtonMeshCreateFirstLayer;
1480 
1481     alias da_NewtonMeshCreateNextLayer =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* segment);
1482     da_NewtonMeshCreateNextLayer NewtonMeshCreateNextLayer;
1483 
1484     alias da_NewtonMeshGetTotalFaceCount =  int function(const NewtonMesh* mesh);
1485     da_NewtonMeshGetTotalFaceCount NewtonMeshGetTotalFaceCount;
1486 
1487     alias da_NewtonMeshGetTotalIndexCount =  int function(const NewtonMesh* mesh);
1488     da_NewtonMeshGetTotalIndexCount NewtonMeshGetTotalIndexCount;
1489 
1490     alias da_NewtonMeshGetFaces =  void function(const NewtonMesh* mesh,  int* faceIndexCount,  int* faceMaterial,  void* * faceIndices);
1491     da_NewtonMeshGetFaces NewtonMeshGetFaces;
1492 
1493     alias da_NewtonMeshGetVertexCount =  int function(const NewtonMesh* mesh);
1494     da_NewtonMeshGetVertexCount NewtonMeshGetVertexCount;
1495 
1496     alias da_NewtonMeshGetVertexStrideInByte =  int function(const NewtonMesh* mesh);
1497     da_NewtonMeshGetVertexStrideInByte NewtonMeshGetVertexStrideInByte;
1498 
1499     alias da_NewtonMeshGetVertexArray = const double* function(const NewtonMesh* mesh);
1500     da_NewtonMeshGetVertexArray NewtonMeshGetVertexArray;
1501 
1502     alias da_NewtonMeshGetVertexBaseCount =  int function(const NewtonMesh* mesh);
1503     da_NewtonMeshGetVertexBaseCount NewtonMeshGetVertexBaseCount;
1504 
1505     alias da_NewtonMeshSetVertexBaseCount =  void function(const NewtonMesh* mesh,  int baseCount);
1506     da_NewtonMeshSetVertexBaseCount NewtonMeshSetVertexBaseCount;
1507 
1508     alias da_NewtonMeshGetFirstVertex =  void* function(const NewtonMesh* mesh);
1509     da_NewtonMeshGetFirstVertex NewtonMeshGetFirstVertex;
1510 
1511     alias da_NewtonMeshGetNextVertex =  void* function(const NewtonMesh* mesh, const void* vertex);
1512     da_NewtonMeshGetNextVertex NewtonMeshGetNextVertex;
1513 
1514     alias da_NewtonMeshGetVertexIndex =  int function(const NewtonMesh* mesh, const void* vertex);
1515     da_NewtonMeshGetVertexIndex NewtonMeshGetVertexIndex;
1516 
1517     alias da_NewtonMeshGetFirstPoint =  void* function(const NewtonMesh* mesh);
1518     da_NewtonMeshGetFirstPoint NewtonMeshGetFirstPoint;
1519 
1520     alias da_NewtonMeshGetNextPoint =  void* function(const NewtonMesh* mesh, const void* point);
1521     da_NewtonMeshGetNextPoint NewtonMeshGetNextPoint;
1522 
1523     alias da_NewtonMeshGetPointIndex =  int function(const NewtonMesh* mesh, const void* point);
1524     da_NewtonMeshGetPointIndex NewtonMeshGetPointIndex;
1525 
1526     alias da_NewtonMeshGetVertexIndexFromPoint =  int function(const NewtonMesh* mesh, const void* point);
1527     da_NewtonMeshGetVertexIndexFromPoint NewtonMeshGetVertexIndexFromPoint;
1528 
1529     alias da_NewtonMeshGetFirstEdge =  void* function(const NewtonMesh* mesh);
1530     da_NewtonMeshGetFirstEdge NewtonMeshGetFirstEdge;
1531 
1532     alias da_NewtonMeshGetNextEdge =  void* function(const NewtonMesh* mesh, const void* edge);
1533     da_NewtonMeshGetNextEdge NewtonMeshGetNextEdge;
1534 
1535     alias da_NewtonMeshGetEdgeIndices =  void function(const NewtonMesh* mesh, const void* edge,  int* v0,  int* v1);
1536     da_NewtonMeshGetEdgeIndices NewtonMeshGetEdgeIndices;
1537 
1538     alias da_NewtonMeshGetFirstFace =  void* function(const NewtonMesh* mesh);
1539     da_NewtonMeshGetFirstFace NewtonMeshGetFirstFace;
1540 
1541     alias da_NewtonMeshGetNextFace =  void* function(const NewtonMesh* mesh, const void* face);
1542     da_NewtonMeshGetNextFace NewtonMeshGetNextFace;
1543 
1544     alias da_NewtonMeshIsFaceOpen =  int function(const NewtonMesh* mesh, const void* face);
1545     da_NewtonMeshIsFaceOpen NewtonMeshIsFaceOpen;
1546 
1547     alias da_NewtonMeshGetFaceMaterial =  int function(const NewtonMesh* mesh, const void* face);
1548     da_NewtonMeshGetFaceMaterial NewtonMeshGetFaceMaterial;
1549 
1550     alias da_NewtonMeshGetFaceIndexCount =  int function(const NewtonMesh* mesh, const void* face);
1551     da_NewtonMeshGetFaceIndexCount NewtonMeshGetFaceIndexCount;
1552 
1553     alias da_NewtonMeshGetFaceIndices =  void function(const NewtonMesh* mesh, const void* face,  int* indices);
1554     da_NewtonMeshGetFaceIndices NewtonMeshGetFaceIndices;
1555 
1556     alias da_NewtonMeshGetFacePointIndices =  void function(const NewtonMesh* mesh, const void* face,  int* indices);
1557     da_NewtonMeshGetFacePointIndices NewtonMeshGetFacePointIndices;
1558 
1559     alias da_NewtonMeshCalculateFaceNormal =  void function(const NewtonMesh* mesh, const void* face,  double* normal);
1560     da_NewtonMeshCalculateFaceNormal NewtonMeshCalculateFaceNormal;
1561 
1562     alias da_NewtonMeshSetFaceMaterial =  void function(const NewtonMesh* mesh, const void* face,  int matId);
1563     da_NewtonMeshSetFaceMaterial NewtonMeshSetFaceMaterial;
1564 
1565 }