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     alias da_NewtonConstraintCreateSlider =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir, const NewtonBody* childBody, const NewtonBody* parentBody);
1096     da_NewtonConstraintCreateSlider NewtonConstraintCreateSlider;
1097 
1098     alias da_NewtonSliderSetUserCallback =  void function(const NewtonJoint* slider,  NewtonSliderCallback callback);
1099     da_NewtonSliderSetUserCallback NewtonSliderSetUserCallback;
1100 
1101     alias da_NewtonSliderGetJointPosit =  dFloat function(const NewtonJoint* slider);
1102     da_NewtonSliderGetJointPosit NewtonSliderGetJointPosit;
1103 
1104     alias da_NewtonSliderGetJointVeloc =  dFloat function(const NewtonJoint* slider);
1105     da_NewtonSliderGetJointVeloc NewtonSliderGetJointVeloc;
1106 
1107     alias da_NewtonSliderGetJointForce =  void function(const NewtonJoint* slider,  dFloat* force);
1108     da_NewtonSliderGetJointForce NewtonSliderGetJointForce;
1109 
1110     alias da_NewtonSliderCalculateStopAccel =  dFloat function(const NewtonJoint* slider, const NewtonHingeSliderUpdateDesc* desc,  dFloat position);
1111     da_NewtonSliderCalculateStopAccel NewtonSliderCalculateStopAccel;
1112 
1113     alias da_NewtonConstraintCreateCorkscrew =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir, const NewtonBody* childBody, const NewtonBody* parentBody);
1114     da_NewtonConstraintCreateCorkscrew NewtonConstraintCreateCorkscrew;
1115 
1116     alias da_NewtonCorkscrewSetUserCallback =  void function(const NewtonJoint* corkscrew,  NewtonCorkscrewCallback callback);
1117     da_NewtonCorkscrewSetUserCallback NewtonCorkscrewSetUserCallback;
1118 
1119     alias da_NewtonCorkscrewGetJointPosit =  dFloat function(const NewtonJoint* corkscrew);
1120     da_NewtonCorkscrewGetJointPosit NewtonCorkscrewGetJointPosit;
1121 
1122     alias da_NewtonCorkscrewGetJointAngle =  dFloat function(const NewtonJoint* corkscrew);
1123     da_NewtonCorkscrewGetJointAngle NewtonCorkscrewGetJointAngle;
1124 
1125     alias da_NewtonCorkscrewGetJointVeloc =  dFloat function(const NewtonJoint* corkscrew);
1126     da_NewtonCorkscrewGetJointVeloc NewtonCorkscrewGetJointVeloc;
1127 
1128     alias da_NewtonCorkscrewGetJointOmega =  dFloat function(const NewtonJoint* corkscrew);
1129     da_NewtonCorkscrewGetJointOmega NewtonCorkscrewGetJointOmega;
1130 
1131     alias da_NewtonCorkscrewGetJointForce =  void function(const NewtonJoint* corkscrew,  dFloat* force);
1132     da_NewtonCorkscrewGetJointForce NewtonCorkscrewGetJointForce;
1133 
1134     alias da_NewtonCorkscrewCalculateStopAlpha =  dFloat function(const NewtonJoint* corkscrew, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1135     da_NewtonCorkscrewCalculateStopAlpha NewtonCorkscrewCalculateStopAlpha;
1136 
1137     alias da_NewtonCorkscrewCalculateStopAccel =  dFloat function(const NewtonJoint* corkscrew, const NewtonHingeSliderUpdateDesc* desc,  dFloat position);
1138     da_NewtonCorkscrewCalculateStopAccel NewtonCorkscrewCalculateStopAccel;
1139 
1140     alias da_NewtonConstraintCreateUniversal =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pivotPoint, const dFloat* pinDir0, const dFloat* pinDir1, const NewtonBody* childBody, const NewtonBody* parentBody);
1141     da_NewtonConstraintCreateUniversal NewtonConstraintCreateUniversal;
1142 
1143     alias da_NewtonUniversalSetUserCallback =  void function(const NewtonJoint* universal,  NewtonUniversalCallback callback);
1144     da_NewtonUniversalSetUserCallback NewtonUniversalSetUserCallback;
1145 
1146     alias da_NewtonUniversalGetJointAngle0 =  dFloat function(const NewtonJoint* universal);
1147     da_NewtonUniversalGetJointAngle0 NewtonUniversalGetJointAngle0;
1148 
1149     alias da_NewtonUniversalGetJointAngle1 =  dFloat function(const NewtonJoint* universal);
1150     da_NewtonUniversalGetJointAngle1 NewtonUniversalGetJointAngle1;
1151 
1152     alias da_NewtonUniversalGetJointOmega0 =  dFloat function(const NewtonJoint* universal);
1153     da_NewtonUniversalGetJointOmega0 NewtonUniversalGetJointOmega0;
1154 
1155     alias da_NewtonUniversalGetJointOmega1 =  dFloat function(const NewtonJoint* universal);
1156     da_NewtonUniversalGetJointOmega1 NewtonUniversalGetJointOmega1;
1157 
1158     alias da_NewtonUniversalGetJointForce =  void function(const NewtonJoint* universal,  dFloat* force);
1159     da_NewtonUniversalGetJointForce NewtonUniversalGetJointForce;
1160 
1161     alias da_NewtonUniversalCalculateStopAlpha0 =  dFloat function(const NewtonJoint* universal, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1162     da_NewtonUniversalCalculateStopAlpha0 NewtonUniversalCalculateStopAlpha0;
1163 
1164     alias da_NewtonUniversalCalculateStopAlpha1 =  dFloat function(const NewtonJoint* universal, const NewtonHingeSliderUpdateDesc* desc,  dFloat angle);
1165     da_NewtonUniversalCalculateStopAlpha1 NewtonUniversalCalculateStopAlpha1;
1166 
1167     alias da_NewtonConstraintCreateUpVector =  NewtonJoint* function(const NewtonWorld* newtonWorld, const dFloat* pinDir, const NewtonBody* _body);
1168     da_NewtonConstraintCreateUpVector NewtonConstraintCreateUpVector;
1169 
1170     alias da_NewtonUpVectorGetPin =  void function(const NewtonJoint* upVector,  dFloat* pin);
1171     da_NewtonUpVectorGetPin NewtonUpVectorGetPin;
1172 
1173     alias da_NewtonUpVectorSetPin =  void function(const NewtonJoint* upVector, const dFloat* pin);
1174     da_NewtonUpVectorSetPin NewtonUpVectorSetPin;
1175 
1176     alias da_NewtonConstraintCreateUserJoint =  NewtonJoint* function(const NewtonWorld* newtonWorld,  int maxDOF,  NewtonUserBilateralCallback callback, const NewtonBody* childBody, const NewtonBody* parentBody);
1177     da_NewtonConstraintCreateUserJoint NewtonConstraintCreateUserJoint;
1178 
1179     alias da_NewtonUserJointGetSolverModel =  int function(const NewtonJoint* joint);
1180     da_NewtonUserJointGetSolverModel NewtonUserJointGetSolverModel;
1181 
1182     alias da_NewtonUserJointSetSolverModel =  void function(const NewtonJoint* joint,  int model);
1183     da_NewtonUserJointSetSolverModel NewtonUserJointSetSolverModel;
1184 
1185     alias da_NewtonUserJointMassScale =  void function(const NewtonJoint* joint,  dFloat scaleBody0,  dFloat scaleBody1);
1186     da_NewtonUserJointMassScale NewtonUserJointMassScale;
1187 
1188     alias da_NewtonUserJointSetFeedbackCollectorCallback =  void function(const NewtonJoint* joint,  NewtonUserBilateralCallback getFeedback);
1189     da_NewtonUserJointSetFeedbackCollectorCallback NewtonUserJointSetFeedbackCollectorCallback;
1190 
1191     alias da_NewtonUserJointAddLinearRow =  void function(const NewtonJoint* joint, const dFloat* pivot0, const dFloat* pivot1, const dFloat* dir);
1192     da_NewtonUserJointAddLinearRow NewtonUserJointAddLinearRow;
1193 
1194     alias da_NewtonUserJointAddAngularRow =  void function(const NewtonJoint* joint,  dFloat relativeAngle, const dFloat* dir);
1195     da_NewtonUserJointAddAngularRow NewtonUserJointAddAngularRow;
1196 
1197     alias da_NewtonUserJointAddGeneralRow =  void function(const NewtonJoint* joint, const dFloat* jacobian0, const dFloat* jacobian1);
1198     da_NewtonUserJointAddGeneralRow NewtonUserJointAddGeneralRow;
1199 
1200     alias da_NewtonUserJointSetRowMinimumFriction =  void function(const NewtonJoint* joint,  dFloat friction);
1201     da_NewtonUserJointSetRowMinimumFriction NewtonUserJointSetRowMinimumFriction;
1202 
1203     alias da_NewtonUserJointSetRowMaximumFriction =  void function(const NewtonJoint* joint,  dFloat friction);
1204     da_NewtonUserJointSetRowMaximumFriction NewtonUserJointSetRowMaximumFriction;
1205 
1206     alias da_NewtonUserJointCalculateRowZeroAcceleration =  dFloat function(const NewtonJoint* joint);
1207     da_NewtonUserJointCalculateRowZeroAcceleration NewtonUserJointCalculateRowZeroAcceleration;
1208 
1209     alias da_NewtonUserJointGetRowAcceleration =  dFloat function(const NewtonJoint* joint);
1210     da_NewtonUserJointGetRowAcceleration NewtonUserJointGetRowAcceleration;
1211 
1212     alias da_NewtonUserJointGetRowJacobian =  void function(const NewtonJoint* joint,  dFloat* linear0,  dFloat* angula0,  dFloat* linear1,  dFloat* angula1);
1213     da_NewtonUserJointGetRowJacobian NewtonUserJointGetRowJacobian;
1214 
1215     alias da_NewtonUserJointSetRowAcceleration =  void function(const NewtonJoint* joint,  dFloat acceleration);
1216     da_NewtonUserJointSetRowAcceleration NewtonUserJointSetRowAcceleration;
1217 
1218     alias da_NewtonUserJointSetRowSpringDamperAcceleration =  void function(const NewtonJoint* joint,  dFloat rowStiffness,  dFloat spring,  dFloat damper);
1219     da_NewtonUserJointSetRowSpringDamperAcceleration NewtonUserJointSetRowSpringDamperAcceleration;
1220 
1221     alias da_NewtonUserJointSetRowStiffness =  void function(const NewtonJoint* joint,  dFloat stiffness);
1222     da_NewtonUserJointSetRowStiffness NewtonUserJointSetRowStiffness;
1223 
1224     alias da_NewtonUserJoinRowsCount =  int function(const NewtonJoint* joint);
1225     da_NewtonUserJoinRowsCount NewtonUserJoinRowsCount;
1226 
1227     alias da_NewtonUserJointGetGeneralRow =  void function(const NewtonJoint* joint,  int index,  dFloat* jacobian0,  dFloat* jacobian1);
1228     da_NewtonUserJointGetGeneralRow NewtonUserJointGetGeneralRow;
1229 
1230     alias da_NewtonUserJointGetRowForce =  dFloat function(const NewtonJoint* joint,  int row);
1231     da_NewtonUserJointGetRowForce NewtonUserJointGetRowForce;
1232 
1233     alias da_NewtonMeshCreate =  NewtonMesh* function(const NewtonWorld* newtonWorld);
1234     da_NewtonMeshCreate NewtonMeshCreate;
1235 
1236     alias da_NewtonMeshCreateFromMesh =  NewtonMesh* function(const NewtonMesh* mesh);
1237     da_NewtonMeshCreateFromMesh NewtonMeshCreateFromMesh;
1238 
1239     alias da_NewtonMeshCreateFromCollision =  NewtonMesh* function(const NewtonCollision* collision);
1240     da_NewtonMeshCreateFromCollision NewtonMeshCreateFromCollision;
1241 
1242     alias da_NewtonMeshCreateTetrahedraIsoSurface =  NewtonMesh* function(const NewtonMesh* mesh);
1243     da_NewtonMeshCreateTetrahedraIsoSurface NewtonMeshCreateTetrahedraIsoSurface;
1244 
1245     alias da_NewtonMeshCreateConvexHull =  NewtonMesh* function(const NewtonWorld* newtonWorld,  int pointCount, const dFloat* vertexCloud,  int strideInBytes,  dFloat tolerance);
1246     da_NewtonMeshCreateConvexHull NewtonMeshCreateConvexHull;
1247 
1248     alias da_NewtonMeshCreateVoronoiConvexDecomposition =  NewtonMesh* function(const NewtonWorld* newtonWorld,  int pointCount, const dFloat* vertexCloud,  int strideInBytes,  int materialID, const dFloat* textureMatrix);
1249     da_NewtonMeshCreateVoronoiConvexDecomposition NewtonMeshCreateVoronoiConvexDecomposition;
1250 
1251     alias da_NewtonMeshCreateFromSerialization =  NewtonMesh* function(const NewtonWorld* newtonWorld,  NewtonDeserializeCallback deserializeFunction,  void* serializeHandle);
1252     da_NewtonMeshCreateFromSerialization NewtonMeshCreateFromSerialization;
1253 
1254     alias da_NewtonMeshDestroy =  void function(const NewtonMesh* mesh);
1255     da_NewtonMeshDestroy NewtonMeshDestroy;
1256 
1257     alias da_NewtonMeshSerialize =  void function(const NewtonMesh* mesh,  NewtonSerializeCallback serializeFunction,  void* serializeHandle);
1258     da_NewtonMeshSerialize NewtonMeshSerialize;
1259 
1260     alias da_NewtonMeshSaveOFF =  void function(const NewtonMesh* mesh, const char* filename);
1261     da_NewtonMeshSaveOFF NewtonMeshSaveOFF;
1262 
1263     alias da_NewtonMeshLoadOFF =  NewtonMesh* function(const NewtonWorld* newtonWorld, const char* filename);
1264     da_NewtonMeshLoadOFF NewtonMeshLoadOFF;
1265 
1266     alias da_NewtonMeshLoadTetrahedraMesh =  NewtonMesh* function(const NewtonWorld* newtonWorld, const char* filename);
1267     da_NewtonMeshLoadTetrahedraMesh NewtonMeshLoadTetrahedraMesh;
1268 
1269     alias da_NewtonMeshFlipWinding =  void function(const NewtonMesh* mesh);
1270     da_NewtonMeshFlipWinding NewtonMeshFlipWinding;
1271 
1272     alias da_NewtonMeshApplyTransform =  void function(const NewtonMesh* mesh, const dFloat* matrix);
1273     da_NewtonMeshApplyTransform NewtonMeshApplyTransform;
1274 
1275     alias da_NewtonMeshCalculateOOBB =  void function(const NewtonMesh* mesh,  dFloat* matrix,  dFloat* x,  dFloat* y,  dFloat* z);
1276     da_NewtonMeshCalculateOOBB NewtonMeshCalculateOOBB;
1277 
1278     alias da_NewtonMeshCalculateVertexNormals =  void function(const NewtonMesh* mesh,  dFloat angleInRadians);
1279     da_NewtonMeshCalculateVertexNormals NewtonMeshCalculateVertexNormals;
1280 
1281     alias da_NewtonMeshApplySphericalMapping =  void function(const NewtonMesh* mesh,  int material, const dFloat* aligmentMatrix);
1282     da_NewtonMeshApplySphericalMapping NewtonMeshApplySphericalMapping;
1283 
1284     alias da_NewtonMeshApplyCylindricalMapping =  void function(const NewtonMesh* mesh,  int cylinderMaterial,  int capMaterial, const dFloat* aligmentMatrix);
1285     da_NewtonMeshApplyCylindricalMapping NewtonMeshApplyCylindricalMapping;
1286 
1287     alias da_NewtonMeshApplyBoxMapping =  void function(const NewtonMesh* mesh,  int frontMaterial,  int sideMaterial,  int topMaterial, const dFloat* aligmentMatrix);
1288     da_NewtonMeshApplyBoxMapping NewtonMeshApplyBoxMapping;
1289 
1290     alias da_NewtonMeshApplyAngleBasedMapping =  void function(const NewtonMesh* mesh,  int material,  NewtonReportProgress reportPrograssCallback,  void* reportPrgressUserData,  dFloat* aligmentMatrix);
1291     da_NewtonMeshApplyAngleBasedMapping NewtonMeshApplyAngleBasedMapping;
1292 
1293     alias da_NewtonCreateTetrahedraLinearBlendSkinWeightsChannel =  void function(const NewtonMesh* tetrahedraMesh,  NewtonMesh* skinMesh);
1294     da_NewtonCreateTetrahedraLinearBlendSkinWeightsChannel NewtonCreateTetrahedraLinearBlendSkinWeightsChannel;
1295 
1296     alias da_NewtonMeshOptimize =  void function(const NewtonMesh* mesh);
1297     da_NewtonMeshOptimize NewtonMeshOptimize;
1298 
1299     alias da_NewtonMeshOptimizePoints =  void function(const NewtonMesh* mesh);
1300     da_NewtonMeshOptimizePoints NewtonMeshOptimizePoints;
1301 
1302     alias da_NewtonMeshOptimizeVertex =  void function(const NewtonMesh* mesh);
1303     da_NewtonMeshOptimizeVertex NewtonMeshOptimizeVertex;
1304 
1305     alias da_NewtonMeshIsOpenMesh =  int function(const NewtonMesh* mesh);
1306     da_NewtonMeshIsOpenMesh NewtonMeshIsOpenMesh;
1307 
1308     alias da_NewtonMeshFixTJoints =  void function(const NewtonMesh* mesh);
1309     da_NewtonMeshFixTJoints NewtonMeshFixTJoints;
1310 
1311     alias da_NewtonMeshPolygonize =  void function(const NewtonMesh* mesh);
1312     da_NewtonMeshPolygonize NewtonMeshPolygonize;
1313 
1314     alias da_NewtonMeshTriangulate =  void function(const NewtonMesh* mesh);
1315     da_NewtonMeshTriangulate NewtonMeshTriangulate;
1316 
1317     alias da_NewtonMeshUnion =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1318     da_NewtonMeshUnion NewtonMeshUnion;
1319 
1320     alias da_NewtonMeshDifference =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1321     da_NewtonMeshDifference NewtonMeshDifference;
1322 
1323     alias da_NewtonMeshIntersection =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix);
1324     da_NewtonMeshIntersection NewtonMeshIntersection;
1325 
1326     alias da_NewtonMeshClip =  void function(const NewtonMesh* mesh, const NewtonMesh* clipper, const dFloat* clipperMatrix,  NewtonMesh* * topMesh,  NewtonMesh* * bottomMesh);
1327     da_NewtonMeshClip NewtonMeshClip;
1328 
1329     alias da_NewtonMeshConvexMeshIntersection =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* convexMesh);
1330     da_NewtonMeshConvexMeshIntersection NewtonMeshConvexMeshIntersection;
1331 
1332     alias da_NewtonMeshSimplify =  NewtonMesh* function(const NewtonMesh* mesh,  int maxVertexCount,  NewtonReportProgress reportPrograssCallback,  void* reportPrgressUserData);
1333     da_NewtonMeshSimplify NewtonMeshSimplify;
1334 
1335     alias da_NewtonMeshApproximateConvexDecomposition =  NewtonMesh* function(const NewtonMesh* mesh,  dFloat maxConcavity,  dFloat backFaceDistanceFactor,  int maxCount,  int maxVertexPerHull,  NewtonReportProgress reportProgressCallback,  void* reportProgressUserData);
1336     da_NewtonMeshApproximateConvexDecomposition NewtonMeshApproximateConvexDecomposition;
1337 
1338     alias da_NewtonRemoveUnusedVertices =  void function(const NewtonMesh* mesh,  int* vertexRemapTable);
1339     da_NewtonRemoveUnusedVertices NewtonRemoveUnusedVertices;
1340 
1341     alias da_NewtonMeshBeginBuild =  void function(const NewtonMesh* mesh);
1342     da_NewtonMeshBeginBuild NewtonMeshBeginBuild;
1343 
1344     alias da_NewtonMeshBeginFace =  void function(const NewtonMesh* mesh);
1345     da_NewtonMeshBeginFace NewtonMeshBeginFace;
1346 
1347     alias da_NewtonMeshAddPoint =  void function(const NewtonMesh* mesh,  double x,  double y,  double z);
1348     da_NewtonMeshAddPoint NewtonMeshAddPoint;
1349 
1350     alias da_NewtonMeshAddLayer =  void function(const NewtonMesh* mesh,  int layerIndex);
1351     da_NewtonMeshAddLayer NewtonMeshAddLayer;
1352 
1353     alias da_NewtonMeshAddMaterial =  void function(const NewtonMesh* mesh,  int materialIndex);
1354     da_NewtonMeshAddMaterial NewtonMeshAddMaterial;
1355 
1356     alias da_NewtonMeshAddNormal =  void function(const NewtonMesh* mesh,  dFloat x,  dFloat y,  dFloat z);
1357     da_NewtonMeshAddNormal NewtonMeshAddNormal;
1358 
1359     alias da_NewtonMeshAddBinormal =  void function(const NewtonMesh* mesh,  dFloat x,  dFloat y,  dFloat z);
1360     da_NewtonMeshAddBinormal NewtonMeshAddBinormal;
1361 
1362     alias da_NewtonMeshAddUV0 =  void function(const NewtonMesh* mesh,  dFloat u,  dFloat v);
1363     da_NewtonMeshAddUV0 NewtonMeshAddUV0;
1364 
1365     alias da_NewtonMeshAddUV1 =  void function(const NewtonMesh* mesh,  dFloat u,  dFloat v);
1366     da_NewtonMeshAddUV1 NewtonMeshAddUV1;
1367 
1368     alias da_NewtonMeshAddVertexColor =  void function(const NewtonMesh* mesh,  dFloat r,  dFloat g,  dFloat b,  dFloat a);
1369     da_NewtonMeshAddVertexColor NewtonMeshAddVertexColor;
1370 
1371     alias da_NewtonMeshEndFace =  void function(const NewtonMesh* mesh);
1372     da_NewtonMeshEndFace NewtonMeshEndFace;
1373 
1374     alias da_NewtonMeshEndBuild =  void function(const NewtonMesh* mesh);
1375     da_NewtonMeshEndBuild NewtonMeshEndBuild;
1376 
1377     alias da_NewtonMeshClearVertexFormat =  void function( NewtonMeshVertexFormat* format);
1378     da_NewtonMeshClearVertexFormat NewtonMeshClearVertexFormat;
1379 
1380     alias da_NewtonMeshBuildFromVertexListIndexList =  void function(const NewtonMesh* mesh, const NewtonMeshVertexFormat* format);
1381     da_NewtonMeshBuildFromVertexListIndexList NewtonMeshBuildFromVertexListIndexList;
1382 
1383     alias da_NewtonMeshGetPointCount =  int function(const NewtonMesh* mesh);
1384     da_NewtonMeshGetPointCount NewtonMeshGetPointCount;
1385 
1386     alias da_NewtonMeshGetIndexToVertexMap = const int* function(const NewtonMesh* mesh);
1387     da_NewtonMeshGetIndexToVertexMap NewtonMeshGetIndexToVertexMap;
1388 
1389     alias da_NewtonMeshGetVertexDoubleChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  double* outBuffer);
1390     da_NewtonMeshGetVertexDoubleChannel NewtonMeshGetVertexDoubleChannel;
1391 
1392     alias da_NewtonMeshGetVertexChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1393     da_NewtonMeshGetVertexChannel NewtonMeshGetVertexChannel;
1394 
1395     alias da_NewtonMeshGetNormalChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1396     da_NewtonMeshGetNormalChannel NewtonMeshGetNormalChannel;
1397 
1398     alias da_NewtonMeshGetBinormalChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1399     da_NewtonMeshGetBinormalChannel NewtonMeshGetBinormalChannel;
1400 
1401     alias da_NewtonMeshGetUV0Channel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1402     da_NewtonMeshGetUV0Channel NewtonMeshGetUV0Channel;
1403 
1404     alias da_NewtonMeshGetUV1Channel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1405     da_NewtonMeshGetUV1Channel NewtonMeshGetUV1Channel;
1406 
1407     alias da_NewtonMeshGetVertexColorChannel =  void function(const NewtonMesh* mesh,  int vertexStrideInByte,  dFloat* outBuffer);
1408     da_NewtonMeshGetVertexColorChannel NewtonMeshGetVertexColorChannel;
1409 
1410     alias da_NewtonMeshHasNormalChannel =  int function(const NewtonMesh* mesh);
1411     da_NewtonMeshHasNormalChannel NewtonMeshHasNormalChannel;
1412 
1413     alias da_NewtonMeshHasBinormalChannel =  int function(const NewtonMesh* mesh);
1414     da_NewtonMeshHasBinormalChannel NewtonMeshHasBinormalChannel;
1415 
1416     alias da_NewtonMeshHasUV0Channel =  int function(const NewtonMesh* mesh);
1417     da_NewtonMeshHasUV0Channel NewtonMeshHasUV0Channel;
1418 
1419     alias da_NewtonMeshHasUV1Channel =  int function(const NewtonMesh* mesh);
1420     da_NewtonMeshHasUV1Channel NewtonMeshHasUV1Channel;
1421 
1422     alias da_NewtonMeshHasVertexColorChannel =  int function(const NewtonMesh* mesh);
1423     da_NewtonMeshHasVertexColorChannel NewtonMeshHasVertexColorChannel;
1424 
1425     alias da_NewtonMeshBeginHandle =  void* function(const NewtonMesh* mesh);
1426     da_NewtonMeshBeginHandle NewtonMeshBeginHandle;
1427 
1428     alias da_NewtonMeshEndHandle =  void function(const NewtonMesh* mesh,  void* handle);
1429     da_NewtonMeshEndHandle NewtonMeshEndHandle;
1430 
1431     alias da_NewtonMeshFirstMaterial =  int function(const NewtonMesh* mesh,  void* handle);
1432     da_NewtonMeshFirstMaterial NewtonMeshFirstMaterial;
1433 
1434     alias da_NewtonMeshNextMaterial =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1435     da_NewtonMeshNextMaterial NewtonMeshNextMaterial;
1436 
1437     alias da_NewtonMeshMaterialGetMaterial =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1438     da_NewtonMeshMaterialGetMaterial NewtonMeshMaterialGetMaterial;
1439 
1440     alias da_NewtonMeshMaterialGetIndexCount =  int function(const NewtonMesh* mesh,  void* handle,  int materialId);
1441     da_NewtonMeshMaterialGetIndexCount NewtonMeshMaterialGetIndexCount;
1442 
1443     alias da_NewtonMeshMaterialGetIndexStream =  void function(const NewtonMesh* mesh,  void* handle,  int materialId,  int* index);
1444     da_NewtonMeshMaterialGetIndexStream NewtonMeshMaterialGetIndexStream;
1445 
1446     alias da_NewtonMeshMaterialGetIndexStreamShort =  void function(const NewtonMesh* mesh,  void* handle,  int materialId,  short* index);
1447     da_NewtonMeshMaterialGetIndexStreamShort NewtonMeshMaterialGetIndexStreamShort;
1448 
1449     alias da_NewtonMeshCreateFirstSingleSegment =  NewtonMesh* function(const NewtonMesh* mesh);
1450     da_NewtonMeshCreateFirstSingleSegment NewtonMeshCreateFirstSingleSegment;
1451 
1452     alias da_NewtonMeshCreateNextSingleSegment =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* segment);
1453     da_NewtonMeshCreateNextSingleSegment NewtonMeshCreateNextSingleSegment;
1454 
1455     alias da_NewtonMeshCreateFirstLayer =  NewtonMesh* function(const NewtonMesh* mesh);
1456     da_NewtonMeshCreateFirstLayer NewtonMeshCreateFirstLayer;
1457 
1458     alias da_NewtonMeshCreateNextLayer =  NewtonMesh* function(const NewtonMesh* mesh, const NewtonMesh* segment);
1459     da_NewtonMeshCreateNextLayer NewtonMeshCreateNextLayer;
1460 
1461     alias da_NewtonMeshGetTotalFaceCount =  int function(const NewtonMesh* mesh);
1462     da_NewtonMeshGetTotalFaceCount NewtonMeshGetTotalFaceCount;
1463 
1464     alias da_NewtonMeshGetTotalIndexCount =  int function(const NewtonMesh* mesh);
1465     da_NewtonMeshGetTotalIndexCount NewtonMeshGetTotalIndexCount;
1466 
1467     alias da_NewtonMeshGetFaces =  void function(const NewtonMesh* mesh,  int* faceIndexCount,  int* faceMaterial,  void* * faceIndices);
1468     da_NewtonMeshGetFaces NewtonMeshGetFaces;
1469 
1470     alias da_NewtonMeshGetVertexCount =  int function(const NewtonMesh* mesh);
1471     da_NewtonMeshGetVertexCount NewtonMeshGetVertexCount;
1472 
1473     alias da_NewtonMeshGetVertexStrideInByte =  int function(const NewtonMesh* mesh);
1474     da_NewtonMeshGetVertexStrideInByte NewtonMeshGetVertexStrideInByte;
1475 
1476     alias da_NewtonMeshGetVertexArray = const double* function(const NewtonMesh* mesh);
1477     da_NewtonMeshGetVertexArray NewtonMeshGetVertexArray;
1478 
1479     alias da_NewtonMeshGetVertexBaseCount =  int function(const NewtonMesh* mesh);
1480     da_NewtonMeshGetVertexBaseCount NewtonMeshGetVertexBaseCount;
1481 
1482     alias da_NewtonMeshSetVertexBaseCount =  void function(const NewtonMesh* mesh,  int baseCount);
1483     da_NewtonMeshSetVertexBaseCount NewtonMeshSetVertexBaseCount;
1484 
1485     alias da_NewtonMeshGetFirstVertex =  void* function(const NewtonMesh* mesh);
1486     da_NewtonMeshGetFirstVertex NewtonMeshGetFirstVertex;
1487 
1488     alias da_NewtonMeshGetNextVertex =  void* function(const NewtonMesh* mesh, const void* vertex);
1489     da_NewtonMeshGetNextVertex NewtonMeshGetNextVertex;
1490 
1491     alias da_NewtonMeshGetVertexIndex =  int function(const NewtonMesh* mesh, const void* vertex);
1492     da_NewtonMeshGetVertexIndex NewtonMeshGetVertexIndex;
1493 
1494     alias da_NewtonMeshGetFirstPoint =  void* function(const NewtonMesh* mesh);
1495     da_NewtonMeshGetFirstPoint NewtonMeshGetFirstPoint;
1496 
1497     alias da_NewtonMeshGetNextPoint =  void* function(const NewtonMesh* mesh, const void* point);
1498     da_NewtonMeshGetNextPoint NewtonMeshGetNextPoint;
1499 
1500     alias da_NewtonMeshGetPointIndex =  int function(const NewtonMesh* mesh, const void* point);
1501     da_NewtonMeshGetPointIndex NewtonMeshGetPointIndex;
1502 
1503     alias da_NewtonMeshGetVertexIndexFromPoint =  int function(const NewtonMesh* mesh, const void* point);
1504     da_NewtonMeshGetVertexIndexFromPoint NewtonMeshGetVertexIndexFromPoint;
1505 
1506     alias da_NewtonMeshGetFirstEdge =  void* function(const NewtonMesh* mesh);
1507     da_NewtonMeshGetFirstEdge NewtonMeshGetFirstEdge;
1508 
1509     alias da_NewtonMeshGetNextEdge =  void* function(const NewtonMesh* mesh, const void* edge);
1510     da_NewtonMeshGetNextEdge NewtonMeshGetNextEdge;
1511 
1512     alias da_NewtonMeshGetEdgeIndices =  void function(const NewtonMesh* mesh, const void* edge,  int* v0,  int* v1);
1513     da_NewtonMeshGetEdgeIndices NewtonMeshGetEdgeIndices;
1514 
1515     alias da_NewtonMeshGetFirstFace =  void* function(const NewtonMesh* mesh);
1516     da_NewtonMeshGetFirstFace NewtonMeshGetFirstFace;
1517 
1518     alias da_NewtonMeshGetNextFace =  void* function(const NewtonMesh* mesh, const void* face);
1519     da_NewtonMeshGetNextFace NewtonMeshGetNextFace;
1520 
1521     alias da_NewtonMeshIsFaceOpen =  int function(const NewtonMesh* mesh, const void* face);
1522     da_NewtonMeshIsFaceOpen NewtonMeshIsFaceOpen;
1523 
1524     alias da_NewtonMeshGetFaceMaterial =  int function(const NewtonMesh* mesh, const void* face);
1525     da_NewtonMeshGetFaceMaterial NewtonMeshGetFaceMaterial;
1526 
1527     alias da_NewtonMeshGetFaceIndexCount =  int function(const NewtonMesh* mesh, const void* face);
1528     da_NewtonMeshGetFaceIndexCount NewtonMeshGetFaceIndexCount;
1529 
1530     alias da_NewtonMeshGetFaceIndices =  void function(const NewtonMesh* mesh, const void* face,  int* indices);
1531     da_NewtonMeshGetFaceIndices NewtonMeshGetFaceIndices;
1532 
1533     alias da_NewtonMeshGetFacePointIndices =  void function(const NewtonMesh* mesh, const void* face,  int* indices);
1534     da_NewtonMeshGetFacePointIndices NewtonMeshGetFacePointIndices;
1535 
1536     alias da_NewtonMeshCalculateFaceNormal =  void function(const NewtonMesh* mesh, const void* face,  double* normal);
1537     da_NewtonMeshCalculateFaceNormal NewtonMeshCalculateFaceNormal;
1538 
1539     alias da_NewtonMeshSetFaceMaterial =  void function(const NewtonMesh* mesh, const void* face,  int matId);
1540     da_NewtonMeshSetFaceMaterial NewtonMeshSetFaceMaterial;
1541 
1542 }