2
Newton Game Dynamics Header Translation (Delphi/FreePascal)
4
Generated by NewtonDoc on 31/03/2017 16:17:44
7
********************************************************************************
9
* Copyright (c) <2003-2016> <Julio Jerez, Newton Game Dynamics> *
11
* This software is provided 'as-is', without any express or implied *
12
* warranty. In no event will the authors be held liable for any damages *
13
* arising from the use of this software. *
15
* Permission is granted to anyone to use this software for any purpose, *
16
* including commercial applications, and to alter it and redistribute it *
17
* freely, subject to the following restrictions: *
19
* 1. The origin of this software must not be misrepresented; you must not *
20
* claim that you wrote the original software. If you use this software *
21
* in a product, an acknowledgment in the product documentation would be *
22
* appreciated but is not required. *
24
* 2. Altered source versions must be plainly marked as such, and must not be *
25
* misrepresented as being the original software. *
27
* 3. This notice may not be removed or altered from any source distribution. *
29
********************************************************************************
35
__NONDELPHI__ - Enables compatiblity with compilers other than Delphi.
36
Note that pascaldefines.inc and newtonpascal.inc
37
are protected under the Mozilla Public License.
40
Declare the Following in Projects->Options->Conditionals to enable them:
41
__USE_DOUBLE_PRECISION__ - Toggles Double Precision. DLL used must match this setting.
44
//{$DEFINE __NONDELPHI__}
49
{$I pascaldefines.inc}
58
{$IFDEF __USE_DOUBLE_PRECISION__}
59
NEWTON_API = 'newtond.dll';
61
NEWTON_API = 'newton.dll';
65
NEWTON_MAJOR_VERSION = 3;
66
NEWTON_MINOR_VERSION = 14;
67
NEWTON_BROADPHASE_DEFAULT = 0;
68
NEWTON_BROADPHASE_PERSINTENT = 1;
69
NEWTON_DYNAMIC_BODY = 0;
70
NEWTON_KINEMATIC_BODY = 1;
71
SERIALIZE_ID_SPHERE = 0;
72
SERIALIZE_ID_CAPSULE = 1;
73
SERIALIZE_ID_CYLINDER = 2;
74
SERIALIZE_ID_CHAMFERCYLINDER = 3;
76
SERIALIZE_ID_CONE = 5;
77
SERIALIZE_ID_CONVEXHULL = 6;
78
SERIALIZE_ID_NULL = 7;
79
SERIALIZE_ID_COMPOUND = 8;
80
SERIALIZE_ID_TREE = 9;
81
SERIALIZE_ID_HEIGHTFIELD = 10;
82
SERIALIZE_ID_CLOTH_PATCH = 11;
83
SERIALIZE_ID_DEFORMABLE_SOLID = 12;
84
SERIALIZE_ID_USERMESH = 13;
85
SERIALIZE_ID_SCENE = 14;
86
SERIALIZE_ID_FRACTURED_COMPOUND = 15;
89
{$IFDEF __USE_DOUBLE_PRECISION__}
98
PdFloat64 = ^dFloat64;
101
NewtonMesh = ^Pointer;
102
NewtonBody = ^Pointer;
103
NewtonWorld = ^Pointer;
104
NewtonJoint = ^Pointer;
105
NewtonMaterial = ^Pointer;
106
NewtonCollision = ^Pointer;
107
// NewtonSceneProxy = ^Pointer;
108
//NewtonSkeletonContainer = ^Pointer;
109
NewtonDeformableMeshSegment = ^Pointer;
110
NewtonFracturedCompoundMeshPart = ^Pointer;
112
NewtonSerializeHandle = ^Pointer;
113
NewtonMeshHandle = ^Pointer;
114
NewtonMeshVertex = ^Pointer;
115
NewtonMeshPoint = ^Pointer;
116
NewtonMeshEdge = ^Pointer;
117
NewtonMeshFace = ^Pointer;
118
NewtonListener = ^Pointer;
120
TNewtonBoxParam = Packed Record
126
TNewtonSphereParam = Packed Record
130
TNewtonCylinderParam = Packed Record
135
TNewtonCapsuleParam = Packed Record
140
TNewtonConeParam = Packed Record
145
TNewtonTaperedCapsuleParam = Packed Record
152
TNewtonTaperedCylinderParam = Packed Record
158
TNewtonChamferCylinderParam = Packed Record
163
TNewtonConvexHullParam = Packed Record
165
m_vertexStrideInBytes,
166
m_faceCount : Integer;
171
TNewtonCompoundCollisionParam = Packed Record
172
m_chidrenCount : Integer;
176
TNewtonCollisionTreeParam = Packed Record
178
m_indexCount : Integer;
181
TNewtonDeformableMeshParam = Packed Record
184
m_vertexStrideInBytes : Integer;
186
m_vertexList : PdFloat;
190
TNewtonHeightFieldCollisionParam = Packed Record
194
m_elevationDataType : Integer;// 0 = 32 bit floats, 1 = unsigned 16 bit integers
195
m_verticalScale : dFloat;
196
m_horizonalScale_x : dFloat;
197
m_horizonalScale_z : dFloat;
198
m_horizonalDisplacementScale_x : dFloat;
199
m_horizonalDisplacementScale_z : dFloat;
200
m_vertialElevation : Pointer;
201
m_horizotalDisplacement : PSmallInt;
202
m_atributes : PShortInt;
205
TNewtonSceneCollisionParam = Packed Record
206
m_childrenProxyCount : Integer;
209
TNewtonCollisionNullParam = packed record
212
NewtonCollisionInfoRecord = ^TNewtonCollisionInfoRecord;
213
TNewtonCollisionInfoRecord = Packed Record
214
m_offsetMatrix : Array [0..3,0..3] of dFloat;
215
m_collisionType, // tag id to identify the collision primitive
216
m_collisionUserID : Integer;
219
SERIALIZE_ID_SPHERE : (sdSphere : TNewtonSphereParam);
220
SERIALIZE_ID_CAPSULE : (sdCapsule : TNewtonCapsuleParam);
221
SERIALIZE_ID_CYLINDER : (sdCylinder : TNewtonCylinderParam);
222
SERIALIZE_ID_CHAMFERCYLINDER : (sdChamferCylinder : TNewtonChamferCylinderParam);
223
SERIALIZE_ID_BOX : (sdBox : TNewtonBoxParam);
224
SERIALIZE_ID_CONE : (sdCone : TNewtonConeParam);
225
SERIALIZE_ID_CONVEXHULL : (sdConvexHull : TNewtonConvexHullParam);
226
SERIALIZE_ID_NULL : (sdNull : TNewtonCollisionNullParam);
227
SERIALIZE_ID_COMPOUND : (sdCompound : TNewtonCompoundCollisionParam);
228
SERIALIZE_ID_TREE : (sdTree : TNewtonCollisionTreeParam);
229
SERIALIZE_ID_HEIGHTFIELD : (sdHeightField : TNewtonHeightFieldCollisionParam);
230
SERIALIZE_ID_DEFORMABLE_SOLID : (sdDeformableMesh : TNewtonDeformableMeshParam);
231
SERIALIZE_ID_USERMESH : (sdUserMesh : Array[0..63] of dFloat);
232
SERIALIZE_ID_SCENE : (sdSceneCollision : TNewtonSceneCollisionParam);
235
NewtonJointRecord = ^TNewtonJointRecord;
236
TNewtonJointRecord = Packed Record
237
m_attachmenMatrix_0 : Array [0..3,0..3] of dFloat;
238
m_attachmenMatrix_1 : Array [0..3,0..3] of dFloat;
239
m_minLinearDof : Array [0..2] of dFloat;
240
m_maxLinearDof : Array [0..2] of dFloat;
241
m_minAngularDof : Array [0..2] of dFloat;
242
m_maxAngularDof : Array [0..2] of dFloat;
243
m_attachBody_0 : NewtonBody;
244
m_attachBody_1 : NewtonBody;
245
m_extraParameters : Array [0..63] of dFloat;
246
m_bodiesCollisionOn : Integer;
247
m_descriptionType : Array [0..127] of ShortInt;
250
NewtonUserMeshCollisionCollideDesc = ^TNewtonUserMeshCollisionCollideDesc;
251
TNewtonUserMeshCollisionCollideDesc = Packed Record
252
m_boxP0, // lower bounding box of intersection query in local space
253
m_boxP1, // upper bounding box of intersection query in local space
254
m_m_boxDistanceTravel : Array [0..3] of dFloat; // max distance that box bpxP0 and boxP1 can travel on this timestep, used this for continue collision mode.
255
// used this for continue collision mode
256
m_threadNumber, // current thread executing this query
257
m_faceCount, // the application should set here how many polygons intersect the query box
258
m_vertexStrideInBytes : Integer; // the application should set here the size of each vertex
259
m_skinThickness : dFloat; // this is the minimum skin separation specified by the material between these two colliding shapes
260
m_userData : Pointer; // user data passed to the collision geometry at creation time
262
m_objBody, // pointer to the colliding body
263
m_polySoupBody : NewtonBody; // pointer to the rigid body owner of this collision tree
264
m_objCollision, // collision shape of the colliding body, (no necessarily the collision of m_objBody)
265
m_polySoupCollision : NewtonCollision; // collision shape of teh collsion tree, (no necessarily the collision of m_polySoupBody)
267
m_vertex : PdFloat; // the application should set here the pointer to the global vertex of the mesh.
268
m_faceIndexCount, // the application should set here the pointer to the vertex count of each face.
269
m_faceVertexIndex : PInteger; // the application should set here the pointer index array for each vertex on a face.
270
// the format of a face is I0, I1, I2, I3, ..., M, N, E0, E1, E2, ..., A
271
// I0, I1, I2, .. are the indices to the vertex, relative to m_vertex pointer
272
// M is the index to the material sub shape id
273
// N in the index to the vertex normal relative to m_vertex pointer
274
// E0, E1, E2, ... are the indices of the the face normal that is shared to that face edge, when the edge does not share a face normal then the edge index is set to index N, which the index to the face normal
275
// A is and estimate of the largest diagonal of the face, this used internally as a hint to improve floating point accuracy and algorithm performance.
278
NewtonWorldConvexCastReturnInfo = ^TNewtonWorldConvexCastReturnInfo;
279
TNewtonWorldConvexCastReturnInfo = Packed Record
280
m_point, // collision point in global space
281
m_normal{, // surface normal at collision point in global space
282
m_normalOnHitPoint} : Array [0..3] of dFloat; // surface normal at the surface of the hit body,
283
// is the same as the normal calculated by a ray cast hitting the body at the hit point
284
m_contactID : Integer; // collision ID at contact point
285
m_hitBody : NewtonBody; // body hit at contact point
286
m_penetration : dFloat; // contact penetration at collision point
289
NewtonUserMeshCollisionRayHitDesc = ^TNewtonUserMeshCollisionRayHitDesc;
290
TNewtonUserMeshCollisionRayHitDesc = Packed Record
291
m_p0, // ray origin in collision local space
292
m_p1, // ray destination in collision local space
293
m_normalOut : Array [0..3] of dFloat; // copy here the normal at the ray intersection
294
m_userIdOut : dLong; // copy here a user defined id for further feedback
295
m_userData : Pointer; // user data passed to the collision geometry at creation time
298
NewtonHingeSliderUpdateDesc = ^TNewtonHingeSliderUpdateDesc;
299
TNewtonHingeSliderUpdateDesc = Packed Record
306
NewtonUserContactPoint = ^TNewtonUserContactPoint;
307
TNewtonUserContactPoint = Packed Record
309
m_normal : Array [0..3] of dFloat;
312
m_penetration : dFloat;
313
m_unused : Array [0..2] of Integer;
316
// data structure for interfacing with NewtonMesh
317
NewtonMeshDoubleData = ^TNewtonMeshDoubleData;
318
TNewtonMeshDoubleData = Packed Record
320
m_indexList : PInteger;
321
m_strideInBytes : Integer;
324
NewtonMeshFloatData = ^TNewtonMeshFloatData;
325
TNewtonMeshFloatData = Packed Record
327
m_indexList : PInteger;
328
m_strideInBytes : Integer;
331
NewtonMeshVertexFormat = ^TNewtonMeshVertexFormat;
332
TNewtonMeshVertexFormat = Packed Record
333
// int m_faceCount : Integer;
334
m_faceIndexCount : PInteger;
335
m_faceMaterial : PInteger;
336
m_vertex : NewtonMeshDoubleData;
337
m_normal : NewtonMeshFloatData;
338
m_binormal : NewtonMeshFloatData;
339
m_uv0 : NewtonMeshFloatData;
340
m_uv1 : NewtonMeshFloatData;
341
m_vertexColor : NewtonMeshFloatData;
344
// Newton callback functions
345
NewtonAllocMemory = ^TNewtonAllocMemory;
346
TNewtonAllocMemory = function (sizeInBytes : Integer) : Pointer;
347
NewtonFreeMemory = ^TNewtonFreeMemory;
348
TNewtonFreeMemory = procedure (ptr : Pointer; sizeInBytes : Integer);
350
NewtonWorldDestructorCallback = ^TNewtonWorldDestructorCallback;
351
TNewtonWorldDestructorCallback = procedure (const World : NewtonWorld);
353
NewtonWorldListenerBodyDestroyCallback = ^TNewtonWorldListenerBodyDestroyCallback;
354
TNewtonWorldListenerBodyDestroyCallback = procedure (const World : NewtonWorld; listenerUserData : Pointer; body : NewtonBody);
356
NewtonWorldUpdateListenerCallback = ^TNewtonWorldUpdateListenerCallback;
357
TNewtonWorldUpdateListenerCallback = procedure (const World : NewtonWorld; listenerUserData : Pointer; timestep : dFloat);
358
NewtonWorldDestroyListenerCallback = ^TNewtonWorldDestroyListenerCallback;
359
TNewtonWorldDestroyListenerCallback = procedure (const World : NewtonWorld; listenerUserData : Pointer);
361
NewtonGetTimeInMicrosencondsCallback = ^TNewtonGetTimeInMicrosencondsCallback;
362
TNewtonGetTimeInMicrosencondsCallback = function () : dLong;
364
NewtonSerializeCallback = ^TNewtonSerializeCallback;
365
TNewtonSerializeCallback = procedure (Handle : NewtonSerializeHandle; const buffer : Pointer; size : Integer);
366
NewtonDeserializeCallback = ^TNewtonDeserializeCallback;
367
TNewtonDeserializeCallback = procedure (Handle : NewtonSerializeHandle; buffer : Pointer; size : Integer);
369
NewtonOnBodySerializationCallback = ^TNewtonOnBodySerializationCallback;
370
TNewtonOnBodySerializationCallback = procedure (body : NewtonBody; userData : Pointer; Callback : NewtonSerializeCallback; Handle : NewtonSerializeHandle);
371
NewtonOnBodyDeserializationCallback = ^TNewtonOnBodyDeserializationCallback;
372
TNewtonOnBodyDeserializationCallback = procedure (body : NewtonBody; userData : Pointer; Callback : NewtonDeserializeCallback; Handle : NewtonSerializeHandle);
374
NewtonOnJointSerializationCallback = ^TNewtonOnJointSerializationCallback;
375
TNewtonOnJointSerializationCallback = procedure (joint : NewtonJoint; funct : NewtonSerializeCallback; serializeHandle : NewtonSerializeHandle);
377
NewtonOnJointDeserializationCallback = ^TNewtonOnJointDeserializationCallback;
378
TNewtonOnJointDeserializationCallback = procedure (body0 : NewtonBody; body1 : NewtonBody; funct : NewtonDeserializeCallback; serializeHandle : NewtonSerializeHandle);
380
NewtonOnUserCollisionSerializationCallback = ^TNewtonOnUserCollisionSerializationCallback;
381
TNewtonOnUserCollisionSerializationCallback = procedure (userData : Pointer; Callback : NewtonSerializeCallback; Handle : NewtonSerializeHandle);
384
// user collision callbacks
385
NewtonUserMeshCollisionDestroyCallback = ^TNewtonUserMeshCollisionDestroyCallback;
386
TNewtonUserMeshCollisionDestroyCallback = procedure (userData : Pointer);
387
NewtonUserMeshCollisionRayHitCallback = ^TNewtonUserMeshCollisionRayHitCallback;
388
TNewtonUserMeshCollisionRayHitCallback = function (lineDescData : NewtonUserMeshCollisionRayHitDesc) : dFloat;
389
NewtonUserMeshCollisionGetCollisionInfo = ^TNewtonUserMeshCollisionGetCollisionInfo;
390
TNewtonUserMeshCollisionGetCollisionInfo = procedure (userData : Pointer; infoRecord : NewtonCollisionInfoRecord);
391
NewtonUserMeshCollisionAABBTest = ^TNewtonUserMeshCollisionAABBTest;
392
TNewtonUserMeshCollisionAABBTest = function (userData : Pointer; const boxP0,boxP1 : PdFloat) : Integer;
393
NewtonUserMeshCollisionGetFacesInAABB = ^TNewtonUserMeshCollisionGetFacesInAABB;
394
TNewtonUserMeshCollisionGetFacesInAABB = function (userData : Pointer; const p0 : PdFloat; const p1 : PdFloat;
395
const vertexArray : PdFloat; vertexCount : PInteger;
396
vertexStrideInBytes : PInteger; const indexList : PInteger;
397
maxIndexCount : Integer; const userDataList : PInteger) : Integer;
399
NewtonUserMeshCollisionCollideCallback = ^TNewtonUserMeshCollisionCollideCallback;
400
TNewtonUserMeshCollisionCollideCallback = procedure (collideDescData : NewtonUserMeshCollisionCollideDesc; continueCollisionHandle : Pointer);
402
NewtonTreeCollisionFaceCallback = ^TNewtonTreeCollisionFaceCallback;
403
TNewtonTreeCollisionFaceCallback = function (context : Pointer; polygon : PdFloat; strideInBytes : Integer; indexArray : PInteger; indexCount : Integer) : Integer;
405
NewtonCollisionTreeRayCastCallback = ^TNewtonCollisionTreeRayCastCallback;
406
TNewtonCollisionTreeRayCastCallback = function (const body : NewtonBody; const treeCollision : NewtonCollision;
407
interception : dFloat; normal : PdFloat; faceID : Integer;
408
userData : Pointer) : dFloat;
409
NewtonHeightFieldRayCastCallback = ^TNewtonHeightFieldRayCastCallback;
410
TNewtonHeightFieldRayCastCallback = function (const body : NewtonBody; const heightFieldCollision : NewtonCollision;
411
interception : dFloat; row, col : Integer; normal : PdFloat;
412
faceID : Integer; userData : Pointer) : dFloat;
414
NewtonCollisionCopyConstructionCallback = ^TNewtonCollisionCopyConstructionCallback;
415
TNewtonCollisionCopyConstructionCallback = procedure (newtonWorld : NewtonWorld; collision : NewtonCollision; sourceCollision : NewtonCollision);
417
NewtonCollisionDestructorCallback = ^TNewtonCollisionDestructorCallback;
418
TNewtonCollisionDestructorCallback = procedure (newtonWorld : NewtonWorld; collision : NewtonCollision);
420
// collision tree call back (obsoleted no recommended)
421
NewtonTreeCollisionCallback = ^TNewtonTreeCollisionCallback;
422
TNewtonTreeCollisionCallback = procedure (const bodyWithTreeCollision : NewtonBody; const body : NewtonBody;
423
faceID : Integer; vertexCount : Integer; const vertexArray : PdFloat;
424
vertexStrideInBytes : Integer);
426
NewtonBodyDestructor = ^TNewtonBodyDestructor;
427
TNewtonBodyDestructor = procedure (const body : NewtonBody);
428
NewtonApplyForceAndTorque = ^TNewtonApplyForceAndTorque;
429
TNewtonApplyForceAndTorque = procedure (const body : NewtonBody; timestep : dFloat; threadIndex : Integer);
430
NewtonSetTransform = ^TNewtonSetTransform;
431
TNewtonSetTransform = procedure (const body : NewtonBody; const matrix : PdFloat; threadIndex : Integer);
433
NewtonIslandUpdate = ^TNewtonIslandUpdate;
434
TNewtonIslandUpdate = function (const world : NewtonWorld; islandHandle : Pointer; bodyCount : Integer) : Integer;
436
NewtonFractureCompoundCollisionOnEmitCompoundFractured = ^TNewtonFractureCompoundCollisionOnEmitCompoundFractured;
437
TNewtonFractureCompoundCollisionOnEmitCompoundFractured = procedure (fracturedBody : NewtonBody);
439
NewtonFractureCompoundCollisionOnEmitChunk = ^TNewtonFractureCompoundCollisionOnEmitChunk;
440
TNewtonFractureCompoundCollisionOnEmitChunk = procedure (chunkBody : NewtonBody; fracturexChunkMesh : NewtonFracturedCompoundMeshPart; fracturedCompountCollision : NewtonCollision);
442
NewtonFractureCompoundCollisionReconstructMainMeshCallBack = ^TNewtonFractureCompoundCollisionReconstructMainMeshCallBack;
443
TNewtonFractureCompoundCollisionReconstructMainMeshCallBack = procedure (body : NewtonBody; mainMesh : NewtonFracturedCompoundMeshPart; fracturedCompountCollision : NewtonCollision);
445
NewtonWorldRayPrefilterCallback = ^TNewtonWorldRayPrefilterCallback;
446
TNewtonWorldRayPrefilterCallback = function (const body : NewtonBody; collision : NewtonCollision; userData : Pointer) : Cardinal;
447
NewtonWorldRayFilterCallback = ^TNewtonWorldRayFilterCallback;
448
TNewtonWorldRayFilterCallback = function (const body : NewtonBody; const shapeHit : NewtonCollision; const hitContact : PDFloat; const hitNormal : PdFloat; collisionID : dLong;
449
userData : Pointer; intersectParam : dFloat) : dFloat;
451
NewtonContactsProcess = ^TNewtonContactsProcess;
452
TNewtonContactsProcess = procedure (const contact : NewtonJoint; timestep : dFloat; threadIndex : Integer);
454
NewtonOnAABBOverlap = ^TNewtonOnAABBOverlap;
455
TNewtonOnAABBOverlap = function (const material : NewtonMaterial; const body0 : NewtonBody; const body1 : NewtonBody;
456
threadIndex : Integer) : Integer;
458
NewtonOnCompoundSubCollisionAABBOverlap = ^TNewtonOnCompoundSubCollisionAABBOverlap;
459
TNewtonOnCompoundSubCollisionAABBOverlap = function (const material : NewtonMaterial; body0 : NewtonBody; collisionNode0 : Pointer; body1 : NewtonBody; collisionNode1 : Pointer; threadIndex : Integer) : Integer;
461
NewtonOnContactGeneration = ^TNewtonOnContactGeneration;
462
TNewtonOnContactGeneration = function (const material : NewtonMaterial; body0 : NewtonBody; collision0 : Pointer; body1 : NewtonBody; collision1 : Pointer; contactBuffer : NewtonUserContactPoint; maxCount : Integer; threadIndex : Integer) : Integer;
464
NewtonBodyIterator = ^TNewtonBodyIterator;
465
TNewtonBodyIterator = function (const body : NewtonBody; userData : Pointer) : Integer;
466
NewtonJointIterator = ^TNewtonJointIterator;
467
TNewtonJointIterator = procedure (const joint : NewtonJoint; userData : Pointer);
468
NewtonCollisionIterator = ^TNewtonCollisionIterator;
469
TNewtonCollisionIterator = procedure (userData : Pointer; vertexCount : Integer; const faceArray : PdFloat; faceId : Integer);
471
NewtonBallCallback = ^TNewtonBallCallback;
472
TNewtonBallCallback = procedure (const ball : NewtonJoint; timestep : dFloat);
473
NewtonHingeCallback = ^TNewtonHingeCallback;
474
TNewtonHingeCallback = function (const hinge : NewtonJoint; desc : NewtonHingeSliderUpdateDesc) : Cardinal;
475
NewtonSliderCallback = ^TNewtonSliderCallback;
476
TNewtonSliderCallback = function (const slider : NewtonJoint; desc : NewtonHingeSliderUpdateDesc) : Cardinal;
477
NewtonUniversalCallback = ^TNewtonUniversalCallback;
478
TNewtonUniversalCallback = function (const universal : NewtonJoint; desc : NewtonHingeSliderUpdateDesc) : Cardinal;
479
NewtonCorkscrewCallback = ^TNewtonCorkscrewCallback;
480
TNewtonCorkscrewCallback = function (const corkscrew : NewtonJoint; desc : NewtonHingeSliderUpdateDesc) : Cardinal;
482
NewtonUserBilateralCallback = ^TNewtonUserBilateralCallback;
483
TNewtonUserBilateralCallback = procedure (const userJoint : NewtonJoint; timestep : dFloat; threadIndex : Integer);
484
NewtonUserBilateralGetInfoCallback = ^TNewtonUserBilateralGetInfoCallback;
485
TNewtonUserBilateralGetInfoCallback = procedure (const userJoint : NewtonJoint; info : NewtonJointRecord);
487
NewtonConstraintDestructor = ^TNewtonConstraintDestructor;
488
TNewtonConstraintDestructor = procedure (const me : NewtonJoint);
490
NewtonJobTask = ^TNewtonJobTask;
491
TNewtonJobTask = procedure (world : NewtonWorld; userData : Pointer; threadIndex : Integer);
493
NewtonReportProgress = ^TNewtonReportProgress;
494
TNewtonReportProgress = function (progressNormalzedPercent : dFloat; userData : Pointer) : Integer;
497
function NewtonWorldGetVersion() : Integer; cdecl; external NEWTON_API;
498
function NewtonWorldFloatSize() : Integer; cdecl; external NEWTON_API;
499
function NewtonGetMemoryUsed() : Integer; cdecl; external NEWTON_API;
500
procedure NewtonSetMemorySystem(malloc : NewtonAllocMemory; free : NewtonFreeMemory); cdecl; external NEWTON_API;
501
function NewtonCreate() : NewtonWorld; cdecl; external NEWTON_API;
502
function NewtonCreateEx(stackSizeInMegabytes : Integer) : NewtonWorld; cdecl; external NEWTON_API;
503
procedure NewtonDestroy(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
504
procedure NewtonDestroyAllBodies(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
505
function NewtonAlloc(sizeInBytes : Integer) : Pointer; cdecl; external NEWTON_API;
506
procedure NewtonFree(ptr : Pointer); cdecl; external NEWTON_API;
507
function NewtonGetStackSize(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
508
procedure NewtonSetStackSize(newtonWorld : NewtonWorld; size : Integer); cdecl; external NEWTON_API;
509
function NewtonEnumerateDevices(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
510
function NewtonGetCurrentDevice(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
511
procedure NewtonSetCurrentDevice(newtonWorld : NewtonWorld; deviceIndex : Integer); cdecl; external NEWTON_API;
512
procedure NewtonGetDeviceString(newtonWorld : NewtonWorld; deviceIndex : Integer; vendorString : Pchar; maxSize : Integer); cdecl; external NEWTON_API;
513
function NewtonGetContactMergeTolerance(newtonWorld : NewtonWorld) : dFloat; cdecl; external NEWTON_API;
514
procedure NewtonSetContactMergeTolerance(newtonWorld : NewtonWorld; tolerance : dFloat); cdecl; external NEWTON_API;
515
procedure NewtonInvalidateCache(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
516
procedure NewtonSetSolverModel(newtonWorld : NewtonWorld; model : Integer); cdecl; external NEWTON_API;
517
function NewtonGetSolverModel(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
518
procedure NewtonSetSolverConvergenceQuality(newtonWorld : NewtonWorld; lowOrHigh : Integer); cdecl; external NEWTON_API;
519
function NewtonGetSolverConvergenceQuality(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
520
procedure NewtonSetMultiThreadSolverOnSingleIsland(newtonWorld : NewtonWorld; mode : Integer); cdecl; external NEWTON_API;
521
function NewtonGetMultiThreadSolverOnSingleIsland(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
522
procedure NewtonSetPerformanceClock(newtonWorld : NewtonWorld; callback : NewtonGetTimeInMicrosencondsCallback); cdecl; external NEWTON_API;
523
function NewtonGetBroadphaseAlgorithm(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
524
procedure NewtonSelectBroadphaseAlgorithm(newtonWorld : NewtonWorld; algorithmType : Integer); cdecl; external NEWTON_API;
525
procedure NewtonUpdate(newtonWorld : NewtonWorld; timestep : dFloat); cdecl; external NEWTON_API;
526
procedure NewtonUpdateAsync(newtonWorld : NewtonWorld; timestep : dFloat); cdecl; external NEWTON_API;
527
procedure NewtonWaitForUpdateToFinish(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
528
function NewtonGetNumberOfSubsteps(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
529
procedure NewtonSetNumberOfSubsteps(newtonWorld : NewtonWorld; subSteps : Integer); cdecl; external NEWTON_API;
530
function NewtonGetLastUpdateTime(newtonWorld : NewtonWorld) : dFloat; cdecl; external NEWTON_API;
531
procedure NewtonSerializeToFile(newtonWorld : NewtonWorld; filename : Pchar; bodyCallback : NewtonOnBodySerializationCallback; bodyUserData : Pointer); cdecl; external NEWTON_API;
532
procedure NewtonDeserializeFromFile(newtonWorld : NewtonWorld; filename : Pchar; bodyCallback : NewtonOnBodyDeserializationCallback; bodyUserData : Pointer); cdecl; external NEWTON_API;
533
function NewtonFindSerializedBody(newtonWorld : NewtonWorld; bodySerializedID : Integer) : NewtonBody; cdecl; external NEWTON_API;
534
procedure NewtonSetJointSerializationCallbacks(newtonWorld : NewtonWorld; serializeJoint : NewtonOnJointSerializationCallback; deserializeJoint : NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
535
procedure NewtonGetJointSerializationCallbacks(newtonWorld : NewtonWorld; serializeJoint : NewtonOnJointSerializationCallback; deserializeJoint : NewtonOnJointDeserializationCallback); cdecl; external NEWTON_API;
536
procedure NewtonWorldCriticalSectionLock(newtonWorld : NewtonWorld; threadIndex : Integer); cdecl; external NEWTON_API;
537
procedure NewtonWorldCriticalSectionUnlock(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
538
procedure NewtonSetThreadsCount(newtonWorld : NewtonWorld; threads : Integer); cdecl; external NEWTON_API;
539
function NewtonGetThreadsCount(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
540
function NewtonGetMaxThreadsCount(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
541
procedure NewtonDispachThreadJob(newtonWorld : NewtonWorld; task : NewtonJobTask; usedData : Pointer); cdecl; external NEWTON_API;
542
procedure NewtonSyncThreadJobs(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
543
function NewtonAtomicAdd(ptr : PInteger; value : Integer) : Integer; cdecl; external NEWTON_API;
544
function NewtonAtomicSwap(ptr : PInteger; value : Integer) : Integer; cdecl; external NEWTON_API;
545
procedure NewtonYield(); cdecl; external NEWTON_API;
546
procedure NewtonSetIslandUpdateEvent(newtonWorld : NewtonWorld; islandUpdate : NewtonIslandUpdate); cdecl; external NEWTON_API;
547
procedure NewtonWorldForEachJointDo(newtonWorld : NewtonWorld; callback : NewtonJointIterator; userData : Pointer); cdecl; external NEWTON_API;
548
procedure NewtonWorldForEachBodyInAABBDo(newtonWorld : NewtonWorld; p0 : PdFloat; p1 : PdFloat; callback : NewtonBodyIterator; userData : Pointer); cdecl; external NEWTON_API;
549
procedure NewtonWorldSetUserData(newtonWorld : NewtonWorld; userData : Pointer); cdecl; external NEWTON_API;
550
function NewtonWorldGetUserData(newtonWorld : NewtonWorld) : Pointer; cdecl; external NEWTON_API;
551
function NewtonWorldGetListenerUserData(newtonWorld : NewtonWorld; listener : Pointer) : Pointer; cdecl; external NEWTON_API;
552
function NewtonWorldListenerGetBodyDestroyCallback(newtonWorld : NewtonWorld; listener : Pointer) : NewtonWorldListenerBodyDestroyCallback; cdecl; external NEWTON_API;
553
procedure NewtonWorldListenerSetBodyDestroyCallback(newtonWorld : NewtonWorld; listener : Pointer; bodyDestroyCallback : NewtonWorldListenerBodyDestroyCallback); cdecl; external NEWTON_API;
554
function NewtonWorldGetPreListener(newtonWorld : NewtonWorld; nameId : Pchar) : Pointer; cdecl; external NEWTON_API;
555
function NewtonWorldAddPreListener(newtonWorld : NewtonWorld; nameId : Pchar; listenerUserData : Pointer; update : NewtonWorldUpdateListenerCallback; destroy : NewtonWorldDestroyListenerCallback) : Pointer; cdecl; external NEWTON_API;
556
function NewtonWorldGetPostListener(newtonWorld : NewtonWorld; nameId : Pchar) : Pointer; cdecl; external NEWTON_API;
557
function NewtonWorldAddPostListener(newtonWorld : NewtonWorld; nameId : Pchar; listenerUserData : Pointer; update : NewtonWorldUpdateListenerCallback; destroy : NewtonWorldDestroyListenerCallback) : Pointer; cdecl; external NEWTON_API;
558
procedure NewtonWorldSetDestructorCallback(newtonWorld : NewtonWorld; _destructor : NewtonWorldDestructorCallback); cdecl; external NEWTON_API;
559
function NewtonWorldGetDestructorCallback(newtonWorld : NewtonWorld) : NewtonWorldDestructorCallback; cdecl; external NEWTON_API;
560
procedure NewtonWorldSetCollisionConstructorDestructorCallback(newtonWorld : NewtonWorld; _constructor : NewtonCollisionCopyConstructionCallback; _destructor : NewtonCollisionDestructorCallback); cdecl; external NEWTON_API;
561
procedure NewtonWorldRayCast(newtonWorld : NewtonWorld; p0 : PdFloat; p1 : PdFloat; filter : NewtonWorldRayFilterCallback; userData : Pointer; prefilter : NewtonWorldRayPrefilterCallback; threadIndex : Integer); cdecl; external NEWTON_API;
562
function NewtonWorldConvexCast(newtonWorld : NewtonWorld; matrix : PdFloat; target : PdFloat; shape : NewtonCollision; param : PdFloat; userData : Pointer; prefilter : NewtonWorldRayPrefilterCallback; info : NewtonWorldConvexCastReturnInfo; maxContactsCount : Integer; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
563
function NewtonWorldCollide(newtonWorld : NewtonWorld; matrix : PdFloat; shape : NewtonCollision; userData : Pointer; prefilter : NewtonWorldRayPrefilterCallback; info : NewtonWorldConvexCastReturnInfo; maxContactsCount : Integer; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
564
function NewtonWorldGetBodyCount(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
565
function NewtonWorldGetConstraintCount(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
566
function NewtonIslandGetBody(island : Pointer; bodyIndex : Integer) : NewtonBody; cdecl; external NEWTON_API;
567
procedure NewtonIslandGetBodyAABB(island : Pointer; bodyIndex : Integer; p0 : PdFloat; p1 : PdFloat); cdecl; external NEWTON_API;
568
function NewtonMaterialCreateGroupID(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
569
function NewtonMaterialGetDefaultGroupID(newtonWorld : NewtonWorld) : Integer; cdecl; external NEWTON_API;
570
procedure NewtonMaterialDestroyAllGroupID(newtonWorld : NewtonWorld); cdecl; external NEWTON_API;
571
function NewtonMaterialGetUserData(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer) : Pointer; cdecl; external NEWTON_API;
572
procedure NewtonMaterialSetSurfaceThickness(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; thickness : dFloat); cdecl; external NEWTON_API;
573
procedure NewtonMaterialSetCallbackUserData(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; userData : Pointer); cdecl; external NEWTON_API;
574
procedure NewtonMaterialSetContactGenerationCallback(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; contactGeneration : NewtonOnContactGeneration); cdecl; external NEWTON_API;
575
procedure NewtonMaterialSetCompoundCollisionCallback(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; compoundAabbOverlap : NewtonOnCompoundSubCollisionAABBOverlap); cdecl; external NEWTON_API;
576
procedure NewtonMaterialSetCollisionCallback(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; aabbOverlap : NewtonOnAABBOverlap; process : NewtonContactsProcess); cdecl; external NEWTON_API;
577
procedure NewtonMaterialSetDefaultSoftness(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; value : dFloat); cdecl; external NEWTON_API;
578
procedure NewtonMaterialSetDefaultElasticity(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; elasticCoef : dFloat); cdecl; external NEWTON_API;
579
procedure NewtonMaterialSetDefaultCollidable(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; state : Integer); cdecl; external NEWTON_API;
580
procedure NewtonMaterialSetDefaultFriction(newtonWorld : NewtonWorld; id0 : Integer; id1 : Integer; staticFriction : dFloat; kineticFriction : dFloat); cdecl; external NEWTON_API;
581
function NewtonWorldGetFirstMaterial(newtonWorld : NewtonWorld) : NewtonMaterial; cdecl; external NEWTON_API;
582
function NewtonWorldGetNextMaterial(newtonWorld : NewtonWorld; material : NewtonMaterial) : NewtonMaterial; cdecl; external NEWTON_API;
583
function NewtonWorldGetFirstBody(newtonWorld : NewtonWorld) : NewtonBody; cdecl; external NEWTON_API;
584
function NewtonWorldGetNextBody(newtonWorld : NewtonWorld; curBody : NewtonBody) : NewtonBody; cdecl; external NEWTON_API;
585
function NewtonMaterialGetMaterialPairUserData(material : NewtonMaterial) : Pointer; cdecl; external NEWTON_API;
586
function NewtonMaterialGetContactFaceAttribute(material : NewtonMaterial) : Cardinal; cdecl; external NEWTON_API;
587
function NewtonMaterialGetBodyCollidingShape(material : NewtonMaterial; body : NewtonBody) : NewtonCollision; cdecl; external NEWTON_API;
588
function NewtonMaterialGetContactNormalSpeed(material : NewtonMaterial) : dFloat; cdecl; external NEWTON_API;
589
procedure NewtonMaterialGetContactForce(material : NewtonMaterial; body : NewtonBody; force : PdFloat); cdecl; external NEWTON_API;
590
procedure NewtonMaterialGetContactPositionAndNormal(material : NewtonMaterial; body : NewtonBody; posit : PdFloat; normal : PdFloat); cdecl; external NEWTON_API;
591
procedure NewtonMaterialGetContactTangentDirections(material : NewtonMaterial; body : NewtonBody; dir0 : PdFloat; dir1 : PdFloat); cdecl; external NEWTON_API;
592
function NewtonMaterialGetContactTangentSpeed(material : NewtonMaterial; index : Integer) : dFloat; cdecl; external NEWTON_API;
593
function NewtonMaterialGetContactMaxNormalImpact(material : NewtonMaterial) : dFloat; cdecl; external NEWTON_API;
594
function NewtonMaterialGetContactMaxTangentImpact(material : NewtonMaterial; index : Integer) : dFloat; cdecl; external NEWTON_API;
595
function NewtonMaterialGetContactPenetration(material : NewtonMaterial) : dFloat; cdecl; external NEWTON_API;
596
procedure NewtonMaterialSetContactSoftness(material : NewtonMaterial; softness : dFloat); cdecl; external NEWTON_API;
597
procedure NewtonMaterialSetContactElasticity(material : NewtonMaterial; restitution : dFloat); cdecl; external NEWTON_API;
598
procedure NewtonMaterialSetContactFrictionState(material : NewtonMaterial; state : Integer; index : Integer); cdecl; external NEWTON_API;
599
procedure NewtonMaterialSetContactFrictionCoef(material : NewtonMaterial; staticFrictionCoef : dFloat; kineticFrictionCoef : dFloat; index : Integer); cdecl; external NEWTON_API;
600
procedure NewtonMaterialSetContactNormalAcceleration(material : NewtonMaterial; accel : dFloat); cdecl; external NEWTON_API;
601
procedure NewtonMaterialSetContactNormalDirection(material : NewtonMaterial; directionVector : PdFloat); cdecl; external NEWTON_API;
602
procedure NewtonMaterialSetContactPosition(material : NewtonMaterial; position : PdFloat); cdecl; external NEWTON_API;
603
procedure NewtonMaterialSetContactTangentFriction(material : NewtonMaterial; friction : dFloat; index : Integer); cdecl; external NEWTON_API;
604
procedure NewtonMaterialSetContactTangentAcceleration(material : NewtonMaterial; accel : dFloat; index : Integer); cdecl; external NEWTON_API;
605
procedure NewtonMaterialContactRotateTangentDirections(material : NewtonMaterial; directionVector : PdFloat); cdecl; external NEWTON_API;
606
function NewtonCreateNull(newtonWorld : NewtonWorld) : NewtonCollision; cdecl; external NEWTON_API;
607
function NewtonCreateSphere(newtonWorld : NewtonWorld; radius : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
608
function NewtonCreateBox(newtonWorld : NewtonWorld; dx : dFloat; dy : dFloat; dz : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
609
function NewtonCreateCone(newtonWorld : NewtonWorld; radius : dFloat; height : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
610
function NewtonCreateCapsule(newtonWorld : NewtonWorld; radius0 : dFloat; radius1 : dFloat; height : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
611
function NewtonCreateCylinder(newtonWorld : NewtonWorld; radio0 : dFloat; radio1 : dFloat; height : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
612
function NewtonCreateChamferCylinder(newtonWorld : NewtonWorld; radius : dFloat; height : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
613
function NewtonCreateConvexHull(newtonWorld : NewtonWorld; count : Integer; vertexCloud : PdFloat; strideInBytes : Integer; tolerance : dFloat; shapeID : Integer; offsetMatrix : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
614
function NewtonCreateConvexHullFromMesh(newtonWorld : NewtonWorld; mesh : NewtonMesh; tolerance : dFloat; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
615
function NewtonCollisionGetMode(convexCollision : NewtonCollision) : Integer; cdecl; external NEWTON_API;
616
procedure NewtonCollisionSetMode(convexCollision : NewtonCollision; mode : Integer); cdecl; external NEWTON_API;
617
function NewtonConvexHullGetFaceIndices(convexHullCollision : NewtonCollision; face : Integer; faceIndices : PInteger) : Integer; cdecl; external NEWTON_API;
618
function NewtonConvexHullGetVertexData(convexHullCollision : NewtonCollision; vertexData : PdFloat; strideInBytes : PInteger) : Integer; cdecl; external NEWTON_API;
619
function NewtonConvexCollisionCalculateVolume(convexCollision : NewtonCollision) : dFloat; cdecl; external NEWTON_API;
620
procedure NewtonConvexCollisionCalculateInertialMatrix(convexCollision : NewtonCollision; inertia : PdFloat; origin : PdFloat); cdecl; external NEWTON_API;
621
procedure NewtonConvexCollisionCalculateBuoyancyAcceleration(convexCollision : NewtonCollision; matrix : PdFloat; shapeOrigin : PdFloat; gravityVector : PdFloat; fluidPlane : PdFloat; fluidDensity : dFloat; fluidViscosity : dFloat; accel : PdFloat; alpha : PdFloat); cdecl; external NEWTON_API;
622
function NewtonCollisionDataPointer(convexCollision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
623
function NewtonCreateCompoundCollision(newtonWorld : NewtonWorld; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
624
function NewtonCreateCompoundCollisionFromMesh(newtonWorld : NewtonWorld; mesh : NewtonMesh; hullTolerance : dFloat; shapeID : Integer; subShapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
625
procedure NewtonCompoundCollisionBeginAddRemove(compoundCollision : NewtonCollision); cdecl; external NEWTON_API;
626
function NewtonCompoundCollisionAddSubCollision(compoundCollision : NewtonCollision; convexCollision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
627
procedure NewtonCompoundCollisionRemoveSubCollision(compoundCollision : NewtonCollision; collisionNode : Pointer); cdecl; external NEWTON_API;
628
procedure NewtonCompoundCollisionRemoveSubCollisionByIndex(compoundCollision : NewtonCollision; nodeIndex : Integer); cdecl; external NEWTON_API;
629
procedure NewtonCompoundCollisionSetSubCollisionMatrix(compoundCollision : NewtonCollision; collisionNode : Pointer; matrix : PdFloat); cdecl; external NEWTON_API;
630
procedure NewtonCompoundCollisionEndAddRemove(compoundCollision : NewtonCollision); cdecl; external NEWTON_API;
631
function NewtonCompoundCollisionGetFirstNode(compoundCollision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
632
function NewtonCompoundCollisionGetNextNode(compoundCollision : NewtonCollision; collisionNode : Pointer) : Pointer; cdecl; external NEWTON_API;
633
function NewtonCompoundCollisionGetNodeByIndex(compoundCollision : NewtonCollision; index : Integer) : Pointer; cdecl; external NEWTON_API;
634
function NewtonCompoundCollisionGetNodeIndex(compoundCollision : NewtonCollision; collisionNode : Pointer) : Integer; cdecl; external NEWTON_API;
635
function NewtonCompoundCollisionGetCollisionFromNode(compoundCollision : NewtonCollision; collisionNode : Pointer) : NewtonCollision; cdecl; external NEWTON_API;
636
function NewtonCreateFracturedCompoundCollision(newtonWorld : NewtonWorld; solidMesh : NewtonMesh; shapeID : Integer; fracturePhysicsMaterialID : Integer; pointcloudCount : Integer; vertexCloud : PdFloat; strideInBytes : Integer; materialID : Integer; textureMatrix : PdFloat; regenerateMainMeshCallback : NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound : NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk : NewtonFractureCompoundCollisionOnEmitChunk) : NewtonCollision; cdecl; external NEWTON_API;
637
function NewtonFracturedCompoundPlaneClip(fracturedCompound : NewtonCollision; plane : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
638
procedure NewtonFracturedCompoundSetCallbacks(fracturedCompound : NewtonCollision; regenerateMainMeshCallback : NewtonFractureCompoundCollisionReconstructMainMeshCallBack; emitFracturedCompound : NewtonFractureCompoundCollisionOnEmitCompoundFractured; emitFracfuredChunk : NewtonFractureCompoundCollisionOnEmitChunk); cdecl; external NEWTON_API;
639
function NewtonFracturedCompoundIsNodeFreeToDetach(fracturedCompound : NewtonCollision; collisionNode : Pointer) : Integer; cdecl; external NEWTON_API;
640
function NewtonFracturedCompoundNeighborNodeList(fracturedCompound : NewtonCollision; collisionNode : Pointer; list : Pointer; maxCount : Integer) : Integer; cdecl; external NEWTON_API;
641
function NewtonFracturedCompoundGetMainMesh(fracturedCompound : NewtonCollision) : NewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
642
function NewtonFracturedCompoundGetFirstSubMesh(fracturedCompound : NewtonCollision) : NewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
643
function NewtonFracturedCompoundGetNextSubMesh(fracturedCompound : NewtonCollision; subMesh : NewtonFracturedCompoundMeshPart) : NewtonFracturedCompoundMeshPart; cdecl; external NEWTON_API;
644
function NewtonFracturedCompoundCollisionGetVertexCount(fracturedCompound : NewtonCollision; meshOwner : NewtonFracturedCompoundMeshPart) : Integer; cdecl; external NEWTON_API;
645
function NewtonFracturedCompoundCollisionGetVertexPositions(fracturedCompound : NewtonCollision; meshOwner : NewtonFracturedCompoundMeshPart) : PdFloat; cdecl; external NEWTON_API;
646
function NewtonFracturedCompoundCollisionGetVertexNormals(fracturedCompound : NewtonCollision; meshOwner : NewtonFracturedCompoundMeshPart) : PdFloat; cdecl; external NEWTON_API;
647
function NewtonFracturedCompoundCollisionGetVertexUVs(fracturedCompound : NewtonCollision; meshOwner : NewtonFracturedCompoundMeshPart) : PdFloat; cdecl; external NEWTON_API;
648
function NewtonFracturedCompoundMeshPartGetIndexStream(fracturedCompound : NewtonCollision; meshOwner : NewtonFracturedCompoundMeshPart; segment : Pointer; index : PInteger) : Integer; cdecl; external NEWTON_API;
649
function NewtonFracturedCompoundMeshPartGetFirstSegment(fractureCompoundMeshPart : NewtonFracturedCompoundMeshPart) : Pointer; cdecl; external NEWTON_API;
650
function NewtonFracturedCompoundMeshPartGetNextSegment(fractureCompoundMeshSegment : Pointer) : Pointer; cdecl; external NEWTON_API;
651
function NewtonFracturedCompoundMeshPartGetMaterial(fractureCompoundMeshSegment : Pointer) : Integer; cdecl; external NEWTON_API;
652
function NewtonFracturedCompoundMeshPartGetIndexCount(fractureCompoundMeshSegment : Pointer) : Integer; cdecl; external NEWTON_API;
653
function NewtonCreateSceneCollision(newtonWorld : NewtonWorld; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
654
procedure NewtonSceneCollisionBeginAddRemove(sceneCollision : NewtonCollision); cdecl; external NEWTON_API;
655
function NewtonSceneCollisionAddSubCollision(sceneCollision : NewtonCollision; collision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
656
procedure NewtonSceneCollisionRemoveSubCollision(compoundCollision : NewtonCollision; collisionNode : Pointer); cdecl; external NEWTON_API;
657
procedure NewtonSceneCollisionRemoveSubCollisionByIndex(sceneCollision : NewtonCollision; nodeIndex : Integer); cdecl; external NEWTON_API;
658
procedure NewtonSceneCollisionSetSubCollisionMatrix(sceneCollision : NewtonCollision; collisionNode : Pointer; matrix : PdFloat); cdecl; external NEWTON_API;
659
procedure NewtonSceneCollisionEndAddRemove(sceneCollision : NewtonCollision); cdecl; external NEWTON_API;
660
function NewtonSceneCollisionGetFirstNode(sceneCollision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
661
function NewtonSceneCollisionGetNextNode(sceneCollision : NewtonCollision; collisionNode : Pointer) : Pointer; cdecl; external NEWTON_API;
662
function NewtonSceneCollisionGetNodeByIndex(sceneCollision : NewtonCollision; index : Integer) : Pointer; cdecl; external NEWTON_API;
663
function NewtonSceneCollisionGetNodeIndex(sceneCollision : NewtonCollision; collisionNode : Pointer) : Integer; cdecl; external NEWTON_API;
664
function NewtonSceneCollisionGetCollisionFromNode(sceneCollision : NewtonCollision; collisionNode : Pointer) : NewtonCollision; cdecl; external NEWTON_API;
665
function NewtonCreateUserMeshCollision(newtonWorld : NewtonWorld; minBox : PdFloat; maxBox : PdFloat; userData : Pointer; collideCallback : NewtonUserMeshCollisionCollideCallback; rayHitCallback : NewtonUserMeshCollisionRayHitCallback; destroyCallback : NewtonUserMeshCollisionDestroyCallback; getInfoCallback : NewtonUserMeshCollisionGetCollisionInfo; getLocalAABBCallback : NewtonUserMeshCollisionAABBTest; facesInAABBCallback : NewtonUserMeshCollisionGetFacesInAABB; serializeCallback : NewtonOnUserCollisionSerializationCallback; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
666
function NewtonUserMeshCollisionContinuousOverlapTest(collideDescData : NewtonUserMeshCollisionCollideDesc; continueCollisionHandle : Pointer; minAabb : PdFloat; maxAabb : PdFloat) : Integer; cdecl; external NEWTON_API;
667
function NewtonCreateCollisionFromSerialization(newtonWorld : NewtonWorld; deserializeFunction : NewtonDeserializeCallback; serializeHandle : Pointer) : NewtonCollision; cdecl; external NEWTON_API;
668
procedure NewtonCollisionSerialize(newtonWorld : NewtonWorld; collision : NewtonCollision; serializeFunction : NewtonSerializeCallback; serializeHandle : Pointer); cdecl; external NEWTON_API;
669
procedure NewtonCollisionGetInfo(collision : NewtonCollision; collisionInfo : NewtonCollisionInfoRecord); cdecl; external NEWTON_API;
670
function NewtonCreateHeightFieldCollision(newtonWorld : NewtonWorld; width : Integer; height : Integer; gridsDiagonals : Integer; elevationdatType : Integer; elevationMap : Pointer; attributeMap : Pchar; verticalScale : dFloat; horizontalScale_x : dFloat; horizontalScale_z : dFloat; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
671
procedure NewtonHeightFieldSetUserRayCastCallback(heightfieldCollision : NewtonCollision; rayHitCallback : NewtonHeightFieldRayCastCallback); cdecl; external NEWTON_API;
672
procedure NewtonHeightFieldSetHorizontalDisplacement(heightfieldCollision : NewtonCollision; horizontalMap : Pword; scale : dFloat); cdecl; external NEWTON_API;
673
function NewtonCreateTreeCollision(newtonWorld : NewtonWorld; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
674
function NewtonCreateTreeCollisionFromMesh(newtonWorld : NewtonWorld; mesh : NewtonMesh; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
675
procedure NewtonTreeCollisionSetUserRayCastCallback(treeCollision : NewtonCollision; rayHitCallback : NewtonCollisionTreeRayCastCallback); cdecl; external NEWTON_API;
676
procedure NewtonTreeCollisionBeginBuild(treeCollision : NewtonCollision); cdecl; external NEWTON_API;
677
procedure NewtonTreeCollisionAddFace(treeCollision : NewtonCollision; vertexCount : Integer; vertexPtr : PdFloat; strideInBytes : Integer; faceAttribute : Integer); cdecl; external NEWTON_API;
678
procedure NewtonTreeCollisionEndBuild(treeCollision : NewtonCollision; optimize : Integer); cdecl; external NEWTON_API;
679
function NewtonTreeCollisionGetFaceAttribute(treeCollision : NewtonCollision; faceIndexArray : PInteger; indexCount : Integer) : Integer; cdecl; external NEWTON_API;
680
procedure NewtonTreeCollisionSetFaceAttribute(treeCollision : NewtonCollision; faceIndexArray : PInteger; indexCount : Integer; attribute : Integer); cdecl; external NEWTON_API;
681
procedure NewtonTreeCollisionForEachFace(treeCollision : NewtonCollision; forEachFaceCallback : NewtonTreeCollisionFaceCallback; context : Pointer); cdecl; external NEWTON_API;
682
function NewtonTreeCollisionGetVertexListTriangleListInAABB(treeCollision : NewtonCollision; p0 : PdFloat; p1 : PdFloat; vertexArray : PdFloat; vertexCount : PInteger; vertexStrideInBytes : PInteger; indexList : PInteger; maxIndexCount : Integer; faceAttribute : PInteger) : Integer; cdecl; external NEWTON_API;
683
procedure NewtonStaticCollisionSetDebugCallback(staticCollision : NewtonCollision; userCallback : NewtonTreeCollisionCallback); cdecl; external NEWTON_API;
684
function NewtonCollisionCreateInstance(collision : NewtonCollision) : NewtonCollision; cdecl; external NEWTON_API;
685
function NewtonCollisionGetType(collision : NewtonCollision) : Integer; cdecl; external NEWTON_API;
686
function NewtonCollisionIsConvexShape(collision : NewtonCollision) : Integer; cdecl; external NEWTON_API;
687
function NewtonCollisionIsStaticShape(collision : NewtonCollision) : Integer; cdecl; external NEWTON_API;
688
procedure NewtonCollisionSetUserData(collision : NewtonCollision; userData : Pointer); cdecl; external NEWTON_API;
689
function NewtonCollisionGetUserData(collision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
690
procedure NewtonCollisionSetUserData1(collision : NewtonCollision; userData : Pointer); cdecl; external NEWTON_API;
691
function NewtonCollisionGetUserData1(collision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
692
procedure NewtonCollisionSetUserID(collision : NewtonCollision; id : Cardinal); cdecl; external NEWTON_API;
693
function NewtonCollisionGetUserID(collision : NewtonCollision) : Cardinal; cdecl; external NEWTON_API;
694
function NewtonCollisionGetSubCollisionHandle(collision : NewtonCollision) : Pointer; cdecl; external NEWTON_API;
695
function NewtonCollisionGetParentInstance(collision : NewtonCollision) : NewtonCollision; cdecl; external NEWTON_API;
696
procedure NewtonCollisionSetMatrix(collision : NewtonCollision; matrix : PdFloat); cdecl; external NEWTON_API;
697
procedure NewtonCollisionGetMatrix(collision : NewtonCollision; matrix : PdFloat); cdecl; external NEWTON_API;
698
procedure NewtonCollisionSetScale(collision : NewtonCollision; scaleX : dFloat; scaleY : dFloat; scaleZ : dFloat); cdecl; external NEWTON_API;
699
procedure NewtonCollisionGetScale(collision : NewtonCollision; scaleX : PdFloat; scaleY : PdFloat; scaleZ : PdFloat); cdecl; external NEWTON_API;
700
procedure NewtonDestroyCollision(collision : NewtonCollision); cdecl; external NEWTON_API;
701
function NewtonCollisionIntersectionTest(newtonWorld : NewtonWorld; collisionA : NewtonCollision; matrixA : PdFloat; collisionB : NewtonCollision; matrixB : PdFloat; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
702
function NewtonCollisionPointDistance(newtonWorld : NewtonWorld; point : PdFloat; collision : NewtonCollision; matrix : PdFloat; contact : PdFloat; normal : PdFloat; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
703
function NewtonCollisionClosestPoint(newtonWorld : NewtonWorld; collisionA : NewtonCollision; matrixA : PdFloat; collisionB : NewtonCollision; matrixB : PdFloat; contactA : PdFloat; contactB : PdFloat; normalAB : PdFloat; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
704
function NewtonCollisionCollide(newtonWorld : NewtonWorld; maxSize : Integer; collisionA : NewtonCollision; matrixA : PdFloat; collisionB : NewtonCollision; matrixB : PdFloat; contacts : PdFloat; normals : PdFloat; penetration : PdFloat; attributeA : PdLong; attributeB : PdLong; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
705
function NewtonCollisionCollideContinue(newtonWorld : NewtonWorld; maxSize : Integer; timestep : dFloat; collisionA : NewtonCollision; matrixA : PdFloat; velocA : PdFloat; omegaA : PdFloat; collisionB : NewtonCollision; matrixB : PdFloat; velocB : PdFloat; omegaB : PdFloat; timeOfImpact : PdFloat; contacts : PdFloat; normals : PdFloat; penetration : PdFloat; attributeA : PdLong; attributeB : PdLong; threadIndex : Integer) : Integer; cdecl; external NEWTON_API;
706
procedure NewtonCollisionSupportVertex(collision : NewtonCollision; dir : PdFloat; vertex : PdFloat); cdecl; external NEWTON_API;
707
function NewtonCollisionRayCast(collision : NewtonCollision; p0 : PdFloat; p1 : PdFloat; normal : PdFloat; attribute : PdLong) : dFloat; cdecl; external NEWTON_API;
708
procedure NewtonCollisionCalculateAABB(collision : NewtonCollision; matrix : PdFloat; p0 : PdFloat; p1 : PdFloat); cdecl; external NEWTON_API;
709
procedure NewtonCollisionForEachPolygonDo(collision : NewtonCollision; matrix : PdFloat; callback : NewtonCollisionIterator; userData : Pointer); cdecl; external NEWTON_API;
710
function NewtonCollisionAggregateCreate(world : NewtonWorld) : Pointer; cdecl; external NEWTON_API;
711
procedure NewtonCollisionAggregateDestroy(aggregate : Pointer); cdecl; external NEWTON_API;
712
procedure NewtonCollisionAggregateAddBody(aggregate : Pointer; body : NewtonBody); cdecl; external NEWTON_API;
713
procedure NewtonCollisionAggregateRemoveBody(aggregate : Pointer; body : NewtonBody); cdecl; external NEWTON_API;
714
function NewtonCollisionAggregateGetSelfCollision(aggregate : Pointer) : Integer; cdecl; external NEWTON_API;
715
procedure NewtonCollisionAggregateSetSelfCollision(aggregate : Pointer; state : Integer); cdecl; external NEWTON_API;
716
procedure NewtonSetEulerAngle(eulersAngles : PdFloat; matrix : PdFloat); cdecl; external NEWTON_API;
717
procedure NewtonGetEulerAngle(matrix : PdFloat; eulersAngles0 : PdFloat; eulersAngles1 : PdFloat); cdecl; external NEWTON_API;
718
function NewtonCalculateSpringDamperAcceleration(dt : dFloat; ks : dFloat; x : dFloat; kd : dFloat; s : dFloat) : dFloat; cdecl; external NEWTON_API;
719
function NewtonCreateDynamicBody(newtonWorld : NewtonWorld; collision : NewtonCollision; matrix : PdFloat) : NewtonBody; cdecl; external NEWTON_API;
720
function NewtonCreateKinematicBody(newtonWorld : NewtonWorld; collision : NewtonCollision; matrix : PdFloat) : NewtonBody; cdecl; external NEWTON_API;
721
procedure NewtonDestroyBody(body : NewtonBody); cdecl; external NEWTON_API;
722
function NewtonBodyGetSimulationState(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
723
procedure NewtonBodySetSimulationState(bodyPtr : NewtonBody; state : Integer); cdecl; external NEWTON_API;
724
function NewtonBodyGetType(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
725
function NewtonBodyGetCollidable(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
726
procedure NewtonBodySetCollidable(body : NewtonBody; collidableState : Integer); cdecl; external NEWTON_API;
727
procedure NewtonBodyAddForce(body : NewtonBody; force : PdFloat); cdecl; external NEWTON_API;
728
procedure NewtonBodyAddTorque(body : NewtonBody; torque : PdFloat); cdecl; external NEWTON_API;
729
procedure NewtonBodyCalculateInverseDynamicsForce(body : NewtonBody; timestep : dFloat; desiredVeloc : PdFloat; forceOut : PdFloat); cdecl; external NEWTON_API;
730
procedure NewtonBodySetCentreOfMass(body : NewtonBody; com : PdFloat); cdecl; external NEWTON_API;
731
procedure NewtonBodySetMassMatrix(body : NewtonBody; mass : dFloat; Ixx : dFloat; Iyy : dFloat; Izz : dFloat); cdecl; external NEWTON_API;
732
procedure NewtonBodySetFullMassMatrix(body : NewtonBody; mass : dFloat; inertiaMatrix : PdFloat); cdecl; external NEWTON_API;
733
procedure NewtonBodySetMassProperties(body : NewtonBody; mass : dFloat; collision : NewtonCollision); cdecl; external NEWTON_API;
734
procedure NewtonBodySetMatrix(body : NewtonBody; matrix : PdFloat); cdecl; external NEWTON_API;
735
procedure NewtonBodySetMatrixNoSleep(body : NewtonBody; matrix : PdFloat); cdecl; external NEWTON_API;
736
procedure NewtonBodySetMatrixRecursive(body : NewtonBody; matrix : PdFloat); cdecl; external NEWTON_API;
737
procedure NewtonBodySetMaterialGroupID(body : NewtonBody; id : Integer); cdecl; external NEWTON_API;
738
procedure NewtonBodySetContinuousCollisionMode(body : NewtonBody; state : Cardinal); cdecl; external NEWTON_API;
739
procedure NewtonBodySetJointRecursiveCollision(body : NewtonBody; state : Cardinal); cdecl; external NEWTON_API;
740
procedure NewtonBodySetOmega(body : NewtonBody; omega : PdFloat); cdecl; external NEWTON_API;
741
procedure NewtonBodySetOmegaNoSleep(body : NewtonBody; omega : PdFloat); cdecl; external NEWTON_API;
742
procedure NewtonBodySetVelocity(body : NewtonBody; velocity : PdFloat); cdecl; external NEWTON_API;
743
procedure NewtonBodySetVelocityNoSleep(body : NewtonBody; velocity : PdFloat); cdecl; external NEWTON_API;
744
procedure NewtonBodySetForce(body : NewtonBody; force : PdFloat); cdecl; external NEWTON_API;
745
procedure NewtonBodySetTorque(body : NewtonBody; torque : PdFloat); cdecl; external NEWTON_API;
746
procedure NewtonBodySetLinearDamping(body : NewtonBody; linearDamp : dFloat); cdecl; external NEWTON_API;
747
procedure NewtonBodySetAngularDamping(body : NewtonBody; angularDamp : PdFloat); cdecl; external NEWTON_API;
748
procedure NewtonBodySetCollision(body : NewtonBody; collision : NewtonCollision); cdecl; external NEWTON_API;
749
procedure NewtonBodySetCollisionScale(body : NewtonBody; scaleX : dFloat; scaleY : dFloat; scaleZ : dFloat); cdecl; external NEWTON_API;
750
function NewtonBodyGetMaxRotationPerStep(body : NewtonBody) : dFloat; cdecl; external NEWTON_API;
751
procedure NewtonBodySetMaxRotationPerStep(body : NewtonBody; angleInRadians : dFloat); cdecl; external NEWTON_API;
752
function NewtonBodyGetSleepState(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
753
procedure NewtonBodySetSleepState(body : NewtonBody; state : Integer); cdecl; external NEWTON_API;
754
function NewtonBodyGetAutoSleep(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
755
procedure NewtonBodySetAutoSleep(body : NewtonBody; state : Integer); cdecl; external NEWTON_API;
756
function NewtonBodyGetFreezeState(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
757
procedure NewtonBodySetFreezeState(body : NewtonBody; state : Integer); cdecl; external NEWTON_API;
758
procedure NewtonBodySetDestructorCallback(body : NewtonBody; callback : NewtonBodyDestructor); cdecl; external NEWTON_API;
759
function NewtonBodyGetDestructorCallback(body : NewtonBody) : NewtonBodyDestructor; cdecl; external NEWTON_API;
760
procedure NewtonBodySetTransformCallback(body : NewtonBody; callback : NewtonSetTransform); cdecl; external NEWTON_API;
761
function NewtonBodyGetTransformCallback(body : NewtonBody) : NewtonSetTransform; cdecl; external NEWTON_API;
762
procedure NewtonBodySetForceAndTorqueCallback(body : NewtonBody; callback : NewtonApplyForceAndTorque); cdecl; external NEWTON_API;
763
function NewtonBodyGetForceAndTorqueCallback(body : NewtonBody) : NewtonApplyForceAndTorque; cdecl; external NEWTON_API;
764
function NewtonBodyGetID(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
765
procedure NewtonBodySetUserData(body : NewtonBody; userData : Pointer); cdecl; external NEWTON_API;
766
function NewtonBodyGetUserData(body : NewtonBody) : Pointer; cdecl; external NEWTON_API;
767
function NewtonBodyGetWorld(body : NewtonBody) : NewtonWorld; cdecl; external NEWTON_API;
768
function NewtonBodyGetCollision(body : NewtonBody) : NewtonCollision; cdecl; external NEWTON_API;
769
function NewtonBodyGetMaterialGroupID(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
770
function NewtonBodyGetSerializedID(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
771
function NewtonBodyGetContinuousCollisionMode(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
772
function NewtonBodyGetJointRecursiveCollision(body : NewtonBody) : Integer; cdecl; external NEWTON_API;
773
procedure NewtonBodyGetPosition(body : NewtonBody; pos : PdFloat); cdecl; external NEWTON_API;
774
procedure NewtonBodyGetMatrix(body : NewtonBody; matrix : PdFloat); cdecl; external NEWTON_API;
775
procedure NewtonBodyGetRotation(body : NewtonBody; rotation : PdFloat); cdecl; external NEWTON_API;
776
procedure NewtonBodyGetMass(body : NewtonBody; mass : PdFloat; Ixx : PdFloat; Iyy : PdFloat; Izz : PdFloat); cdecl; external NEWTON_API;
777
procedure NewtonBodyGetInvMass(body : NewtonBody; invMass : PdFloat; invIxx : PdFloat; invIyy : PdFloat; invIzz : PdFloat); cdecl; external NEWTON_API;
778
procedure NewtonBodyGetInertiaMatrix(body : NewtonBody; inertiaMatrix : PdFloat); cdecl; external NEWTON_API;
779
procedure NewtonBodyGetInvInertiaMatrix(body : NewtonBody; invInertiaMatrix : PdFloat); cdecl; external NEWTON_API;
780
procedure NewtonBodyGetOmega(body : NewtonBody; vector : PdFloat); cdecl; external NEWTON_API;
781
procedure NewtonBodyGetVelocity(body : NewtonBody; vector : PdFloat); cdecl; external NEWTON_API;
782
procedure NewtonBodyGetForce(body : NewtonBody; vector : PdFloat); cdecl; external NEWTON_API;
783
procedure NewtonBodyGetTorque(body : NewtonBody; vector : PdFloat); cdecl; external NEWTON_API;
784
procedure NewtonBodyGetCentreOfMass(body : NewtonBody; com : PdFloat); cdecl; external NEWTON_API;
785
procedure NewtonBodyGetPointVelocity(body : NewtonBody; point : PdFloat; velocOut : PdFloat); cdecl; external NEWTON_API;
786
procedure NewtonBodyApplyImpulsePair(body : NewtonBody; linearImpulse : PdFloat; angularImpulse : PdFloat; timestep : dFloat); cdecl; external NEWTON_API;
787
procedure NewtonBodyAddImpulse(body : NewtonBody; pointDeltaVeloc : PdFloat; pointPosit : PdFloat; timestep : dFloat); cdecl; external NEWTON_API;
788
procedure NewtonBodyApplyImpulseArray(body : NewtonBody; impuleCount : Integer; strideInByte : Integer; impulseArray : PdFloat; pointArray : PdFloat; timestep : dFloat); cdecl; external NEWTON_API;
789
procedure NewtonBodyIntegrateVelocity(body : NewtonBody; timestep : dFloat); cdecl; external NEWTON_API;
790
function NewtonBodyGetLinearDamping(body : NewtonBody) : dFloat; cdecl; external NEWTON_API;
791
procedure NewtonBodyGetAngularDamping(body : NewtonBody; vector : PdFloat); cdecl; external NEWTON_API;
792
procedure NewtonBodyGetAABB(body : NewtonBody; p0 : PdFloat; p1 : PdFloat); cdecl; external NEWTON_API;
793
function NewtonBodyGetFirstJoint(body : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
794
function NewtonBodyGetNextJoint(body : NewtonBody; joint : NewtonJoint) : NewtonJoint; cdecl; external NEWTON_API;
795
function NewtonBodyGetFirstContactJoint(body : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
796
function NewtonBodyGetNextContactJoint(body : NewtonBody; contactJoint : NewtonJoint) : NewtonJoint; cdecl; external NEWTON_API;
797
function NewtonContactJointGetFirstContact(contactJoint : NewtonJoint) : Pointer; cdecl; external NEWTON_API;
798
function NewtonContactJointGetNextContact(contactJoint : NewtonJoint; contact : Pointer) : Pointer; cdecl; external NEWTON_API;
799
function NewtonContactJointGetContactCount(contactJoint : NewtonJoint) : Integer; cdecl; external NEWTON_API;
800
procedure NewtonContactJointRemoveContact(contactJoint : NewtonJoint; contact : Pointer); cdecl; external NEWTON_API;
801
function NewtonContactJointGetClosestDistance(contactJoint : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
802
function NewtonContactGetMaterial(contact : Pointer) : NewtonMaterial; cdecl; external NEWTON_API;
803
function NewtonContactGetCollision0(contact : Pointer) : NewtonCollision; cdecl; external NEWTON_API;
804
function NewtonContactGetCollision1(contact : Pointer) : NewtonCollision; cdecl; external NEWTON_API;
805
function NewtonContactGetCollisionID0(contact : Pointer) : Pointer; cdecl; external NEWTON_API;
806
function NewtonContactGetCollisionID1(contact : Pointer) : Pointer; cdecl; external NEWTON_API;
807
function NewtonJointGetUserData(joint : NewtonJoint) : Pointer; cdecl; external NEWTON_API;
808
procedure NewtonJointSetUserData(joint : NewtonJoint; userData : Pointer); cdecl; external NEWTON_API;
809
function NewtonJointGetBody0(joint : NewtonJoint) : NewtonBody; cdecl; external NEWTON_API;
810
function NewtonJointGetBody1(joint : NewtonJoint) : NewtonBody; cdecl; external NEWTON_API;
811
procedure NewtonJointGetInfo(joint : NewtonJoint; info : NewtonJointRecord); cdecl; external NEWTON_API;
812
function NewtonJointGetCollisionState(joint : NewtonJoint) : Integer; cdecl; external NEWTON_API;
813
procedure NewtonJointSetCollisionState(joint : NewtonJoint; state : Integer); cdecl; external NEWTON_API;
814
function NewtonJointGetStiffness(joint : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
815
procedure NewtonJointSetStiffness(joint : NewtonJoint; state : dFloat); cdecl; external NEWTON_API;
816
procedure NewtonDestroyJoint(newtonWorld : NewtonWorld; joint : NewtonJoint); cdecl; external NEWTON_API;
817
procedure NewtonJointSetDestructor(joint : NewtonJoint; _destructor : NewtonConstraintDestructor); cdecl; external NEWTON_API;
818
function NewtonJointIsActive(joint : NewtonJoint) : Integer; cdecl; external NEWTON_API;
819
function NewtonCreateMassSpringDamperSystem(newtonWorld : NewtonWorld; shapeID : Integer; points : PdFloat; pointCount : Integer; strideInBytes : Integer; pointMass : PdFloat; links : PInteger; linksCount : Integer; linksSpring : PdFloat; linksDamper : PdFloat) : NewtonCollision; cdecl; external NEWTON_API;
820
function NewtonCreateDeformableSolid(newtonWorld : NewtonWorld; mesh : NewtonMesh; shapeID : Integer) : NewtonCollision; cdecl; external NEWTON_API;
821
function NewtonDeformableMeshGetParticleCount(deformableMesh : NewtonCollision) : Integer; cdecl; external NEWTON_API;
822
function NewtonDeformableMeshGetParticleStrideInBytes(deformableMesh : NewtonCollision) : Integer; cdecl; external NEWTON_API;
823
function NewtonDeformableMeshGetParticleArray(deformableMesh : NewtonCollision) : PdFloat; cdecl; external NEWTON_API;
824
function NewtonConstraintCreateBall(newtonWorld : NewtonWorld; pivotPoint : PdFloat; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
825
procedure NewtonBallSetUserCallback(ball : NewtonJoint; callback : NewtonBallCallback); cdecl; external NEWTON_API;
826
procedure NewtonBallGetJointAngle(ball : NewtonJoint; angle : PdFloat); cdecl; external NEWTON_API;
827
procedure NewtonBallGetJointOmega(ball : NewtonJoint; omega : PdFloat); cdecl; external NEWTON_API;
828
procedure NewtonBallGetJointForce(ball : NewtonJoint; force : PdFloat); cdecl; external NEWTON_API;
829
procedure NewtonBallSetConeLimits(ball : NewtonJoint; pin : PdFloat; maxConeAngle : dFloat; maxTwistAngle : dFloat); cdecl; external NEWTON_API;
830
function NewtonConstraintCreateHinge(newtonWorld : NewtonWorld; pivotPoint : PdFloat; pinDir : PdFloat; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
831
procedure NewtonHingeSetUserCallback(hinge : NewtonJoint; callback : NewtonHingeCallback); cdecl; external NEWTON_API;
832
function NewtonHingeGetJointAngle(hinge : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
833
function NewtonHingeGetJointOmega(hinge : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
834
procedure NewtonHingeGetJointForce(hinge : NewtonJoint; force : PdFloat); cdecl; external NEWTON_API;
835
function NewtonHingeCalculateStopAlpha(hinge : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; angle : dFloat) : dFloat; cdecl; external NEWTON_API;
836
function NewtonConstraintCreateSlider(newtonWorld : NewtonWorld; pivotPoint : PdFloat; pinDir : PdFloat; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
837
procedure NewtonSliderSetUserCallback(slider : NewtonJoint; callback : NewtonSliderCallback); cdecl; external NEWTON_API;
838
function NewtonSliderGetJointPosit(slider : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
839
function NewtonSliderGetJointVeloc(slider : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
840
procedure NewtonSliderGetJointForce(slider : NewtonJoint; force : PdFloat); cdecl; external NEWTON_API;
841
function NewtonSliderCalculateStopAccel(slider : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; position : dFloat) : dFloat; cdecl; external NEWTON_API;
842
function NewtonConstraintCreateCorkscrew(newtonWorld : NewtonWorld; pivotPoint : PdFloat; pinDir : PdFloat; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
843
procedure NewtonCorkscrewSetUserCallback(corkscrew : NewtonJoint; callback : NewtonCorkscrewCallback); cdecl; external NEWTON_API;
844
function NewtonCorkscrewGetJointPosit(corkscrew : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
845
function NewtonCorkscrewGetJointAngle(corkscrew : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
846
function NewtonCorkscrewGetJointVeloc(corkscrew : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
847
function NewtonCorkscrewGetJointOmega(corkscrew : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
848
procedure NewtonCorkscrewGetJointForce(corkscrew : NewtonJoint; force : PdFloat); cdecl; external NEWTON_API;
849
function NewtonCorkscrewCalculateStopAlpha(corkscrew : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; angle : dFloat) : dFloat; cdecl; external NEWTON_API;
850
function NewtonCorkscrewCalculateStopAccel(corkscrew : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; position : dFloat) : dFloat; cdecl; external NEWTON_API;
851
function NewtonConstraintCreateUniversal(newtonWorld : NewtonWorld; pivotPoint : PdFloat; pinDir0 : PdFloat; pinDir1 : PdFloat; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
852
procedure NewtonUniversalSetUserCallback(universal : NewtonJoint; callback : NewtonUniversalCallback); cdecl; external NEWTON_API;
853
function NewtonUniversalGetJointAngle0(universal : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
854
function NewtonUniversalGetJointAngle1(universal : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
855
function NewtonUniversalGetJointOmega0(universal : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
856
function NewtonUniversalGetJointOmega1(universal : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
857
procedure NewtonUniversalGetJointForce(universal : NewtonJoint; force : PdFloat); cdecl; external NEWTON_API;
858
function NewtonUniversalCalculateStopAlpha0(universal : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; angle : dFloat) : dFloat; cdecl; external NEWTON_API;
859
function NewtonUniversalCalculateStopAlpha1(universal : NewtonJoint; desc : NewtonHingeSliderUpdateDesc; angle : dFloat) : dFloat; cdecl; external NEWTON_API;
860
function NewtonConstraintCreateUpVector(newtonWorld : NewtonWorld; pinDir : PdFloat; body : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
861
procedure NewtonUpVectorGetPin(upVector : NewtonJoint; pin : PdFloat); cdecl; external NEWTON_API;
862
procedure NewtonUpVectorSetPin(upVector : NewtonJoint; pin : PdFloat); cdecl; external NEWTON_API;
863
function NewtonConstraintCreateUserJoint(newtonWorld : NewtonWorld; maxDOF : Integer; callback : NewtonUserBilateralCallback; getInfo : NewtonUserBilateralGetInfoCallback; childBody : NewtonBody; parentBody : NewtonBody) : NewtonJoint; cdecl; external NEWTON_API;
864
function NewtonUserJointGetSolverModel(joint : NewtonJoint) : Integer; cdecl; external NEWTON_API;
865
procedure NewtonUserJointSetSolverModel(joint : NewtonJoint; model : Integer); cdecl; external NEWTON_API;
866
procedure NewtonUserJointSetFeedbackCollectorCallback(joint : NewtonJoint; getFeedback : NewtonUserBilateralCallback); cdecl; external NEWTON_API;
867
procedure NewtonUserJointAddLinearRow(joint : NewtonJoint; pivot0 : PdFloat; pivot1 : PdFloat; dir : PdFloat); cdecl; external NEWTON_API;
868
procedure NewtonUserJointAddAngularRow(joint : NewtonJoint; relativeAngle : dFloat; dir : PdFloat); cdecl; external NEWTON_API;
869
procedure NewtonUserJointAddGeneralRow(joint : NewtonJoint; jacobian0 : PdFloat; jacobian1 : PdFloat); cdecl; external NEWTON_API;
870
procedure NewtonUserJointSetRowMinimumFriction(joint : NewtonJoint; friction : dFloat); cdecl; external NEWTON_API;
871
procedure NewtonUserJointSetRowMaximumFriction(joint : NewtonJoint; friction : dFloat); cdecl; external NEWTON_API;
872
function NewtonUserCalculateRowZeroAccelaration(joint : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
873
function NewtonUserJointGetRowAcceleration(joint : NewtonJoint) : dFloat; cdecl; external NEWTON_API;
874
procedure NewtonUserJointSetRowAcceleration(joint : NewtonJoint; acceleration : dFloat); cdecl; external NEWTON_API;
875
procedure NewtonUserJointSetRowSpringDamperAcceleration(joint : NewtonJoint; rowStiffness : dFloat; spring : dFloat; damper : dFloat); cdecl; external NEWTON_API;
876
procedure NewtonUserJointSetRowStiffness(joint : NewtonJoint; stiffness : dFloat); cdecl; external NEWTON_API;
877
function NewtonUserJoinRowsCount(joint : NewtonJoint) : Integer; cdecl; external NEWTON_API;
878
procedure NewtonUserJointGetGeneralRow(joint : NewtonJoint; index : Integer; jacobian0 : PdFloat; jacobian1 : PdFloat); cdecl; external NEWTON_API;
879
function NewtonUserJointGetRowForce(joint : NewtonJoint; row : Integer) : dFloat; cdecl; external NEWTON_API;
880
function NewtonMeshCreate(newtonWorld : NewtonWorld) : NewtonMesh; cdecl; external NEWTON_API;
881
function NewtonMeshCreateFromMesh(mesh : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
882
function NewtonMeshCreateFromCollision(collision : NewtonCollision) : NewtonMesh; cdecl; external NEWTON_API;
883
function NewtonMeshCreateTetrahedraIsoSurface(mesh : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
884
function NewtonMeshCreateConvexHull(newtonWorld : NewtonWorld; pointCount : Integer; vertexCloud : PdFloat; strideInBytes : Integer; tolerance : dFloat) : NewtonMesh; cdecl; external NEWTON_API;
885
function NewtonMeshCreateVoronoiConvexDecomposition(newtonWorld : NewtonWorld; pointCount : Integer; vertexCloud : PdFloat; strideInBytes : Integer; materialID : Integer; textureMatrix : PdFloat) : NewtonMesh; cdecl; external NEWTON_API;
886
function NewtonMeshCreateFromSerialization(newtonWorld : NewtonWorld; deserializeFunction : NewtonDeserializeCallback; serializeHandle : Pointer) : NewtonMesh; cdecl; external NEWTON_API;
887
procedure NewtonMeshDestroy(mesh : NewtonMesh); cdecl; external NEWTON_API;
888
procedure NewtonMeshSerialize(mesh : NewtonMesh; serializeFunction : NewtonSerializeCallback; serializeHandle : Pointer); cdecl; external NEWTON_API;
889
procedure NewtonMeshSaveOFF(mesh : NewtonMesh; filename : Pchar); cdecl; external NEWTON_API;
890
function NewtonMeshLoadOFF(newtonWorld : NewtonWorld; filename : Pchar) : NewtonMesh; cdecl; external NEWTON_API;
891
function NewtonMeshLoadTetrahedraMesh(newtonWorld : NewtonWorld; filename : Pchar) : NewtonMesh; cdecl; external NEWTON_API;
892
procedure NewtonMeshApplyTransform(mesh : NewtonMesh; matrix : PdFloat); cdecl; external NEWTON_API;
893
procedure NewtonMeshCalculateOOBB(mesh : NewtonMesh; matrix : PdFloat; x : PdFloat; y : PdFloat; z : PdFloat); cdecl; external NEWTON_API;
894
procedure NewtonMeshCalculateVertexNormals(mesh : NewtonMesh; angleInRadians : dFloat); cdecl; external NEWTON_API;
895
procedure NewtonMeshApplySphericalMapping(mesh : NewtonMesh; material : Integer); cdecl; external NEWTON_API;
896
procedure NewtonMeshApplyCylindricalMapping(mesh : NewtonMesh; cylinderMaterial : Integer; capMaterial : Integer); cdecl; external NEWTON_API;
897
procedure NewtonMeshApplyBoxMapping(mesh : NewtonMesh; frontMaterial : Integer; sideMaterial : Integer; topMaterial : Integer); cdecl; external NEWTON_API;
898
procedure NewtonMeshApplyAngleBasedMapping(mesh : NewtonMesh; material : Integer; reportPrograssCallback : NewtonReportProgress; reportPrgressUserData : Pointer); cdecl; external NEWTON_API;
899
procedure NewtonCreateTetrahedraLinearBlendSkinWeightsChannel(tetrahedraMesh : NewtonMesh; skinMesh : NewtonMesh); cdecl; external NEWTON_API;
900
procedure NewtonMeshOptimize(mesh : NewtonMesh); cdecl; external NEWTON_API;
901
procedure NewtonMeshOptimizePoints(mesh : NewtonMesh); cdecl; external NEWTON_API;
902
procedure NewtonMeshOptimizeVertex(mesh : NewtonMesh); cdecl; external NEWTON_API;
903
function NewtonMeshIsOpenMesh(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
904
procedure NewtonMeshFixTJoints(mesh : NewtonMesh); cdecl; external NEWTON_API;
905
procedure NewtonMeshPolygonize(mesh : NewtonMesh); cdecl; external NEWTON_API;
906
procedure NewtonMeshTriangulate(mesh : NewtonMesh); cdecl; external NEWTON_API;
907
function NewtonMeshUnion(mesh : NewtonMesh; clipper : NewtonMesh; clipperMatrix : PdFloat) : NewtonMesh; cdecl; external NEWTON_API;
908
function NewtonMeshDifference(mesh : NewtonMesh; clipper : NewtonMesh; clipperMatrix : PdFloat) : NewtonMesh; cdecl; external NEWTON_API;
909
function NewtonMeshIntersection(mesh : NewtonMesh; clipper : NewtonMesh; clipperMatrix : PdFloat) : NewtonMesh; cdecl; external NEWTON_API;
910
procedure NewtonMeshClip(mesh : NewtonMesh; clipper : NewtonMesh; clipperMatrix : PdFloat; topMesh : NewtonMesh; bottomMesh : NewtonMesh); cdecl; external NEWTON_API;
911
function NewtonMeshConvexMeshIntersection(mesh : NewtonMesh; convexMesh : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
912
function NewtonMeshSimplify(mesh : NewtonMesh; maxVertexCount : Integer; reportPrograssCallback : NewtonReportProgress; reportPrgressUserData : Pointer) : NewtonMesh; cdecl; external NEWTON_API;
913
function NewtonMeshApproximateConvexDecomposition(mesh : NewtonMesh; maxConcavity : dFloat; backFaceDistanceFactor : dFloat; maxCount : Integer; maxVertexPerHull : Integer; reportProgressCallback : NewtonReportProgress; reportProgressUserData : Pointer) : NewtonMesh; cdecl; external NEWTON_API;
914
procedure NewtonRemoveUnusedVertices(mesh : NewtonMesh; vertexRemapTable : PInteger); cdecl; external NEWTON_API;
915
procedure NewtonMeshBeginBuild(mesh : NewtonMesh); cdecl; external NEWTON_API;
916
procedure NewtonMeshBeginFace(mesh : NewtonMesh); cdecl; external NEWTON_API;
917
procedure NewtonMeshAddPoint(mesh : NewtonMesh; x : dFloat64; y : dFloat64; z : dFloat64); cdecl; external NEWTON_API;
918
procedure NewtonMeshAddLayer(mesh : NewtonMesh; layerIndex : Integer); cdecl; external NEWTON_API;
919
procedure NewtonMeshAddMaterial(mesh : NewtonMesh; materialIndex : Integer); cdecl; external NEWTON_API;
920
procedure NewtonMeshAddNormal(mesh : NewtonMesh; x : dFloat; y : dFloat; z : dFloat); cdecl; external NEWTON_API;
921
procedure NewtonMeshAddBinormal(mesh : NewtonMesh; x : dFloat; y : dFloat; z : dFloat); cdecl; external NEWTON_API;
922
procedure NewtonMeshAddUV0(mesh : NewtonMesh; u : dFloat; v : dFloat); cdecl; external NEWTON_API;
923
procedure NewtonMeshAddUV1(mesh : NewtonMesh; u : dFloat; v : dFloat); cdecl; external NEWTON_API;
924
procedure NewtonMeshEndFace(mesh : NewtonMesh); cdecl; external NEWTON_API;
925
procedure NewtonMeshEndBuild(mesh : NewtonMesh); cdecl; external NEWTON_API;
926
procedure NewtonMeshClearVertexFormat(format : NewtonMeshVertexFormat); cdecl; external NEWTON_API;
927
procedure NewtonMeshBuildFromVertexListIndexList(mesh : NewtonMesh; format : NewtonMeshVertexFormat); cdecl; external NEWTON_API;
928
function NewtonMeshGetPointCount(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
929
function NewtonMeshGetIndexToVertexMap(mesh : NewtonMesh) : PInteger; cdecl; external NEWTON_API;
930
function NewtonMeshGetVertexWeights(mesh : NewtonMesh; vertexIndex : Integer; weightIndex : PInteger; weightFactor : PdFloat) : Integer; cdecl; external NEWTON_API;
931
procedure NewtonMeshGetVertexDoubleChannel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat64); cdecl; external NEWTON_API;
932
procedure NewtonMeshGetVertexChannel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
933
procedure NewtonMeshGetNormalChannel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
934
procedure NewtonMeshGetBinormalChannel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
935
procedure NewtonMeshGetUV0Channel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
936
procedure NewtonMeshGetUV1Channel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
937
procedure NewtonMeshGetVertexColorChannel(mesh : NewtonMesh; vertexStrideInByte : Integer; outBuffer : PdFloat); cdecl; external NEWTON_API;
938
function NewtonMeshHasNormalChannel(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
939
function NewtonMeshHasBinormalChannel(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
940
function NewtonMeshHasUV0Channel(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
941
function NewtonMeshHasUV1Channel(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
942
function NewtonMeshHasVertexColorChannel(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
943
function NewtonMeshBeginHandle(mesh : NewtonMesh) : Pointer; cdecl; external NEWTON_API;
944
procedure NewtonMeshEndHandle(mesh : NewtonMesh; handle : Pointer); cdecl; external NEWTON_API;
945
function NewtonMeshFirstMaterial(mesh : NewtonMesh; handle : Pointer) : Integer; cdecl; external NEWTON_API;
946
function NewtonMeshNextMaterial(mesh : NewtonMesh; handle : Pointer; materialId : Integer) : Integer; cdecl; external NEWTON_API;
947
function NewtonMeshMaterialGetMaterial(mesh : NewtonMesh; handle : Pointer; materialId : Integer) : Integer; cdecl; external NEWTON_API;
948
function NewtonMeshMaterialGetIndexCount(mesh : NewtonMesh; handle : Pointer; materialId : Integer) : Integer; cdecl; external NEWTON_API;
949
procedure NewtonMeshMaterialGetIndexStream(mesh : NewtonMesh; handle : Pointer; materialId : Integer; index : PInteger); cdecl; external NEWTON_API;
950
procedure NewtonMeshMaterialGetIndexStreamShort(mesh : NewtonMesh; handle : Pointer; materialId : Integer; index : PSmallint); cdecl; external NEWTON_API;
951
function NewtonMeshCreateFirstSingleSegment(mesh : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
952
function NewtonMeshCreateNextSingleSegment(mesh : NewtonMesh; segment : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
953
function NewtonMeshCreateFirstLayer(mesh : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
954
function NewtonMeshCreateNextLayer(mesh : NewtonMesh; segment : NewtonMesh) : NewtonMesh; cdecl; external NEWTON_API;
955
function NewtonMeshGetTotalFaceCount(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
956
function NewtonMeshGetTotalIndexCount(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
957
procedure NewtonMeshGetFaces(mesh : NewtonMesh; faceIndexCount : PInteger; faceMaterial : PInteger; faceIndices : Pointer); cdecl; external NEWTON_API;
958
function NewtonMeshGetVertexCount(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
959
function NewtonMeshGetVertexStrideInByte(mesh : NewtonMesh) : Integer; cdecl; external NEWTON_API;
960
function NewtonMeshGetVertexArray(mesh : NewtonMesh) : PdFloat64; cdecl; external NEWTON_API;
961
function NewtonMeshGetFirstVertex(mesh : NewtonMesh) : Pointer; cdecl; external NEWTON_API;
962
function NewtonMeshGetNextVertex(mesh : NewtonMesh; vertex : Pointer) : Pointer; cdecl; external NEWTON_API;
963
function NewtonMeshGetVertexIndex(mesh : NewtonMesh; vertex : Pointer) : Integer; cdecl; external NEWTON_API;
964
function NewtonMeshGetFirstPoint(mesh : NewtonMesh) : Pointer; cdecl; external NEWTON_API;
965
function NewtonMeshGetNextPoint(mesh : NewtonMesh; point : Pointer) : Pointer; cdecl; external NEWTON_API;
966
function NewtonMeshGetPointIndex(mesh : NewtonMesh; point : Pointer) : Integer; cdecl; external NEWTON_API;
967
function NewtonMeshGetVertexIndexFromPoint(mesh : NewtonMesh; point : Pointer) : Integer; cdecl; external NEWTON_API;
968
function NewtonMeshGetFirstEdge(mesh : NewtonMesh) : Pointer; cdecl; external NEWTON_API;
969
function NewtonMeshGetNextEdge(mesh : NewtonMesh; edge : Pointer) : Pointer; cdecl; external NEWTON_API;
970
procedure NewtonMeshGetEdgeIndices(mesh : NewtonMesh; edge : Pointer; v0 : PInteger; v1 : PInteger); cdecl; external NEWTON_API;
971
function NewtonMeshGetFirstFace(mesh : NewtonMesh) : Pointer; cdecl; external NEWTON_API;
972
function NewtonMeshGetNextFace(mesh : NewtonMesh; face : Pointer) : Pointer; cdecl; external NEWTON_API;
973
function NewtonMeshIsFaceOpen(mesh : NewtonMesh; face : Pointer) : Integer; cdecl; external NEWTON_API;
974
function NewtonMeshGetFaceMaterial(mesh : NewtonMesh; face : Pointer) : Integer; cdecl; external NEWTON_API;
975
function NewtonMeshGetFaceIndexCount(mesh : NewtonMesh; face : Pointer) : Integer; cdecl; external NEWTON_API;
976
procedure NewtonMeshGetFaceIndices(mesh : NewtonMesh; face : Pointer; indices : PInteger); cdecl; external NEWTON_API;
977
procedure NewtonMeshGetFacePointIndices(mesh : NewtonMesh; face : Pointer; indices : PInteger); cdecl; external NEWTON_API;
978
procedure NewtonMeshCalculateFaceNormal(mesh : NewtonMesh; face : Pointer; normal : PdFloat64); cdecl; external NEWTON_API;
979
procedure NewtonMeshSetFaceMaterial(mesh : NewtonMesh; face : Pointer; matId : Integer); cdecl; external NEWTON_API;