My Project: dynamics.mod/NewtonDynamics/source/newton/Newton.h Source File

My Project

Newton.h
Go to the documentation of this file.
1 /* Copyright (c) <2003-2011> <Julio Jerez, Newton Game Dynamics>
2 *
3 * This software is provided 'as-is', without any express or implied
4 * warranty. In no event will the authors be held liable for any damages
5 * arising from the use of this software.
6 *
7 * Permission is granted to anyone to use this software for any purpose,
8 * including commercial applications, and to alter it and redistribute it
9 * freely, subject to the following restrictions:
10 *
11 * 1. The origin of this software must not be misrepresented; you must not
12 * claim that you wrote the original software. If you use this software
13 * in a product, an acknowledgment in the product documentation would be
14 * appreciated but is not required.
15 *
16 * 2. Altered source versions must be plainly marked as such, and must not be
17 * misrepresented as being the original software.
18 *
19 * 3. This notice may not be removed or altered from any source distribution.
20 */
21
22 #ifndef __NEWTON_H__
23 #define __NEWTON_H__
24
25
26 #define NEWTON_MAJOR_VERSION 3
27 #define NEWTON_MINOR_VERSION 13
28
29
30 #ifdef _NEWTON_STATIC_LIB
31 #define NEWTON_API
32 #else
33 #ifdef _NEWTON_BUILD_DLL
34 #ifdef _WIN32
35 #define NEWTON_API __declspec (dllexport)
36 #else
37 #define NEWTON_API __attribute__ ((visibility("default")))
38 #endif
39 #else
40 #ifdef _WIN32
41 #define NEWTON_API __declspec (dllimport)
42 #else
43 #define NEWTON_API
44 #endif
45 #endif
46 #endif
47
48
49 #ifdef __GNUC__
50 # define NEWTON_DEPRECATED_API __attribute__((deprecated))
51 #elif defined(_MSC_VER)
52 # define NEWTON_DEPRECATED_API __declspec(deprecated)
53 #else
54 # warning NEWTON_DEPRECATED_API not implemented for this compiler
55 # define NEWTON_DEPRECATED_API
56 #endif
57
58
59 #ifndef dLong
60 #define dLong long long
61 #endif
62
63 #ifndef dFloat
64 #ifdef _NEWTON_USE_DOUBLE
65 #define dFloat double
66 #else
67 #define dFloat float
68 #endif
69 #endif
70
71 #ifndef dFloat64
72 #define dFloat64 double
73 #endif
74
75
76 #ifdef __cplusplus
77 extern "C" {
78 #endif
79
80 #define NEWTON_PROFILER_WORLD_UPDATE 0
81
82 #define NEWTON_PROFILER_COLLISION_UPDATE 1
83 #define NEWTON_PROFILER_COLLISION_UPDATE_BROAD_PHASE 2
84 #define NEWTON_PROFILER_COLLISION_UPDATE_NARROW_PHASE 3
85
86 #define NEWTON_PROFILER_DYNAMICS_UPDATE 4
87 #define NEWTON_PROFILER_DYNAMICS_CONSTRAINT_GRAPH 5
88 #define NEWTON_PROFILER_DYNAMICS_SOLVE_CONSTRAINT_GRAPH 6
89
90 #define NEWTON_PROFILER_FORCE_CALLBACK_UPDATE 7
91 #define NEWTON_PROFILER_SOFT_BODY_CALLBACK_UPDATE 8
92
93 #define NEWTON_PRE_LISTERNER_CALLBACK_UPDATE 9
94 #define NEWTON_POST_LISTERNER_CALLBACK_UPDATE 10
95
96
97
98 #define NEWTON_DYNAMIC_BODY 0
99 #define NEWTON_KINEMATIC_BODY 1
100 #define NEWTON_DEFORMABLE_BODY 2
101
102 #define SERIALIZE_ID_SPHERE 0
103 #define SERIALIZE_ID_CAPSULE 1
104 #define SERIALIZE_ID_CHAMFERCYLINDER 2
105 #define SERIALIZE_ID_TAPEREDCAPSULE 3
106 #define SERIALIZE_ID_CYLINDER 4
107 #define SERIALIZE_ID_TAPEREDCYLINDER 5
108 #define SERIALIZE_ID_BOX 6
109 #define SERIALIZE_ID_CONE 7
110 #define SERIALIZE_ID_CONVEXHULL 8
111 #define SERIALIZE_ID_NULL 9
112 #define SERIALIZE_ID_COMPOUND 10
113 #define SERIALIZE_ID_TREE 11
114 #define SERIALIZE_ID_HEIGHTFIELD 12
115 #define SERIALIZE_ID_CLOTH_PATCH 13
116 #define SERIALIZE_ID_DEFORMABLE_SOLID 14
117 #define SERIALIZE_ID_USERMESH 15
118 #define SERIALIZE_ID_SCENE 16
119 #define SERIALIZE_ID_FRACTURED_COMPOUND 17
120
121 #ifdef __cplusplus
122 class NewtonMesh;
123 class NewtonBody;
124 class NewtonWorld;
125 class NewtonJoint;
126 class NewtonMaterial;
127 class NewtonCollision;
128 class NewtonDeformableMeshSegment;
129 class NewtonFracturedCompoundMeshPart;
130 #else
131 typedef struct NewtonMesh{} NewtonMesh;
132 typedef struct NewtonBody{} NewtonBody;
133 typedef struct NewtonWorld{} NewtonWorld;
134 typedef struct NewtonJoint{} NewtonJoint;
135 typedef struct NewtonMaterial{} NewtonMaterial;
136 typedef struct NewtonCollision{} NewtonCollision;
137 typedef struct NewtonDeformableMeshSegment{} NewtonDeformableMeshSegment;
138 typedef struct NewtonFracturedCompoundMeshPart{} NewtonFracturedCompoundMeshPart;
139 #endif
140
141
142 typedef struct NewtonBoxParam
143 {
144 dFloat m_x;
145 dFloat m_y;
146 dFloat m_z;
147 } NewtonBoxParam;
148
149 typedef struct NewtonSphereParam
150 {
151 dFloat m_radio;
152 } NewtonSphereParam;
153
154 typedef struct NewtonCylinderParam
155 {
156 dFloat m_radio;
157 dFloat m_height;
158 } NewtonCylinderParam;
159
160 typedef struct NewtonCapsuleParam
161 {
162 dFloat m_radio;
163 dFloat m_height;
164 } NewtonCapsuleParam;
165
166 typedef struct NewtonConeParam
167 {
168 dFloat m_radio;
169 dFloat m_height;
170 } NewtonConeParam;
171
172 typedef struct NewtonTaperedCapsuleParam
173 {
174 dFloat m_radio0;
175 dFloat m_radio1;
176 dFloat m_height;
177 } NewtonTaperedCapsuleParam;
178
179
180 typedef struct NewtonTaperedCylinderParam
181 {
182 dFloat m_radio0;
183 dFloat m_radio1;
184 dFloat m_height;
185 } NewtonTaperedCylinderParam;
186
187 typedef struct NewtonChamferCylinderParam
188 {
189 dFloat m_radio;
190 dFloat m_height;
191 } NewtonChamferCylinderParam;
192
193 typedef struct NewtonConvexHullParam
194 {
195 int m_vertexCount;
196 int m_vertexStrideInBytes;
197 int m_faceCount;
198 dFloat* m_vertex;
199 } NewtonConvexHullParam;
200
201 typedef struct NewtonCompoundCollisionParam
202 {
203 int m_chidrenCount;
204 } NewtonCompoundCollisionParam;
205
206 typedef struct NewtonCollisionTreeParam
207 {
208 int m_vertexCount;
209 int m_indexCount;
210 } NewtonCollisionTreeParam;
211
212 typedef struct NewtonDeformableMeshParam
213 {
214 int m_vertexCount;
215 int m_triangleCount;
216 int m_vrtexStrideInBytes;
217 unsigned short *m_indexList;
218 dFloat *m_vertexList;
219 } NewtonDeformableMeshParam;
220
221 typedef struct NewtonHeightFieldCollisionParam
222 {
223 int m_width;
224 int m_height;
225 int m_gridsDiagonals;
226 int m_elevationDataType; // 0 = 32 bit floats, 1 = unsigned 16 bit integers
227 dFloat m_horizonalScale;
228 dFloat m_verticalScale;
229 void* m_elevation;
230 char* m_atributes;
231 } NewtonHeightFieldCollisionParam;
232
233 typedef struct NewtonSceneCollisionParam
234 {
235 int m_childrenProxyCount;
236 } NewtonSceneCollisionParam;
237
238 typedef struct NewtonCollisionInfoRecord
239 {
240 dFloat m_offsetMatrix[4][4];
241 int m_collisionType; // tag id to identify the collision primitive
242 int m_collisionUserID;
243
244 union {
245 NewtonBoxParam m_box;
246 NewtonConeParam m_cone;
247 NewtonSphereParam m_sphere;
248 NewtonCapsuleParam m_capsule;
249 NewtonCylinderParam m_cylinder;
250 NewtonTaperedCapsuleParam m_taperedCapsule;
251 NewtonTaperedCylinderParam m_taperedCylinder;
252 NewtonChamferCylinderParam m_chamferCylinder;
253 NewtonConvexHullParam m_convexHull;
254 NewtonDeformableMeshParam m_deformableMesh;
255 NewtonCompoundCollisionParam m_compoundCollision;
256 NewtonCollisionTreeParam m_collisionTree;
257 NewtonHeightFieldCollisionParam m_heightField;
258 NewtonSceneCollisionParam m_sceneCollision;
259 dFloat m_paramArray[64]; // user define collision can use this to store information
260 };
261 } NewtonCollisionInfoRecord;
262
263 typedef struct NewtonJointRecord
264 {
265 dFloat m_attachmenMatrix_0[4][4];
266 dFloat m_attachmenMatrix_1[4][4];
267 dFloat m_minLinearDof[3];
268 dFloat m_maxLinearDof[3];
269 dFloat m_minAngularDof[3];
270 dFloat m_maxAngularDof[3];
271 const NewtonBody* m_attachBody_0;
272 const NewtonBody* m_attachBody_1;
273 dFloat m_extraParameters[64];
274 int m_bodiesCollisionOn;
275 char m_descriptionType[128];
276 } NewtonJointRecord;
277
278 typedef struct NewtonUserMeshCollisionCollideDesc
279 {
280 dFloat m_boxP0[4]; // lower bounding box of intersection query in local space
281 dFloat m_boxP1[4]; // upper bounding box of intersection query in local space
282 dFloat m_boxDistanceTravel[4]; // max distance that box bpxP0 and boxP1 can travel on this timestep, used this for continue collision mode.
283 int m_threadNumber; // current thread executing this query
284 int m_faceCount; // the application should set here how many polygons intersect the query box
285 int m_vertexStrideInBytes; // the application should set here the size of each vertex
286 dFloat m_skinThickness; // this is the minimum skin separation specified by the material between these two colliding shapes
287 void* m_userData; // user data passed to the collision geometry at creation time
288
289 NewtonBody* m_objBody; // pointer to the colliding body
290 NewtonBody* m_polySoupBody; // pointer to the rigid body owner of this collision tree
291 NewtonCollision* m_objCollision; // collision shape of the colliding body, (no necessarily the collision of m_objBody)
292 NewtonCollision* m_polySoupCollision; // collision shape of the collision tree, (no necessarily the collision of m_polySoupBody)
293
294 dFloat* m_vertex; // the application should set here the pointer to the global vertex of the mesh.
295 int* m_faceIndexCount; // the application should set here the pointer to the vertex count of each face.
296 int* m_faceVertexIndex; // the application should set here the pointer index array for each vertex on a face.
297 // the format of a face is I0, I1, I2, I3, ..., M, N, E0, E1, E2, ..., A
298 // I0, I1, I2, .. are the indices to the vertex, relative to m_vertex pointer
299 // M is the index to the material sub shape id
300 // N in the index to the vertex normal relative to m_vertex pointer
301 // 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
302 // 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.
303 } NewtonUserMeshCollisionCollideDesc;
304
305 typedef struct NewtonWorldConvexCastReturnInfo
306 {
307 dFloat m_point[4]; // collision point in global space
308 dFloat m_normal[4]; // surface normal at collision point in global space
309 //dFloat m_normalOnHitPoint[4]; // surface normal at the surface of the hit body,
310 // is the same as the normal calculated by a ray cast hitting the body at the hit point
311 dLong m_contactID; // collision ID at contact point
312 const NewtonBody* m_hitBody; // body hit at contact point
313 dFloat m_penetration; // contact penetration at collision point
314 } NewtonWorldConvexCastReturnInfo;
315
316 typedef struct NewtonUserMeshCollisionRayHitDesc
317 {
318 dFloat m_p0[4]; // ray origin in collision local space
319 dFloat m_p1[4]; // ray destination in collision local space
320 dFloat m_normalOut[4]; // copy here the normal at the ray intersection
321 dLong m_userIdOut; // copy here a user defined id for further feedback
322 void* m_userData; // user data passed to the collision geometry at creation time
323 } NewtonUserMeshCollisionRayHitDesc;
324
325 typedef struct NewtonHingeSliderUpdateDesc
326 {
327 dFloat m_accel;
328 dFloat m_minFriction;
329 dFloat m_maxFriction;
330 dFloat m_timestep;
331 } NewtonHingeSliderUpdateDesc;
332
333 typedef struct NewtonClothPatchMaterial
334 {
335 dFloat m_damper;
336 dFloat m_stiffness;
337 } NewtonClothPatchMaterial;
338
339
340 // Newton callback functions
341 typedef void* (*NewtonAllocMemory) (int sizeInBytes);
342 typedef void (*NewtonFreeMemory) (void* const ptr, int sizeInBytes);
343
344
345 typedef void (*NewtonWorldDestructorCallback) (const NewtonWorld* const world);
346
347 typedef void (*NewtonWorldListenerBodyDestroyCallback) (const NewtonWorld* const world, void* const listenerUserData, NewtonBody* const body);
348 typedef void (*NewtonWorldUpdateListenerCallback) (const NewtonWorld* const world, void* const listenerUserData, dFloat timestep);
349 typedef void (*NewtonWorldDestroyListenerCallback) (const NewtonWorld* const world, void* const listenerUserData);
350
351 typedef unsigned (*NewtonGetTicksCountCallback) ();
352
353 typedef void (*NewtonSerializeCallback) (void* const serializeHandle, const void* const buffer, int size);
354 typedef void (*NewtonDeserializeCallback) (void* const serializeHandle, void* const buffer, int size);
355
356 typedef void (*NewtonOnBodySerializationCallback) (NewtonBody* const body, NewtonSerializeCallback function, void* const serializeHandle);
357 typedef void (*NewtonOnBodyDeserializationCallback) (NewtonBody* const body, NewtonDeserializeCallback function, void* const serializeHandle);
358
359 typedef void (*NewtonOnUserCollisionSerializationCallback) (void* const userData, NewtonSerializeCallback function, void* const serializeHandle);
360
361
362 // user collision callbacks
363 typedef void (*NewtonUserMeshCollisionDestroyCallback) (void* const userData);
364 typedef dFloat (*NewtonUserMeshCollisionRayHitCallback) (NewtonUserMeshCollisionRayHitDesc* const lineDescData);
365 typedef void (*NewtonUserMeshCollisionGetCollisionInfo) (void* const userData, NewtonCollisionInfoRecord* const infoRecord);
366 typedef int (*NewtonUserMeshCollisionAABBTest) (void* const userData, const dFloat* const boxP0, const dFloat* const boxP1);
367 typedef int (*NewtonUserMeshCollisionGetFacesInAABB) (void* const userData, const dFloat* const p0, const dFloat* const p1,
368 const dFloat** const vertexArray, int* const vertexCount, int* const vertexStrideInBytes,
369 const int* const indexList, int maxIndexCount, const int* const userDataList);
370 typedef void (*NewtonUserMeshCollisionCollideCallback) (NewtonUserMeshCollisionCollideDesc* const collideDescData, const void* const continueCollisionHandle);
371
372 typedef int (*NewtonTreeCollisionFaceCallback) (void* const context, const dFloat* const polygon, int strideInBytes, const int* const indexArray, int indexCount);
373
374 typedef dFloat (*NewtonCollisionTreeRayCastCallback) (const NewtonBody* const body, const NewtonCollision* const treeCollision, dFloat intersection, dFloat* const normal, int faceId, void* const usedData);
375 typedef dFloat (*NewtonHeightFieldRayCastCallback) (const NewtonBody* const body, const NewtonCollision* const heightFieldCollision, dFloat intersection, int row, int col, dFloat* const normal, int faceId, void* const usedData);
376
377 typedef void (*NewtonCollisionCopyConstructionCallback) (const NewtonWorld* const newtonWorld, NewtonCollision* const collision, const NewtonCollision* const sourceCollision);
378 typedef void (*NewtonCollisionDestructorCallback) (const NewtonWorld* const newtonWorld, const NewtonCollision* const collision);
379
380 // collision tree call back (obsoleted no recommended)
381 typedef void (*NewtonTreeCollisionCallback) (const NewtonBody* const bodyWithTreeCollision, const NewtonBody* const body, int faceID,
382 int vertexCount, const dFloat* const vertex, int vertexStrideInBytes);
383
384 typedef void (*NewtonBodyDestructor) (const NewtonBody* const body);
385 typedef void (*NewtonApplyForceAndTorque) (const NewtonBody* const body, dFloat timestep, int threadIndex);
386 typedef void (*NewtonSetTransform) (const NewtonBody* const body, const dFloat* const matrix, int threadIndex);
387
388 typedef int (*NewtonIslandUpdate) (const NewtonWorld* const newtonWorld, const void* islandHandle, int bodyCount);
389
390 typedef void (*NewtonFractureCompoundCollisionOnEmitCompoundFractured) (NewtonBody* const fracturedBody);
391 typedef void (*NewtonFractureCompoundCollisionOnEmitChunk) (NewtonBody* const chunkBody, NewtonFracturedCompoundMeshPart* const fracturexChunkMesh, const NewtonCollision* const fracturedCompountCollision);
392 typedef void (*NewtonFractureCompoundCollisionReconstructMainMeshCallBack) (NewtonBody* const body, NewtonFracturedCompoundMeshPart* const mainMesh, const NewtonCollision* const fracturedCompountCollision);
393
394 typedef unsigned (*NewtonWorldRayPrefilterCallback)(const NewtonBody* const body, const NewtonCollision* const collision, void* const userData);
395 typedef dFloat (*NewtonWorldRayFilterCallback)(const NewtonBody* const body, const NewtonCollision* const shapeHit, const dFloat* const hitContact, const dFloat* const hitNormal, dLong collisionID, void* const userData, dFloat intersectParam);
396
397
398 typedef void (*NewtonContactsProcess) (const NewtonJoint* const contact, dFloat timestep, int threadIndex);
399 typedef int (*NewtonOnAABBOverlap) (const NewtonMaterial* const material, const NewtonBody* const body0, const NewtonBody* const body1, int threadIndex);
400 typedef int (*NewtonOnCompoundSubCollisionAABBOverlap) (const NewtonMaterial* const material, const NewtonBody* const body0, const void* const collsionNode0, const NewtonBody* const body1, const void* const collsionNode1, int threadIndex);
401
402 typedef int (*NewtonBodyIterator) (const NewtonBody* const body, void* const userData);
403 typedef void (*NewtonJointIterator) (const NewtonJoint* const joint, void* const userData);
404 typedef void (*NewtonCollisionIterator) (void* const userData, int vertexCount, const dFloat* const faceArray, int faceId);
405
406 typedef void (*NewtonBallCallback) (const NewtonJoint* const ball, dFloat timestep);
407 typedef unsigned (*NewtonHingeCallback) (const NewtonJoint* const hinge, NewtonHingeSliderUpdateDesc* const desc);
408 typedef unsigned (*NewtonSliderCallback) (const NewtonJoint* const slider, NewtonHingeSliderUpdateDesc* const desc);
409 typedef unsigned (*NewtonUniversalCallback) (const NewtonJoint* const universal, NewtonHingeSliderUpdateDesc* const desc);
410 typedef unsigned (*NewtonCorkscrewCallback) (const NewtonJoint* const corkscrew, NewtonHingeSliderUpdateDesc* const desc);
411
412 typedef void (*NewtonUserBilateralCallback) (const NewtonJoint* const userJoint, dFloat timestep, int threadIndex);
413 typedef void (*NewtonUserBilateralGetInfoCallback) (const NewtonJoint* const userJoint, NewtonJointRecord* const info);
414
415 typedef void (*NewtonConstraintDestructor) (const NewtonJoint* const me);
416
417 typedef void (*NewtonJobTask) (NewtonWorld* const world, void* const userData, int threadIndex);
418
419 typedef bool (*NewtonReportProgress) (dFloat normalizedProgressPercent, void* const userData);
420
421
422 // **********************************************************************************************
423 //
424 // world control functions
425 //
426 // **********************************************************************************************
427 NEWTON_API int NewtonWorldGetVersion ();
428 NEWTON_API int NewtonWorldFloatSize ();
429
430 NEWTON_API int NewtonGetMemoryUsed ();
431 NEWTON_API void NewtonSetMemorySystem (NewtonAllocMemory malloc, NewtonFreeMemory free);
432
433 NEWTON_API NewtonWorld* NewtonCreate ();
434 NEWTON_API void NewtonDestroy (const NewtonWorld* const newtonWorld);
435 NEWTON_API void NewtonDestroyAllBodies (const NewtonWorld* const newtonWorld);
436
437 NEWTON_API void* NewtonAlloc (int sizeInBytes);
438 NEWTON_API void NewtonFree (void* const ptr);
439
440 // NEWTON_API void NewtonSetPlatformArchitecture (const NewtonWorld* const newtonWorld, int mode);
441 // NEWTON_API int NewtonGetPlatformArchitecture(const NewtonWorld* const newtonWorld, char* description);
442
443 NEWTON_API int NewtonEnumrateDevices (const NewtonWorld* const newtonWorld);
444 NEWTON_API int NewtonGetCurrentDevice (const NewtonWorld* const newtonWorld);
445 NEWTON_API void NewtonSetCurrentDevice (const NewtonWorld* const newtonWorld, int deviceIndex);
446 NEWTON_API void NewtonGetDeviceString (const NewtonWorld* const newtonWorld, int deviceIndex, char* const vendorString, int maxSize);
447
448 NEWTON_API dFloat NewtonGetContactMergeTolerance (const NewtonWorld* const newtonWorld);
449 NEWTON_API void NewtonSetContactMergeTolerance (const NewtonWorld* const newtonWorld, dFloat tolerance);
450
451 NEWTON_API void NewtonInvalidateCache (const NewtonWorld* const newtonWorld);
452 NEWTON_API void NewtonSetSolverModel (const NewtonWorld* const newtonWorld, int model);
453
454 NEWTON_API void NewtonSetMultiThreadSolverOnSingleIsland (const NewtonWorld* const newtonWorld, int mode);
455 NEWTON_API int NewtonGetMultiThreadSolverOnSingleIsland (const NewtonWorld* const newtonWorld);
456
457 NEWTON_API void NewtonSetPerformanceClock (const NewtonWorld* const newtonWorld, NewtonGetTicksCountCallback callback);
458 NEWTON_API unsigned NewtonReadPerformanceTicks (const NewtonWorld* const newtonWorld, unsigned performanceEntry);
459
460 NEWTON_API int NewtonGetBroadphaseAlgorithm (const NewtonWorld* const newtonWorld);
461 NEWTON_API void NewtonSelectBroadphaseAlgorithm (const NewtonWorld* const newtonWorld, int algorithmType);
462
463 NEWTON_API void NewtonUpdate (const NewtonWorld* const newtonWorld, dFloat timestep);
464 NEWTON_API void NewtonUpdateAsync (const NewtonWorld* const newtonWorld, dFloat timestep);
465 NEWTON_API void NewtonWaitForUpdateToFinish (const NewtonWorld* const newtonWorld);
466
467 NEWTON_API void NewtonSerializeToFile (const NewtonWorld* const newtonWorld, const char* const filename);
468 NEWTON_API void NewtonSerializeBodyArray (const NewtonWorld* const newtonWorld, NewtonBody** const bodyArray, int bodyCount, NewtonOnBodySerializationCallback serializeBody, NewtonSerializeCallback serializeFunction, void* const serializeHandle);
469 NEWTON_API void NewtonDeserializeBodyArray (const NewtonWorld* const newtonWorld, NewtonOnBodyDeserializationCallback deserializeBody, NewtonDeserializeCallback serializeFunction, void* const serializeHandle);
470
471
472 NEWTON_API unsigned NewtonReadThreadPerformanceTicks (const NewtonWorld* newtonWorld, unsigned threadIndex);
473
474 // multi threading interface
475 NEWTON_API void NewtonWorldCriticalSectionLock (const NewtonWorld* const newtonWorld, int threadIndex);
476 NEWTON_API void NewtonWorldCriticalSectionUnlock (const NewtonWorld* const newtonWorld);
477 NEWTON_API void NewtonSetThreadsCount (const NewtonWorld* const newtonWorld, int threads);
478 NEWTON_API int NewtonGetThreadsCount(const NewtonWorld* const newtonWorld);
479 NEWTON_API int NewtonGetMaxThreadsCount(const NewtonWorld* const newtonWorld);
480 NEWTON_API void NewtonDispachThreadJob(const NewtonWorld* const newtonWorld, NewtonJobTask task, void* const usedData);
481 NEWTON_API void NewtonSyncThreadJobs(const NewtonWorld* const newtonWorld);
482
483 // atomic operations
484 NEWTON_API int NewtonAtomicAdd (int* const ptr, int value);
485 NEWTON_API int NewtonAtomicSwap (int* const ptr, int value);
486 NEWTON_API void NewtonYield ();
487
488
489 NEWTON_API void NewtonSetFrictionModel (const NewtonWorld* const newtonWorld, int model);
490 NEWTON_API void NewtonSetMinimumFrameRate (const NewtonWorld* const newtonWorld, dFloat frameRate);
491 NEWTON_API void NewtonSetIslandUpdateEvent (const NewtonWorld* const newtonWorld, NewtonIslandUpdate islandUpdate);
492 // NEWTON_API void NewtonSetDestroyBodyByExeciveForce (const NewtonWorld* const newtonWorld, NewtonDestroyBodyByExeciveForce callback);
493 // NEWTON_API void NewtonWorldForEachBodyDo (const NewtonWorld* const newtonWorld, NewtonBodyIterator callback);
494 NEWTON_API void NewtonWorldForEachJointDo (const NewtonWorld* const newtonWorld, NewtonJointIterator callback, void* const userData);
495 NEWTON_API void NewtonWorldForEachBodyInAABBDo (const NewtonWorld* const newtonWorld, const dFloat* const p0, const dFloat* const p1, NewtonBodyIterator callback, void* const userData);
496
497
498 NEWTON_API void NewtonWorldSetUserData (const NewtonWorld* const newtonWorld, void* const userData);
499 NEWTON_API void* NewtonWorldGetUserData (const NewtonWorld* const newtonWorld);
500
501
502 NEWTON_API void* NewtonWorldGetListenerUserData (const NewtonWorld* const newtonWorld, void* const listener);
503 NEWTON_API NewtonWorldListenerBodyDestroyCallback NewtonWorldListenerGetBodyDestroyCallback (const NewtonWorld* const newtonWorld, void* const listener);
504 NEWTON_API void NewtonWorldListenerSetBodyDestroyCallback (const NewtonWorld* const newtonWorld, void* const listener, NewtonWorldListenerBodyDestroyCallback bodyDestroyCallback);
505
506 NEWTON_API void* NewtonWorldGetPreListener (const NewtonWorld* const newtonWorld, const char* const nameId);
507 NEWTON_API void* NewtonWorldAddPreListener (const NewtonWorld* const newtonWorld, const char* const nameId, void* const listenerUserData, NewtonWorldUpdateListenerCallback update, NewtonWorldDestroyListenerCallback destroy);
508
509 NEWTON_API void* NewtonWorldGetPostListener (const NewtonWorld* const newtonWorld, const char* const nameId);
510 NEWTON_API void* NewtonWorldAddPostListener (const NewtonWorld* const newtonWorld, const char* const nameId, void* const listenerUserData, NewtonWorldUpdateListenerCallback update, NewtonWorldDestroyListenerCallback destroy);
511
512 NEWTON_API void NewtonWorldSetDestructorCallback (const NewtonWorld* const newtonWorld, NewtonWorldDestructorCallback destructor);
513 NEWTON_API NewtonWorldDestructorCallback NewtonWorldGetDestructorCallback (const NewtonWorld* const newtonWorld);
514
515 NEWTON_API void NewtonWorldSetCollisionConstructorDestructorCallback (const NewtonWorld* const newtonWorld, NewtonCollisionCopyConstructionCallback constructor, NewtonCollisionDestructorCallback destructor);
516
517 NEWTON_DEPRECATED_API inline void NewtonWorldSetCollisionConstructorDestuctorCallback (const NewtonWorld* const newtonWorld, NewtonCollisionCopyConstructionCallback constructor, NewtonCollisionDestructorCallback destructor)
518 {
519 NewtonWorldSetCollisionConstructorDestructorCallback(newtonWorld, constructor, destructor);
520 }
521
522 NEWTON_API void NewtonWorldRayCast (const NewtonWorld* const newtonWorld, const dFloat* const p0, const dFloat* const p1, NewtonWorldRayFilterCallback filter, void* const userData, NewtonWorldRayPrefilterCallback prefilter, int threadIndex);
523 NEWTON_API void NewtonWorldConvexRayCast (const NewtonWorld* const newtonWorld, const NewtonCollision* const shape, const dFloat* const matrix, const dFloat* const p1, NewtonWorldRayFilterCallback filter, void* const userData, NewtonWorldRayPrefilterCallback prefilter, int threadIndex);
524
525 NEWTON_API int NewtonWorldCollide (const NewtonWorld* const newtonWorld, const dFloat* const matrix, const NewtonCollision* const shape, void* const userData,
526 NewtonWorldRayPrefilterCallback prefilter, NewtonWorldConvexCastReturnInfo* const info, int maxContactsCount, int threadIndex);
527 NEWTON_API int NewtonWorldConvexCast (const NewtonWorld* const newtonWorld, const dFloat* const matrix, const dFloat* const target, const NewtonCollision* const shape, dFloat* const hitParam, void* const userData,
528 NewtonWorldRayPrefilterCallback prefilter, NewtonWorldConvexCastReturnInfo* const info, int maxContactsCount, int threadIndex);
529
530
531 // world utility functions
532 NEWTON_API int NewtonWorldGetBodyCount(const NewtonWorld* const newtonWorld);
533 NEWTON_API int NewtonWorldGetConstraintCount(const NewtonWorld* const newtonWorld);
534
535
536 // **********************************************************************************************
537 //
538 // Simulation islands
539 //
540 // **********************************************************************************************
541 NEWTON_API NewtonBody* NewtonIslandGetBody (const void* const island, int bodyIndex);
542 NEWTON_API void NewtonIslandGetBodyAABB (const void* const island, int bodyIndex, dFloat* const p0, dFloat* const p1);
543
544 // **********************************************************************************************
545 //
546 // Physics Material Section
547 //
548 // **********************************************************************************************
549 NEWTON_API int NewtonMaterialCreateGroupID(const NewtonWorld* const newtonWorld);
550 NEWTON_API int NewtonMaterialGetDefaultGroupID(const NewtonWorld* const newtonWorld);
551 NEWTON_API void NewtonMaterialDestroyAllGroupID(const NewtonWorld* const newtonWorld);
552
553 // material definitions that can not be overwritten in function callback
554 NEWTON_API void* NewtonMaterialGetUserData (const NewtonWorld* const newtonWorld, int id0, int id1);
555 NEWTON_API void NewtonMaterialSetSurfaceThickness (const NewtonWorld* const newtonWorld, int id0, int id1, dFloat thickness);
556
557 // deprecated, not longer continue collision is set on the material
558 // NEWTON_API void NewtonMaterialSetContinuousCollisionMode (const NewtonWorld* const newtonWorld, int id0, int id1, int state);
559 NEWTON_API void NewtonMaterialSetCollisionCallback (const NewtonWorld* const newtonWorld, int id0, int id1, void* const userData, NewtonOnAABBOverlap aabbOverlap, NewtonContactsProcess process);
560 NEWTON_API void NewtonMaterialSetCompoundCollisionCallback(const NewtonWorld* const newtonWorld, int id0, int id1, NewtonOnCompoundSubCollisionAABBOverlap compoundAabbOverlap);
561
562 NEWTON_API void NewtonMaterialSetDefaultSoftness (const NewtonWorld* const newtonWorld, int id0, int id1, dFloat value);
563 NEWTON_API void NewtonMaterialSetDefaultElasticity (const NewtonWorld* const newtonWorld, int id0, int id1, dFloat elasticCoef);
564 NEWTON_API void NewtonMaterialSetDefaultCollidable (const NewtonWorld* const newtonWorld, int id0, int id1, int state);
565 NEWTON_API void NewtonMaterialSetDefaultFriction (const NewtonWorld* const newtonWorld, int id0, int id1, dFloat staticFriction, dFloat kineticFriction);
566
567 NEWTON_API NewtonMaterial* NewtonWorldGetFirstMaterial (const NewtonWorld* const newtonWorld);
568 NEWTON_API NewtonMaterial* NewtonWorldGetNextMaterial (const NewtonWorld* const newtonWorld, const NewtonMaterial* const material);
569
570 NEWTON_API NewtonBody* NewtonWorldGetFirstBody (const NewtonWorld* const newtonWorld);
571 NEWTON_API NewtonBody* NewtonWorldGetNextBody (const NewtonWorld* const newtonWorld, const NewtonBody* const curBody);
572
573
574 // **********************************************************************************************
575 //
576 // Physics Contact control functions
577 //
578 // **********************************************************************************************
579 NEWTON_API void *NewtonMaterialGetMaterialPairUserData (const NewtonMaterial* const material);
580 NEWTON_API unsigned NewtonMaterialGetContactFaceAttribute (const NewtonMaterial* const material);
581 NEWTON_API NewtonCollision* NewtonMaterialGetBodyCollidingShape (const NewtonMaterial* const material, const NewtonBody* const body);
582 NEWTON_API dFloat NewtonMaterialGetContactNormalSpeed (const NewtonMaterial* const material);
583 NEWTON_API void NewtonMaterialGetContactForce (const NewtonMaterial* const material, const NewtonBody* const body, dFloat* const force);
584 NEWTON_API void NewtonMaterialGetContactPositionAndNormal (const NewtonMaterial* const material, const NewtonBody* const body, dFloat* const posit, dFloat* const normal);
585 NEWTON_API void NewtonMaterialGetContactTangentDirections (const NewtonMaterial* const material, const NewtonBody* const body, dFloat* const dir0, dFloat* const dir1);
586 NEWTON_API dFloat NewtonMaterialGetContactTangentSpeed (const NewtonMaterial* const material, int index);
587
588 NEWTON_API dFloat NewtonMaterialGetContactMaxNormalImpact (const NewtonMaterial* const material);
589 NEWTON_API dFloat NewtonMaterialGetContactMaxTangentImpact (const NewtonMaterial* const material, int index);
590
591 NEWTON_API void NewtonMaterialSetContactSoftness (const NewtonMaterial* const material, dFloat softness);
592 NEWTON_API void NewtonMaterialSetContactElasticity (const NewtonMaterial* const material, dFloat restitution);
593 NEWTON_API void NewtonMaterialSetContactFrictionState (const NewtonMaterial* const material, int state, int index);
594 NEWTON_API void NewtonMaterialSetContactFrictionCoef (const NewtonMaterial* const material, dFloat staticFrictionCoef, dFloat kineticFrictionCoef, int index);
595
596 NEWTON_API void NewtonMaterialSetContactNormalAcceleration (const NewtonMaterial* const material, dFloat accel);
597 NEWTON_API void NewtonMaterialSetContactNormalDirection (const NewtonMaterial* const material, const dFloat* const directionVector);
598
599 NEWTON_API void NewtonMaterialSetContactTangentAcceleration (const NewtonMaterial* const material, dFloat accel, int index);
600 NEWTON_API void NewtonMaterialContactRotateTangentDirections (const NewtonMaterial* const material, const dFloat* const directionVector);
601
602
603
604 // **********************************************************************************************
605 //
606 // convex collision primitives creation functions
607 //
608 // **********************************************************************************************
609 NEWTON_API NewtonCollision* NewtonCreateNull (const NewtonWorld* const newtonWorld);
610 NEWTON_API NewtonCollision* NewtonCreateSphere (const NewtonWorld* const newtonWorld, dFloat radius, int shapeID, const dFloat* const offsetMatrix);
611 NEWTON_API NewtonCollision* NewtonCreateBox (const NewtonWorld* const newtonWorld, dFloat dx, dFloat dy, dFloat dz, int shapeID, const dFloat* const offsetMatrix);
612 NEWTON_API NewtonCollision* NewtonCreateCone (const NewtonWorld* const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat* const offsetMatrix);
613 NEWTON_API NewtonCollision* NewtonCreateCapsule (const NewtonWorld* const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat* const offsetMatrix);
614 NEWTON_API NewtonCollision* NewtonCreateCylinder (const NewtonWorld* const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat* const offsetMatrix);
615 NEWTON_API NewtonCollision* NewtonCreateTaperedCapsule (const NewtonWorld* const newtonWorld, dFloat radio0, dFloat radio1, dFloat height, int shapeID, const dFloat* const offsetMatrix);
616 NEWTON_API NewtonCollision* NewtonCreateTaperedCylinder (const NewtonWorld* const newtonWorld, dFloat radio0, dFloat radio1, dFloat height, int shapeID, const dFloat* const offsetMatrix);
617 NEWTON_API NewtonCollision* NewtonCreateChamferCylinder (const NewtonWorld* const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat* const offsetMatrix);
618 NEWTON_API NewtonCollision* NewtonCreateConvexHull (const NewtonWorld* const newtonWorld, int count, const dFloat* const vertexCloud, int strideInBytes, dFloat tolerance, int shapeID, const dFloat* const offsetMatrix);
619 NEWTON_API NewtonCollision* NewtonCreateConvexHullFromMesh (const NewtonWorld* const newtonWorld, const NewtonMesh* const mesh, dFloat tolerance, int shapeID);
620
621 NEWTON_API int NewtonCollisionGetMode(const NewtonCollision* const convexCollision);
622 NEWTON_API void NewtonCollisionSetCollisionMode (const NewtonCollision* const convexCollision, int mode);
623
624
625
626 // NEWTON_API void NewtonCollisionSetMaxBreakImpactImpulse(const NewtonCollision* const convexHullCollision, dFloat maxImpactImpulse);
627 // NEWTON_API dFloat NewtonCollisionGetMaxBreakImpactImpulse(const NewtonCollision* const convexHullCollision);
628
629 NEWTON_API int NewtonConvexHullGetFaceIndices (const NewtonCollision* const convexHullCollision, int face, int* const faceIndices);
630 NEWTON_API int NewtonConvexHullGetVertexData (const NewtonCollision* const convexHullCollision, dFloat** const vertexData, int* strideInBytes);
631 NEWTON_DEPRECATED_API inline int NewtonConvexHullGetVetexData (const NewtonCollision* const convexHullCollision, dFloat** const vertexData, int* strideInBytes)
632 {
633 return NewtonConvexHullGetVertexData(convexHullCollision, vertexData, strideInBytes);
634 }
635
636 NEWTON_API dFloat NewtonConvexCollisionCalculateVolume (const NewtonCollision* const convexCollision);
637 NEWTON_API void NewtonConvexCollisionCalculateInertialMatrix (const NewtonCollision* convexCollision, dFloat* const inertia, dFloat* const origin);
638 NEWTON_API void NewtonConvexCollisionCalculateBuoyancyAcceleration (const NewtonCollision* const convexCollision, const dFloat* const matrix, const dFloat* const shapeOrigin, const dFloat* const gravityVector, const dFloat* const fluidPlane, dFloat fluidDensity, dFloat fluidViscosity, dFloat* const accel, dFloat* const alpha);
639
640 NEWTON_API const void* NewtonCollisionDataPointer (const NewtonCollision* const convexCollision);
641
642 // **********************************************************************************************
643 //
644 // compound collision primitives creation functions
645 //
646 // **********************************************************************************************
647 NEWTON_API NewtonCollision* NewtonCreateCompoundCollision (const NewtonWorld* const newtonWorld, int shapeID);
648 NEWTON_API NewtonCollision* NewtonCreateCompoundCollisionFromMesh (const NewtonWorld* const newtonWorld, const NewtonMesh* const mesh, dFloat hullTolerance, int shapeID, int subShapeID);
649
650 NEWTON_API void NewtonCompoundCollisionBeginAddRemove (NewtonCollision* const compoundCollision);
651 NEWTON_API void* NewtonCompoundCollisionAddSubCollision (NewtonCollision* const compoundCollision, const NewtonCollision* const convexCollision);
652 NEWTON_API void NewtonCompoundCollisionRemoveSubCollision (NewtonCollision* const compoundCollision, const void* const collisionNode);
653 NEWTON_API void NewtonCompoundCollisionRemoveSubCollisionByIndex (NewtonCollision* const compoundCollision, int nodeIndex);
654 NEWTON_API void NewtonCompoundCollisionSetSubCollisionMatrix (NewtonCollision* const compoundCollision, const void* const collisionNode, const dFloat* const matrix);
655 NEWTON_API void NewtonCompoundCollisionEndAddRemove (NewtonCollision* const compoundCollision);
656
657 NEWTON_API void* NewtonCompoundCollisionGetFirstNode (NewtonCollision* const compoundCollision);
658 NEWTON_API void* NewtonCompoundCollisionGetNextNode (NewtonCollision* const compoundCollision, const void* const collisionNode);
659
660 NEWTON_API void* NewtonCompoundCollisionGetNodeByIndex (NewtonCollision* const compoundCollision, int index);
661 NEWTON_API int NewtonCompoundCollisionGetNodeIndex (NewtonCollision* const compoundCollision, const void* const collisionNode);
662 NEWTON_API NewtonCollision* NewtonCompoundCollisionGetCollisionFromNode (NewtonCollision* const compoundCollision, const void* const collisionNode);
663
664
665 // **********************************************************************************************
666 //
667 // Fractured compound collision primitives interface
668 //
669 // **********************************************************************************************
670 NEWTON_API NewtonCollision* NewtonCreateFracturedCompoundCollision (const NewtonWorld* const newtonWorld, const NewtonMesh* const solidMesh, int shapeID, int fracturePhysicsMaterialID, int pointcloudCount, const dFloat* const vertexCloud, int strideInBytes, int materialID, const dFloat* const textureMatrix,
671 NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback,
672 NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound, NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk);
673 NEWTON_API NewtonCollision* NewtonFracturedCompoundPlaneClip (const NewtonCollision* const fracturedCompound, const dFloat* const plane);
674
675 NEWTON_API void NewtonFracturedCompoundSetCallbacks (const NewtonCollision* const fracturedCompound, NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback,
676 NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound, NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk);
677
678
679 NEWTON_API int NewtonFracturedCompoundIsNodeFreeToDetach (const NewtonCollision* const fracturedCompound, void* const collisionNode);
680 NEWTON_API int NewtonFracturedCompoundNeighborNodeList (const NewtonCollision* const fracturedCompound, void* const collisionNode, void** const list, int maxCount);
681
682
683 NEWTON_API NewtonFracturedCompoundMeshPart* NewtonFracturedCompoundGetMainMesh (const NewtonCollision* const fracturedCompound);
684 NEWTON_API NewtonFracturedCompoundMeshPart* NewtonFracturedCompoundGetFirstSubMesh(const NewtonCollision* const fracturedCompound);
685 NEWTON_API NewtonFracturedCompoundMeshPart* NewtonFracturedCompoundGetNextSubMesh(const NewtonCollision* const fracturedCompound, NewtonFracturedCompoundMeshPart* const subMesh);
686
687 NEWTON_API int NewtonFracturedCompoundCollisionGetVertexCount (const NewtonCollision* const fracturedCompound, const NewtonFracturedCompoundMeshPart* const meshOwner);
688 NEWTON_API const dFloat* NewtonFracturedCompoundCollisionGetVertexPositions (const NewtonCollision* const fracturedCompound, const NewtonFracturedCompoundMeshPart* const meshOwner);
689 NEWTON_API const dFloat* NewtonFracturedCompoundCollisionGetVertexNormals (const NewtonCollision* const fracturedCompound, const NewtonFracturedCompoundMeshPart* const meshOwner);
690 NEWTON_API const dFloat* NewtonFracturedCompoundCollisionGetVertexUVs (const NewtonCollision* const fracturedCompound, const NewtonFracturedCompoundMeshPart* const meshOwner);
691 NEWTON_API int NewtonFracturedCompoundMeshPartGetIndexStream (const NewtonCollision* const fracturedCompound, const NewtonFracturedCompoundMeshPart* const meshOwner, const void* const segment, int* const index);
692
693 NEWTON_API void* NewtonFracturedCompoundMeshPartGetFirstSegment (const NewtonFracturedCompoundMeshPart* const fractureCompoundMeshPart);
694 NEWTON_API void* NewtonFracturedCompoundMeshPartGetNextSegment (const void* const fractureCompoundMeshSegment);
695 NEWTON_API int NewtonFracturedCompoundMeshPartGetMaterial (const void* const fractureCompoundMeshSegment);
696 NEWTON_API int NewtonFracturedCompoundMeshPartGetIndexCount (const void* const fractureCompoundMeshSegment);
697
698
699 // **********************************************************************************************
700 //
701 // scene collision are static compound collision that can take polygonal static collisions
702 //
703 // **********************************************************************************************
704 NEWTON_API NewtonCollision* NewtonCreateSceneCollision (const NewtonWorld* const newtonWorld, int shapeID);
705
706 NEWTON_API void NewtonSceneCollisionBeginAddRemove (NewtonCollision* const sceneCollision);
707 NEWTON_API void* NewtonSceneCollisionAddSubCollision (NewtonCollision* const sceneCollision, const NewtonCollision* const collision);
708 NEWTON_API void NewtonSceneCollisionRemoveSubCollision (NewtonCollision* const compoundCollision, const void* const collisionNode);
709 NEWTON_API void NewtonSceneCollisionRemoveSubCollisionByIndex (NewtonCollision* const sceneCollision, int nodeIndex);
710 NEWTON_API void NewtonSceneCollisionSetSubCollisionMatrix (NewtonCollision* const sceneCollision, const void* const collisionNode, const dFloat* const matrix);
711 NEWTON_API void NewtonSceneCollisionEndAddRemove (NewtonCollision* const sceneCollision);
712
713 NEWTON_API void* NewtonSceneCollisionGetFirstNode (NewtonCollision* const sceneCollision);
714 NEWTON_API void* NewtonSceneCollisionGetNextNode (NewtonCollision* const sceneCollision, const void* const collisionNode);
715
716 NEWTON_API void* NewtonSceneCollisionGetNodeByIndex (NewtonCollision* const sceneCollision, int index);
717 NEWTON_API int NewtonSceneCollisionGetNodeIndex (NewtonCollision* const sceneCollision, const void* const collisionNode);
718 NEWTON_API NewtonCollision* NewtonSceneCollisionGetCollisionFromNode (NewtonCollision* const sceneCollision, const void* const collisionNode);
719
720
721 // ***********************************************************************************************************
722 //
723 // User Static mesh collision interface
724 //
725 // ***********************************************************************************************************
726 NEWTON_API NewtonCollision* NewtonCreateUserMeshCollision (const NewtonWorld* const newtonWorld, const dFloat* const minBox,
727 const dFloat* const maxBox, void* const userData, NewtonUserMeshCollisionCollideCallback collideCallback,
728 NewtonUserMeshCollisionRayHitCallback rayHitCallback, NewtonUserMeshCollisionDestroyCallback destroyCallback,
729 NewtonUserMeshCollisionGetCollisionInfo getInfoCallback, NewtonUserMeshCollisionAABBTest getLocalAABBCallback,
730 NewtonUserMeshCollisionGetFacesInAABB facesInAABBCallback, NewtonOnUserCollisionSerializationCallback serializeCallback, int shapeID);
731
732 NEWTON_API int NewtonUserMeshCollisionContinuousOverlapTest (const NewtonUserMeshCollisionCollideDesc* const collideDescData, const void* const continueCollisionHandle, const dFloat* const minAabb, const dFloat* const maxAabb);
733 NEWTON_DEPRECATED_API inline int NewtonUserMeshCollisionContinueOveralapTest (const NewtonUserMeshCollisionCollideDesc* const collideDescData, const void* const continueCollisionHandle, const dFloat* const minAabb, const dFloat* const maxAabb)
734 {
735 return NewtonUserMeshCollisionContinuousOverlapTest(collideDescData, continueCollisionHandle, minAabb, maxAabb);
736 }
737
738
739 // ***********************************************************************************************************
740 //
741 // Collision serialization functions
742 //
743 // ***********************************************************************************************************
744 NEWTON_API NewtonCollision* NewtonCreateCollisionFromSerialization (const NewtonWorld* const newtonWorld, NewtonDeserializeCallback deserializeFunction, void* const serializeHandle);
745 NEWTON_API void NewtonCollisionSerialize (const NewtonWorld* const newtonWorld, const NewtonCollision* const collision, NewtonSerializeCallback serializeFunction, void* const serializeHandle);
746 NEWTON_API void NewtonCollisionGetInfo (const NewtonCollision* const collision, NewtonCollisionInfoRecord* const collisionInfo);
747
748 // **********************************************************************************************
749 //
750 // Static collision shapes functions
751 //
752 // **********************************************************************************************
753 NEWTON_API NewtonCollision* NewtonCreateHeightFieldCollision (const NewtonWorld* const newtonWorld, int width, int height, int gridsDiagonals, int elevationdatType,
754 const void* const elevationMap, const char* const attributeMap, dFloat verticalScale, dFloat horizontalScale, int shapeID);
755 NEWTON_API void NewtonHeightFieldSetUserRayCastCallback (const NewtonCollision* const heightfieldCollision, NewtonHeightFieldRayCastCallback rayHitCallback);
756
757
758 NEWTON_API NewtonCollision* NewtonCreateTreeCollision (const NewtonWorld* const newtonWorld, int shapeID);
759 NEWTON_API NewtonCollision* NewtonCreateTreeCollisionFromMesh (const NewtonWorld* const newtonWorld, const NewtonMesh* const mesh, int shapeID);
760
761 NEWTON_API void NewtonTreeCollisionSetUserRayCastCallback (const NewtonCollision* const treeCollision, NewtonCollisionTreeRayCastCallback rayHitCallback);
762
763 NEWTON_API void NewtonTreeCollisionBeginBuild (const NewtonCollision* const treeCollision);
764 NEWTON_API void NewtonTreeCollisionAddFace (const NewtonCollision* const treeCollision, int vertexCount, const dFloat* const vertexPtr, int strideInBytes, int faceAttribute);
765 NEWTON_API void NewtonTreeCollisionEndBuild (const NewtonCollision* const treeCollision, int optimize);
766
767 NEWTON_API int NewtonTreeCollisionGetFaceAttribute (const NewtonCollision* const treeCollision, const int* const faceIndexArray, int indexCount);
768 NEWTON_API void NewtonTreeCollisionSetFaceAttribute (const NewtonCollision* const treeCollision, const int* const faceIndexArray, int indexCount, int attribute);
769
770 NEWTON_DEPRECATED_API inline int NewtonTreeCollisionGetFaceAtribute (const NewtonCollision* const treeCollision, const int* const faceIndexArray, int indexCount)
771 {
772 return NewtonTreeCollisionGetFaceAttribute(treeCollision, faceIndexArray, indexCount);
773 }
774 NEWTON_DEPRECATED_API inline void NewtonTreeCollisionSetFaceAtribute (const NewtonCollision* const treeCollision, const int* const faceIndexArray, int indexCount, int attribute)
775 {
776 NewtonTreeCollisionSetFaceAttribute(treeCollision, faceIndexArray, indexCount, attribute);
777 }
778
779 NEWTON_API void NewtonTreeCollisionForEachFace (const NewtonCollision* const treeCollision, NewtonTreeCollisionFaceCallback forEachFaceCallback, void* const context);
780
781 NEWTON_API int NewtonTreeCollisionGetVertexListTriangleListInAABB (const NewtonCollision* const treeCollision, const dFloat* const p0, const dFloat* const p1, const dFloat** const vertexArray, int* const vertexCount, int* const vertexStrideInBytes, const int* const indexList, int maxIndexCount, const int* const faceAttribute);
782
783 NEWTON_API void NewtonStaticCollisionSetDebugCallback (const NewtonCollision* const staticCollision, NewtonTreeCollisionCallback userCallback);
784
785 // **********************************************************************************************
786 //
787 // General purpose collision library functions
788 //
789 // **********************************************************************************************
790
791 NEWTON_API NewtonCollision* NewtonCollisionCreateInstance (const NewtonCollision* const collision);
792 NEWTON_API int NewtonCollisionGetType (const NewtonCollision* const collision);
793
794 NEWTON_API void NewtonCollisionSetUserData (const NewtonCollision* const collision, void* const userData);
795 NEWTON_API void* NewtonCollisionGetUserData (const NewtonCollision* const collision);
796
797 NEWTON_API void NewtonCollisionSetUserID (const NewtonCollision* const collision, unsigned id);
798 NEWTON_API unsigned NewtonCollisionGetUserID (const NewtonCollision* const collision);
799
800 NEWTON_API void* NewtonCollisionGetSubCollisionHandle (const NewtonCollision* const collision);
801 NEWTON_API NewtonCollision* NewtonCollisionGetParentInstance (const NewtonCollision* const collision);
802
803 NEWTON_API void NewtonCollisionSetMatrix (const NewtonCollision* const collision, const dFloat* const matrix);
804 NEWTON_API void NewtonCollisionGetMatrix (const NewtonCollision* const collision, dFloat* const matrix);
805
806 NEWTON_API void NewtonCollisionSetScale (const NewtonCollision* const collision, dFloat scaleX, dFloat scaleY, dFloat scaleZ);
807 NEWTON_API void NewtonCollisionGetScale (const NewtonCollision* const collision, dFloat* const scaleX, dFloat* const scaleY, dFloat* const scaleZ);
808 NEWTON_API void NewtonDestroyCollision (const NewtonCollision* const collision);
809
810 NEWTON_API dFloat NewtonCollisionGetSkinThickness (const NewtonCollision* const collision);
811
812 NEWTON_API int NewtonCollisionIntersectionTest (const NewtonWorld* const newtonWorld,
813 const NewtonCollision* const collisionA, const dFloat* const matrixA,
814 const NewtonCollision* const collisionB, const dFloat* const matrixB, int threadIndex);
815
816 NEWTON_API int NewtonCollisionPointDistance (const NewtonWorld* const newtonWorld, const dFloat* const point,
817 const NewtonCollision* const collision, const dFloat* const matrix, dFloat* const contact, dFloat* const normal, int threadIndex);
818
819 NEWTON_API int NewtonCollisionClosestPoint (const NewtonWorld* const newtonWorld,
820 const NewtonCollision* const collisionA, const dFloat* const matrixA,
821 const NewtonCollision* const collisionB, const dFloat* const matrixB,
822 dFloat* const contactA, dFloat* const contactB, dFloat* const normalAB, int threadIndex);
823
824 NEWTON_API int NewtonCollisionCollide (const NewtonWorld* const newtonWorld, int maxSize,
825 const NewtonCollision* const collisionA, const dFloat* const matrixA,
826 const NewtonCollision* const collisionB, const dFloat* const matrixB,
827 dFloat* const contacts, dFloat* const normals, dFloat* const penetration,
828 dLong* const attributeA, dLong* const attributeB, int threadIndex);
829
830 NEWTON_API int NewtonCollisionCollideContinue (const NewtonWorld* const newtonWorld, int maxSize, dFloat timestep,
831 const NewtonCollision* const collisionA, const dFloat* const matrixA, const dFloat* const velocA, const dFloat* omegaA,
832 const NewtonCollision* const collisionB, const dFloat* const matrixB, const dFloat* const velocB, const dFloat* const omegaB,
833 dFloat* const timeOfImpact, dFloat* const contacts, dFloat* const normals, dFloat* const penetration,
834 dLong* const attributeA, dLong* const attributeB, int threadIndex);
835
836 NEWTON_API void NewtonCollisionSupportVertex (const NewtonCollision* const collision, const dFloat* const dir, dFloat* const vertex);
837 NEWTON_API dFloat NewtonCollisionRayCast (const NewtonCollision* const collision, const dFloat* const p0, const dFloat* const p1, dFloat* const normal, dLong* const attribute);
838 NEWTON_API void NewtonCollisionCalculateAABB (const NewtonCollision* const collision, const dFloat* const matrix, dFloat* const p0, dFloat* const p1);
839 NEWTON_API void NewtonCollisionForEachPolygonDo (const NewtonCollision* const collision, const dFloat* const matrix, NewtonCollisionIterator callback, void* const userData);
840
841
842
843 // **********************************************************************************************
844 //
845 // transforms utility functions
846 //
847 // **********************************************************************************************
848 NEWTON_API void NewtonSetEulerAngle (const dFloat* const eulersAngles, dFloat* const matrix);
849 NEWTON_API void NewtonGetEulerAngle (const dFloat* const matrix, dFloat* const eulersAngles0, dFloat* const eulersAngles1);
850 NEWTON_API dFloat NewtonCalculateSpringDamperAcceleration (dFloat dt, dFloat ks, dFloat x, dFloat kd, dFloat s);
851
852 // **********************************************************************************************
853 //
854 // body manipulation functions
855 //
856 // **********************************************************************************************
857 NEWTON_API NewtonBody* NewtonCreateDynamicBody (const NewtonWorld* const newtonWorld, const NewtonCollision* const collision, const dFloat* const matrix);
858 NEWTON_API NewtonBody* NewtonCreateKinematicBody (const NewtonWorld* const newtonWorld, const NewtonCollision* const collision, const dFloat* const matrix);
859 NEWTON_API NewtonBody* NewtonCreateDeformableBody (const NewtonWorld* const newtonWorld, const NewtonCollision* const deformableMesh, const dFloat* const matrix);
860
861 NEWTON_API void NewtonDestroyBody(const NewtonBody* const body);
862
863 NEWTON_DEPRECATED_API void NewtonBodyEnableSimulation(const NewtonBody* const body);
864 NEWTON_DEPRECATED_API void NewtonBodyDisableSimulation(const NewtonBody* const body);
865 NEWTON_API int NewtonBodyGetSimulationState(const NewtonBody* const body);
866 NEWTON_API void NewtonBodySetSimulationState(const NewtonBody* const bodyPtr, const int state);
867
868 NEWTON_API int NewtonBodyGetType (const NewtonBody* const body);
869 NEWTON_API int NewtonBodyGetCollidable (const NewtonBody* const body);
870 NEWTON_API void NewtonBodySetCollidable (const NewtonBody* const body, int collidableState);
871
872 NEWTON_API void NewtonBodyAddForce (const NewtonBody* const body, const dFloat* const force);
873 NEWTON_API void NewtonBodyAddTorque (const NewtonBody* const body, const dFloat* const torque);
874 NEWTON_API void NewtonBodyCalculateInverseDynamicsForce (const NewtonBody* const body, dFloat timestep, const dFloat* const desiredVeloc, dFloat* const forceOut);
875
876 NEWTON_API void NewtonBodySetCentreOfMass (const NewtonBody* const body, const dFloat* const com);
877 NEWTON_API void NewtonBodySetMassMatrix (const NewtonBody* const body, dFloat mass, dFloat Ixx, dFloat Iyy, dFloat Izz);
878
879 NEWTON_API void NewtonBodySetMassProperties (const NewtonBody* const body, dFloat mass, const NewtonCollision* const collision);
880 NEWTON_API void NewtonBodySetMatrix (const NewtonBody* const body, const dFloat* const matrix);
881 NEWTON_API void NewtonBodySetMatrixRecursive (const NewtonBody* const body, const dFloat* const matrix);
882
883 NEWTON_API void NewtonBodySetMaterialGroupID (const NewtonBody* const body, int id);
884 NEWTON_API void NewtonBodySetContinuousCollisionMode (const NewtonBody* const body, unsigned state);
885 NEWTON_API void NewtonBodySetJointRecursiveCollision (const NewtonBody* const body, unsigned state);
886 NEWTON_API void NewtonBodySetOmega (const NewtonBody* const body, const dFloat* const omega);
887 NEWTON_API void NewtonBodySetVelocity (const NewtonBody* const body, const dFloat* const velocity);
888 NEWTON_API void NewtonBodySetForce (const NewtonBody* const body, const dFloat* const force);
889 NEWTON_API void NewtonBodySetTorque (const NewtonBody* const body, const dFloat* const torque);
890
891 NEWTON_API void NewtonBodySetLinearDamping (const NewtonBody* const body, dFloat linearDamp);
892 NEWTON_API void NewtonBodySetAngularDamping (const NewtonBody* const body, const dFloat* const angularDamp);
893 NEWTON_API void NewtonBodySetCollision (const NewtonBody* const body, const NewtonCollision* const collision);
894 NEWTON_API void NewtonBodySetCollisionScale (const NewtonBody* const body, dFloat scaleX, dFloat scaleY, dFloat scaleZ);
895
896 NEWTON_API int NewtonBodyGetSleepState (const NewtonBody* const body);
897 NEWTON_API void NewtonBodySetSleepState (const NewtonBody* const body, int state);
898
899 NEWTON_API int NewtonBodyGetAutoSleep (const NewtonBody* const body);
900 NEWTON_API void NewtonBodySetAutoSleep (const NewtonBody* const body, int state);
901
902 NEWTON_API int NewtonBodyGetFreezeState(const NewtonBody* const body);
903 NEWTON_API void NewtonBodySetFreezeState (const NewtonBody* const body, int state);
904
905 NEWTON_API void NewtonBodySetDestructorCallback (const NewtonBody* const body, NewtonBodyDestructor callback);
906 NEWTON_API NewtonBodyDestructor NewtonBodyGetDestructorCallback (const NewtonBody* const body);
907
908 NEWTON_API void NewtonBodySetTransformCallback (const NewtonBody* const body, NewtonSetTransform callback);
909 NEWTON_API NewtonSetTransform NewtonBodyGetTransformCallback (const NewtonBody* const body);
910
911 NEWTON_API void NewtonBodySetForceAndTorqueCallback (const NewtonBody* const body, NewtonApplyForceAndTorque callback);
912 NEWTON_API NewtonApplyForceAndTorque NewtonBodyGetForceAndTorqueCallback (const NewtonBody* const body);
913
914 NEWTON_API int NewtonBodyGetID (const NewtonBody* const body);
915
916 NEWTON_API void NewtonBodySetUserData (const NewtonBody* const body, void* const userData);
917 NEWTON_API void* NewtonBodyGetUserData (const NewtonBody* const body);
918
919 NEWTON_API NewtonWorld* NewtonBodyGetWorld (const NewtonBody* const body);
920 NEWTON_API NewtonCollision* NewtonBodyGetCollision (const NewtonBody* const body);
921 NEWTON_API int NewtonBodyGetMaterialGroupID (const NewtonBody* const body);
922
923 NEWTON_API int NewtonBodyGetContinuousCollisionMode (const NewtonBody* const body);
924 NEWTON_API int NewtonBodyGetJointRecursiveCollision (const NewtonBody* const body);
925
926 NEWTON_API void NewtonBodyGetMatrix(const NewtonBody* const body, dFloat* const matrix);
927 NEWTON_API void NewtonBodyGetRotation(const NewtonBody* const body, dFloat* const rotation);
928 NEWTON_API void NewtonBodyGetMassMatrix (const NewtonBody* const body, dFloat* mass, dFloat* const Ixx, dFloat* const Iyy, dFloat* const Izz);
929 NEWTON_API void NewtonBodyGetInvMass(const NewtonBody* const body, dFloat* const invMass, dFloat* const invIxx, dFloat* const invIyy, dFloat* const invIzz);
930 NEWTON_API void NewtonBodyGetInertiaMatrix(const NewtonBody* const body, dFloat* const inertiaMatrix);
931 NEWTON_API void NewtonBodyGetInvInertiaMatrix(const NewtonBody* const body, dFloat* const invInertiaMatrix);
932 NEWTON_API void NewtonBodyGetOmega(const NewtonBody* const body, dFloat* const vector);
933 NEWTON_API void NewtonBodyGetVelocity(const NewtonBody* const body, dFloat* const vector);
934 NEWTON_API void NewtonBodyGetForce(const NewtonBody* const body, dFloat* const vector);
935 NEWTON_API void NewtonBodyGetTorque(const NewtonBody* const body, dFloat* const vector);
936 NEWTON_API void NewtonBodyGetForceAcc(const NewtonBody* const body, dFloat* const vector);
937 NEWTON_API void NewtonBodyGetTorqueAcc(const NewtonBody* const body, dFloat* const vector);
938 NEWTON_API void NewtonBodyGetCentreOfMass (const NewtonBody* const body, dFloat* const com);
939
940 NEWTON_API void NewtonBodyGetPointVelocity (const NewtonBody* const body, const dFloat* const point, dFloat* const velocOut);
941 NEWTON_API void NewtonBodyAddImpulse (const NewtonBody* const body, const dFloat* const pointDeltaVeloc, const dFloat* const pointPosit);
942 NEWTON_API void NewtonBodyApplyImpulseArray (const NewtonBody* const body, int impuleCount, int strideInByte, const dFloat* const impulseArray, const dFloat* const pointArray);
943
944 NEWTON_API void NewtonBodyApplyImpulsePair (const NewtonBody* const body, dFloat* const linearImpulse, dFloat* const angularImpulse);
945
946 NEWTON_API void NewtonBodyIntegrateVelocity (const NewtonBody* const body, dFloat timestep);
947
948 NEWTON_API dFloat NewtonBodyGetLinearDamping (const NewtonBody* const body);
949 NEWTON_API void NewtonBodyGetAngularDamping (const NewtonBody* const body, dFloat* const vector);
950 NEWTON_API void NewtonBodyGetAABB (const NewtonBody* const body, dFloat* const p0, dFloat* const p1);
951
952
953 NEWTON_API NewtonJoint* NewtonBodyGetFirstJoint (const NewtonBody* const body);
954 NEWTON_API NewtonJoint* NewtonBodyGetNextJoint (const NewtonBody* const body, const NewtonJoint* const joint);
955 NEWTON_API NewtonJoint* NewtonBodyGetFirstContactJoint (const NewtonBody* const body);
956 NEWTON_API NewtonJoint* NewtonBodyGetNextContactJoint (const NewtonBody* const body, const NewtonJoint* const contactJoint);
957
958
959 // **********************************************************************************************
960 //
961 // contact joints interface
962 //
963 // **********************************************************************************************
964
965 NEWTON_API void* NewtonContactJointGetFirstContact (const NewtonJoint* const contactJoint);
966 NEWTON_API void* NewtonContactJointGetNextContact (const NewtonJoint* const contactJoint, void* const contact);
967
968 NEWTON_API int NewtonContactJointGetContactCount(const NewtonJoint* const contactJoint);
969 NEWTON_API void NewtonContactJointRemoveContact(const NewtonJoint* const contactJoint, void* const contact);
970
971 NEWTON_API NewtonMaterial* NewtonContactGetMaterial (const void* const contact);
972
973 NEWTON_API NewtonCollision* NewtonContactGetCollision0 (const void* const contact);
974 NEWTON_API NewtonCollision* NewtonContactGetCollision1 (const void* const contact);
975
976 NEWTON_API void* NewtonContactGetCollisionID0 (const void* const contact);
977 NEWTON_API void* NewtonContactGetCollisionID1 (const void* const contact);
978
979
980 // **********************************************************************************************
981 //
982 // Common joint functions
983 //
984 // **********************************************************************************************
985 NEWTON_API void* NewtonJointGetUserData (const NewtonJoint* const joint);
986 NEWTON_API void NewtonJointSetUserData (const NewtonJoint* const joint, void* const userData);
987
988 NEWTON_API NewtonBody* NewtonJointGetBody0 (const NewtonJoint* const joint);
989 NEWTON_API NewtonBody* NewtonJointGetBody1 (const NewtonJoint* const joint);
990
991 NEWTON_API void NewtonJointGetInfo (const NewtonJoint* const joint, NewtonJointRecord* const info);
992 NEWTON_API int NewtonJointGetCollisionState (const NewtonJoint* const joint);
993 NEWTON_API void NewtonJointSetCollisionState (const NewtonJoint* const joint, int state);
994
995 NEWTON_API dFloat NewtonJointGetStiffness (const NewtonJoint* const joint);
996 NEWTON_API void NewtonJointSetStiffness (const NewtonJoint* const joint, dFloat state);
997
998 NEWTON_API void NewtonDestroyJoint(const NewtonWorld* const newtonWorld, const NewtonJoint* const joint);
999 NEWTON_API void NewtonJointSetDestructor (const NewtonJoint* const joint, NewtonConstraintDestructor destructor);
1000
1001 NEWTON_API int NewtonJointIsActive (const NewtonJoint* const joint);
1002
1003
1004 // **********************************************************************************************
1005 //
1006 // particle system interface (soft bodies, individual, pressure bodies and cloth)
1007 //
1008 // **********************************************************************************************
1009 NEWTON_API NewtonCollision* NewtonCreateClothPatch (const NewtonWorld* const newtonWorld, NewtonMesh* const mesh, int shapeID, NewtonClothPatchMaterial* const structuralMaterial, NewtonClothPatchMaterial* const bendMaterial);
1010 NEWTON_API NewtonCollision* NewtonCreateDeformableMesh (const NewtonWorld* const newtonWorld, NewtonMesh* const mesh, int shapeID);
1011
1012 NEWTON_API void NewtonDeformableMeshCreateClusters (NewtonCollision* const deformableMesh, int clusterCount, dFloat overlapingWidth);
1013 NEWTON_API void NewtonDeformableMeshSetDebugCallback (NewtonCollision* const deformableMesh, NewtonCollisionIterator callback);
1014
1015 NEWTON_API int NewtonDeformableMeshGetParticleCount (const NewtonCollision* const deformableMesh);
1016 NEWTON_API void NewtonDeformableMeshGetParticlePosition (NewtonCollision* const deformableMesh, int particleIndex, dFloat* const posit);
1017
1018 NEWTON_API void NewtonDeformableMeshBeginConfiguration (const NewtonCollision* const deformableMesh);
1019 NEWTON_API void NewtonDeformableMeshUnconstraintParticle (NewtonCollision* const deformableMesh, int particleIndex);
1020 NEWTON_API void NewtonDeformableMeshConstraintParticle (NewtonCollision* const deformableMesh, int particleIndex, const dFloat* const posit, const NewtonBody* const body);
1021 NEWTON_API void NewtonDeformableMeshEndConfiguration (const NewtonCollision* const deformableMesh);
1022
1023 // NEWTON_API void NewtonDeformableMeshSetPlasticity (NewtonCollision* const deformableMesh, dFloat plasticity);
1024 // NEWTON_API void NewtonDeformableMeshSetStiffness (NewtonCollision* const deformableMesh, dFloat stiffness);
1025 NEWTON_API void NewtonDeformableMeshSetSkinThickness (NewtonCollision* const deformableMesh, dFloat skinThickness);
1026
1027 NEWTON_API void NewtonDeformableMeshUpdateRenderNormals (const NewtonCollision* const deformableMesh);
1028 NEWTON_API int NewtonDeformableMeshGetVertexCount (const NewtonCollision* const deformableMesh);
1029 NEWTON_API void NewtonDeformableMeshGetVertexStreams (const NewtonCollision* const deformableMesh, int vertexStrideInByte, dFloat* const vertex, int normalStrideInByte, dFloat* const normal, int uvStrideInByte0, dFloat* const uv0);
1030 NEWTON_API NewtonDeformableMeshSegment* NewtonDeformableMeshGetFirstSegment (const NewtonCollision* const deformableMesh);
1031 NEWTON_API NewtonDeformableMeshSegment* NewtonDeformableMeshGetNextSegment (const NewtonCollision* const deformableMesh, const NewtonDeformableMeshSegment* const segment);
1032
1033 NEWTON_API int NewtonDeformableMeshSegmentGetMaterialID (const NewtonCollision* const deformableMesh, const NewtonDeformableMeshSegment* const segment);
1034 NEWTON_API int NewtonDeformableMeshSegmentGetIndexCount (const NewtonCollision* const deformableMesh, const NewtonDeformableMeshSegment* const segment);
1035 NEWTON_API const int* NewtonDeformableMeshSegmentGetIndexList (const NewtonCollision* const deformableMesh, const NewtonDeformableMeshSegment* const segment);
1036
1037
1038
1039
1040 // **********************************************************************************************
1041 //
1042 // Ball and Socket joint functions
1043 //
1044 // **********************************************************************************************
1045 NEWTON_API NewtonJoint* NewtonConstraintCreateBall (const NewtonWorld* const newtonWorld, const dFloat* pivotPoint,
1046 const NewtonBody* const childBody, const NewtonBody* const parentBody);
1047 NEWTON_API void NewtonBallSetUserCallback (const NewtonJoint* const ball, NewtonBallCallback callback);
1048 NEWTON_API void NewtonBallGetJointAngle (const NewtonJoint* const ball, dFloat* angle);
1049 NEWTON_API void NewtonBallGetJointOmega (const NewtonJoint* const ball, dFloat* omega);
1050 NEWTON_API void NewtonBallGetJointForce (const NewtonJoint* const ball, dFloat* const force);
1051 NEWTON_API void NewtonBallSetConeLimits (const NewtonJoint* const ball, const dFloat* pin, dFloat maxConeAngle, dFloat maxTwistAngle);
1052
1053 // **********************************************************************************************
1054 //
1055 // Hinge joint functions
1056 //
1057 // **********************************************************************************************
1058 NEWTON_API NewtonJoint* NewtonConstraintCreateHinge (const NewtonWorld* const newtonWorld,
1059 const dFloat* pivotPoint, const dFloat* pinDir,
1060 const NewtonBody* const childBody, const NewtonBody* const parentBody);
1061
1062 NEWTON_API void NewtonHingeSetUserCallback (const NewtonJoint* const hinge, NewtonHingeCallback callback);
1063 NEWTON_API dFloat NewtonHingeGetJointAngle (const NewtonJoint* const hinge);
1064 NEWTON_API dFloat NewtonHingeGetJointOmega (const NewtonJoint* const hinge);
1065 NEWTON_API void NewtonHingeGetJointForce (const NewtonJoint* const hinge, dFloat* const force);
1066 NEWTON_API dFloat NewtonHingeCalculateStopAlpha (const NewtonJoint* const hinge, const NewtonHingeSliderUpdateDesc* const desc, dFloat angle);
1067
1068 // **********************************************************************************************
1069 //
1070 // Slider joint functions
1071 //
1072 // **********************************************************************************************
1073 NEWTON_API NewtonJoint* NewtonConstraintCreateSlider (const NewtonWorld* const newtonWorld,
1074 const dFloat* pivotPoint, const dFloat* pinDir,
1075 const NewtonBody* const childBody, const NewtonBody* const parentBody);
1076 NEWTON_API void NewtonSliderSetUserCallback (const NewtonJoint* const slider, NewtonSliderCallback callback);
1077 NEWTON_API dFloat NewtonSliderGetJointPosit (const NewtonJoint* slider);
1078 NEWTON_API dFloat NewtonSliderGetJointVeloc (const NewtonJoint* slider);
1079 NEWTON_API void NewtonSliderGetJointForce (const NewtonJoint* const slider, dFloat* const force);
1080 NEWTON_API dFloat NewtonSliderCalculateStopAccel (const NewtonJoint* const slider, const NewtonHingeSliderUpdateDesc* const desc, dFloat position);
1081
1082
1083 // **********************************************************************************************
1084 //
1085 // Corkscrew joint functions
1086 //
1087 // **********************************************************************************************
1088 NEWTON_API NewtonJoint* NewtonConstraintCreateCorkscrew (const NewtonWorld* const newtonWorld,
1089 const dFloat* pivotPoint, const dFloat* pinDir,
1090 const NewtonBody* const childBody, const NewtonBody* const parentBody);
1091 NEWTON_API void NewtonCorkscrewSetUserCallback (const NewtonJoint* const corkscrew, NewtonCorkscrewCallback callback);
1092 NEWTON_API dFloat NewtonCorkscrewGetJointPosit (const NewtonJoint* const corkscrew);
1093 NEWTON_API dFloat NewtonCorkscrewGetJointAngle (const NewtonJoint* const corkscrew);
1094 NEWTON_API dFloat NewtonCorkscrewGetJointVeloc (const NewtonJoint* const corkscrew);
1095 NEWTON_API dFloat NewtonCorkscrewGetJointOmega (const NewtonJoint* const corkscrew);
1096 NEWTON_API void NewtonCorkscrewGetJointForce (const NewtonJoint* const corkscrew, dFloat* const force);
1097 NEWTON_API dFloat NewtonCorkscrewCalculateStopAlpha (const NewtonJoint* const corkscrew, const NewtonHingeSliderUpdateDesc* const desc, dFloat angle);
1098 NEWTON_API dFloat NewtonCorkscrewCalculateStopAccel (const NewtonJoint* const corkscrew, const NewtonHingeSliderUpdateDesc* const desc, dFloat position);
1099
1100
1101 // **********************************************************************************************
1102 //
1103 // Universal joint functions
1104 //
1105 // **********************************************************************************************
1106 NEWTON_API NewtonJoint* NewtonConstraintCreateUniversal (const NewtonWorld* const newtonWorld,
1107 const dFloat* pivotPoint, const dFloat* pinDir0, const dFloat* pinDir1,
1108 const NewtonBody* const childBody, const NewtonBody* const parentBody);
1109 NEWTON_API void NewtonUniversalSetUserCallback (const NewtonJoint* const universal, NewtonUniversalCallback callback);
1110 NEWTON_API dFloat NewtonUniversalGetJointAngle0 (const NewtonJoint* const universal);
1111 NEWTON_API dFloat NewtonUniversalGetJointAngle1 (const NewtonJoint* const universal);
1112 NEWTON_API dFloat NewtonUniversalGetJointOmega0 (const NewtonJoint* const universal);
1113 NEWTON_API dFloat NewtonUniversalGetJointOmega1 (const NewtonJoint* const universal);
1114 NEWTON_API void NewtonUniversalGetJointForce (const NewtonJoint* const universal, dFloat* const force);
1115 NEWTON_API dFloat NewtonUniversalCalculateStopAlpha0 (const NewtonJoint* const universal, const NewtonHingeSliderUpdateDesc* const desc, dFloat angle);
1116 NEWTON_API dFloat NewtonUniversalCalculateStopAlpha1 (const NewtonJoint* const universal, const NewtonHingeSliderUpdateDesc* const desc, dFloat angle);
1117
1118
1119 // **********************************************************************************************
1120 //
1121 // Up vector joint functions
1122 //
1123 // **********************************************************************************************
1124 NEWTON_API NewtonJoint* NewtonConstraintCreateUpVector (const NewtonWorld* const newtonWorld, const dFloat* pinDir, const NewtonBody* const body);
1125 NEWTON_API void NewtonUpVectorGetPin (const NewtonJoint* const upVector, dFloat *pin);
1126 NEWTON_API void NewtonUpVectorSetPin (const NewtonJoint* const upVector, const dFloat *pin);
1127
1128
1129 // **********************************************************************************************
1130 //
1131 // User defined bilateral Joint
1132 //
1133 // **********************************************************************************************
1134 NEWTON_API NewtonJoint* NewtonConstraintCreateUserJoint (const NewtonWorld* const newtonWorld, int maxDOF,
1135 NewtonUserBilateralCallback callback,
1136 NewtonUserBilateralGetInfoCallback getInfo,
1137 const NewtonBody* const childBody, const NewtonBody* const parentBody) ;
1138 NEWTON_API void NewtonUserJointSetFeedbackCollectorCallback (const NewtonJoint* const joint, NewtonUserBilateralCallback getFeedback);
1139 NEWTON_API void NewtonUserJointAddLinearRow (const NewtonJoint* const joint, const dFloat* const pivot0, const dFloat* const pivot1, const dFloat* const dir);
1140 NEWTON_API void NewtonUserJointAddAngularRow (const NewtonJoint* const joint, dFloat relativeAngle, const dFloat* const dir);
1141 NEWTON_API void NewtonUserJointAddGeneralRow (const NewtonJoint* const joint, const dFloat* const jacobian0, const dFloat* const jacobian1);
1142 NEWTON_API void NewtonUserJointSetRowMinimumFriction (const NewtonJoint* const joint, dFloat friction);
1143 NEWTON_API void NewtonUserJointSetRowMaximumFriction (const NewtonJoint* const joint, dFloat friction);
1144 NEWTON_API void NewtonUserJointSetRowAcceleration (const NewtonJoint* const joint, dFloat acceleration);
1145 NEWTON_API void NewtonUserJointSetRowSpringDamperAcceleration (const NewtonJoint* const joint, dFloat springK, dFloat springD);
1146 NEWTON_API void NewtonUserJointSetRowStiffness (const NewtonJoint* const joint, dFloat stiffness);
1147 NEWTON_API dFloat NewtonUserJointGetRowForce (const NewtonJoint* const joint, int row);
1148
1149 NEWTON_API void NewtonUserJointSetSolver (const NewtonJoint* const joint, int solver, int maxContactJoints);
1150
1151
1152 // **********************************************************************************************
1153 //
1154 // Mesh joint functions
1155 //
1156 // **********************************************************************************************
1157 NEWTON_API NewtonMesh* NewtonMeshCreate(const NewtonWorld* const newtonWorld);
1158 NEWTON_API NewtonMesh* NewtonMeshCreateFromMesh(const NewtonMesh* const mesh);
1159 NEWTON_API NewtonMesh* NewtonMeshCreateFromCollision(const NewtonCollision* const collision);
1160 NEWTON_API NewtonMesh* NewtonMeshCreateConvexHull (const NewtonWorld* const newtonWorld, int pointCount, const dFloat* const vertexCloud, int strideInBytes, dFloat tolerance);
1161 NEWTON_API NewtonMesh* NewtonMeshCreateDelaunayTetrahedralization (const NewtonWorld* const newtonWorld, int pointCount, const dFloat* const vertexCloud, int strideInBytes, int materialID, const dFloat* const textureMatrix);
1162 NEWTON_API NewtonMesh* NewtonMeshCreateVoronoiConvexDecomposition (const NewtonWorld* const newtonWorld, int pointCount, const dFloat* const vertexCloud, int strideInBytes, int materialID, const dFloat* const textureMatrix);
1163 NEWTON_API NewtonMesh* NewtonMeshCreateFromSerialization (const NewtonWorld* const newtonWorld, NewtonDeserializeCallback deserializeFunction, void* const serializeHandle);
1164 NEWTON_API void NewtonMeshDestroy(const NewtonMesh* const mesh);
1165
1166 NEWTON_API void NewtonMeshSerialize (const NewtonMesh* const mesh, NewtonSerializeCallback serializeFunction, void* const serializeHandle);
1167 NEWTON_API void NewtonMeshSaveOFF(const NewtonMesh* const mesh, const char* const filename);
1168 NEWTON_API NewtonMesh* NewtonMeshLoadOFF(const NewtonWorld* const newtonWorld, const char* const filename);
1169
1170 NEWTON_API void NewtonMeshApplyTransform (const NewtonMesh* const mesh, const dFloat* const matrix);
1171 NEWTON_API void NewtonMeshCalculateOOBB(const NewtonMesh* const mesh, dFloat* const matrix, dFloat* const x, dFloat* const y, dFloat* const z);
1172
1173 NEWTON_API void NewtonMeshCalculateVertexNormals(const NewtonMesh* const mesh, dFloat angleInRadians);
1174 NEWTON_API void NewtonMeshApplySphericalMapping(const NewtonMesh* const mesh, int material);
1175 NEWTON_API void NewtonMeshApplyCylindricalMapping(const NewtonMesh* const mesh, int cylinderMaterial, int capMaterial);
1176 NEWTON_API void NewtonMeshApplyBoxMapping(const NewtonMesh* const mesh, int frontMaterial, int sideMaterial, int topMaterial);
1177 NEWTON_API void NewtonMeshApplyAngleBasedMapping(const NewtonMesh* const mesh, int material, NewtonReportProgress reportPrograssCallback, void* const reportPrgressUserData);
1178
1179
1180 NEWTON_API int NewtonMeshIsOpenMesh (const NewtonMesh* const mesh);
1181 NEWTON_API void NewtonMeshFixTJoints (const NewtonMesh* const mesh);
1182
1183 NEWTON_API void NewtonMeshPolygonize (const NewtonMesh* const mesh);
1184 NEWTON_API void NewtonMeshTriangulate (const NewtonMesh* const mesh);
1185 NEWTON_API NewtonMesh* NewtonMeshUnion (const NewtonMesh* const mesh, const NewtonMesh* const clipper, const dFloat* const clipperMatrix);
1186 NEWTON_API NewtonMesh* NewtonMeshDifference (const NewtonMesh* const mesh, const NewtonMesh* const clipper, const dFloat* const clipperMatrix);
1187 NEWTON_API NewtonMesh* NewtonMeshIntersection (const NewtonMesh* const mesh, const NewtonMesh* const clipper, const dFloat* const clipperMatrix);
1188 NEWTON_API void NewtonMeshClip (const NewtonMesh* const mesh, const NewtonMesh* const clipper, const dFloat* const clipperMatrix, NewtonMesh** const topMesh, NewtonMesh** const bottomMesh);
1189
1190 NEWTON_API NewtonMesh* NewtonMeshConvexMeshIntersection (const NewtonMesh* const mesh, const NewtonMesh* const convexMesh);
1191
1192 NEWTON_API NewtonMesh* NewtonMeshSimplify (const NewtonMesh* const mesh, int maxVertexCount, NewtonReportProgress reportPrograssCallback, void* const reportPrgressUserData);
1193 NEWTON_API NewtonMesh* NewtonMeshApproximateConvexDecomposition (const NewtonMesh* const mesh, dFloat maxConcavity, dFloat backFaceDistanceFactor, int maxCount, int maxVertexPerHull, NewtonReportProgress reportProgressCallback, void* const reportProgressUserData);
1194
1195 NEWTON_API void NewtonRemoveUnusedVertices(const NewtonMesh* const mesh, int* const vertexRemapTable);
1196
1197 NEWTON_API void NewtonMeshBeginFace(const NewtonMesh* const mesh);
1198 NEWTON_API void NewtonMeshAddFace(const NewtonMesh* const mesh, int vertexCount, const dFloat* const vertex, int strideInBytes, int materialIndex);
1199 NEWTON_API void NewtonMeshEndFace(const NewtonMesh* const mesh);
1200
1201 NEWTON_API void NewtonMeshBuildFromVertexListIndexList(const NewtonMesh* const mesh,
1202 int faceCount, const int* const faceIndexCount, const int* const faceMaterialIndex,
1203 const dFloat* const vertex, int vertexStrideInBytes, const int* const vertexIndex,
1204 const dFloat* const normal, int normalStrideInBytes, const int* const normalIndex,
1205 const dFloat* const uv0, int uv0StrideInBytes, const int* const uv0Index,
1206 const dFloat* const uv1, int uv1StrideInBytes, const int* const uv1Index);
1207
1208 NEWTON_API void NewtonMeshGetVertexStreams (const NewtonMesh* const mesh,
1209 int vertexStrideInByte, dFloat* const vertex,
1210 int normalStrideInByte, dFloat* const normal,
1211 int uvStrideInByte0, dFloat* const uv0,
1212 int uvStrideInByte1, dFloat* const uv1);
1213
1214 NEWTON_API void NewtonMeshGetIndirectVertexStreams(const NewtonMesh* const mesh,
1215 int vertexStrideInByte, dFloat* const vertex, int* const vertexIndices, int* const vertexCount,
1216 int normalStrideInByte, dFloat* const normal, int* const normalIndices, int* const normalCount,
1217 int uvStrideInByte0, dFloat* const uv0, int* const uvIndices0, int* const uvCount0,
1218 int uvStrideInByte1, dFloat* const uv1, int* const uvIndices1, int* const uvCount1);
1219
1220 NEWTON_API void* NewtonMeshBeginHandle (const NewtonMesh* const mesh);
1221 NEWTON_API void NewtonMeshEndHandle (const NewtonMesh* const mesh, void* const handle);
1222 NEWTON_API int NewtonMeshFirstMaterial (const NewtonMesh* const mesh, void* const handle);
1223 NEWTON_API int NewtonMeshNextMaterial (const NewtonMesh* const mesh, void* const handle, int materialId);
1224 NEWTON_API int NewtonMeshMaterialGetMaterial (const NewtonMesh* const mesh, void* const handle, int materialId);
1225 NEWTON_API int NewtonMeshMaterialGetIndexCount (const NewtonMesh* const mesh, void* const handle, int materialId);
1226 NEWTON_API void NewtonMeshMaterialGetIndexStream (const NewtonMesh* const mesh, void* const handle, int materialId, int* const index);
1227 NEWTON_API void NewtonMeshMaterialGetIndexStreamShort (const NewtonMesh* const mesh, void* const handle, int materialId, short int* const index);
1228
1229 NEWTON_API NewtonMesh* NewtonMeshCreateFirstSingleSegment (const NewtonMesh* const mesh);
1230 NEWTON_API NewtonMesh* NewtonMeshCreateNextSingleSegment (const NewtonMesh* const mesh, const NewtonMesh* const segment);
1231
1232 NEWTON_API NewtonMesh* NewtonMeshCreateFirstLayer (const NewtonMesh* const mesh);
1233 NEWTON_API NewtonMesh* NewtonMeshCreateNextLayer (const NewtonMesh* const mesh, const NewtonMesh* const segment);
1234
1235
1236 NEWTON_API int NewtonMeshGetTotalFaceCount (const NewtonMesh* const mesh);
1237 NEWTON_API int NewtonMeshGetTotalIndexCount (const NewtonMesh* const mesh);
1238 NEWTON_API void NewtonMeshGetFaces (const NewtonMesh* const mesh, int* const faceIndexCount, int* const faceMaterial, void** const faceIndices);
1239
1240
1241 NEWTON_API int NewtonMeshGetPointCount (const NewtonMesh* const mesh);
1242 NEWTON_API int NewtonMeshGetPointStrideInByte (const NewtonMesh* const mesh);
1243 NEWTON_API dFloat64* NewtonMeshGetPointArray (const NewtonMesh* const mesh);
1244 NEWTON_API dFloat64* NewtonMeshGetNormalArray (const NewtonMesh* const mesh);
1245 NEWTON_API dFloat64* NewtonMeshGetUV0Array (const NewtonMesh* const mesh);
1246 NEWTON_API dFloat64* NewtonMeshGetUV1Array (const NewtonMesh* const mesh);
1247
1248 NEWTON_API int NewtonMeshGetVertexCount (const NewtonMesh* const mesh);
1249 NEWTON_API int NewtonMeshGetVertexStrideInByte (const NewtonMesh* const mesh);
1250 NEWTON_API dFloat64* NewtonMeshGetVertexArray (const NewtonMesh* const mesh);
1251
1252
1253 NEWTON_API void* NewtonMeshGetFirstVertex (const NewtonMesh* const mesh);
1254 NEWTON_API void* NewtonMeshGetNextVertex (const NewtonMesh* const mesh, const void* const vertex);
1255 NEWTON_API int NewtonMeshGetVertexIndex (const NewtonMesh* const mesh, const void* const vertex);
1256
1257 NEWTON_API void* NewtonMeshGetFirstPoint (const NewtonMesh* const mesh);
1258 NEWTON_API void* NewtonMeshGetNextPoint (const NewtonMesh* const mesh, const void* const point);
1259 NEWTON_API int NewtonMeshGetPointIndex (const NewtonMesh* const mesh, const void* const point);
1260 NEWTON_API int NewtonMeshGetVertexIndexFromPoint (const NewtonMesh* const mesh, const void* const point);
1261
1262
1263 NEWTON_API void* NewtonMeshGetFirstEdge (const NewtonMesh* const mesh);
1264 NEWTON_API void* NewtonMeshGetNextEdge (const NewtonMesh* const mesh, const void* const edge);
1265 NEWTON_API void NewtonMeshGetEdgeIndices (const NewtonMesh* const mesh, const void* const edge, int* const v0, int* const v1);
1266 //NEWTON_API void NewtonMeshGetEdgePointIndices (const NewtonMesh* const mesh, const void* const edge, int* const v0, int* const v1);
1267
1268 NEWTON_API void* NewtonMeshGetFirstFace (const NewtonMesh* const mesh);
1269 NEWTON_API void* NewtonMeshGetNextFace (const NewtonMesh* const mesh, const void* const face);
1270 NEWTON_API int NewtonMeshIsFaceOpen (const NewtonMesh* const mesh, const void* const face);
1271 NEWTON_API int NewtonMeshGetFaceMaterial (const NewtonMesh* const mesh, const void* const face);
1272 NEWTON_API int NewtonMeshGetFaceIndexCount (const NewtonMesh* const mesh, const void* const face);
1273 NEWTON_API void NewtonMeshGetFaceIndices (const NewtonMesh* const mesh, const void* const face, int* const indices);
1274 NEWTON_API void NewtonMeshGetFacePointIndices (const NewtonMesh* const mesh, const void* const face, int* const indices);
1275 NEWTON_API void NewtonMeshCalculateFaceNormal (const NewtonMesh* const mesh, const void* const face, dFloat64* const normal);
1276
1277 NEWTON_API void NewtonMeshSetFaceMaterial (const NewtonMesh* const mesh, const void* const face, int matId);
1278
1279
1280 #ifdef __cplusplus
1281 }
1282 #endif
1283 #endif
1284
1285
1286
NewtonUniversalCalculateStopAlpha1
NEWTON_API dFloat NewtonUniversalCalculateStopAlpha1(const NewtonJoint *const universal, const NewtonHingeSliderUpdateDesc *const desc, dFloat angle)
Definition: Newton.cpp:7051
NewtonSceneCollisionBeginAddRemove
NEWTON_API void NewtonSceneCollisionBeginAddRemove(NewtonCollision *const sceneCollision)
Definition: Newton.cpp:3625
NewtonBallCallback
void(* NewtonBallCallback)(const NewtonJoint *const ball, dFloat timestep)
Definition: Newton.h:406
NewtonFracturedCompoundPlaneClip
NEWTON_API NewtonCollision * NewtonFracturedCompoundPlaneClip(const NewtonCollision *const fracturedCompound, const dFloat *const plane)
Definition: Newton.cpp:2805
NewtonMeshApplySphericalMapping
NEWTON_API void NewtonMeshApplySphericalMapping(const NewtonMesh *const mesh, int material)
Definition: Newton.cpp:7905
NewtonConstraintCreateSlider
NEWTON_API NewtonJoint * NewtonConstraintCreateSlider(const NewtonWorld *const newtonWorld, const dFloat *pivotPoint, const dFloat *pinDir, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:6520
NewtonWorldCollide
NEWTON_API int NewtonWorldCollide(const NewtonWorld *const newtonWorld, const dFloat *const matrix, const NewtonCollision *const shape, void *const userData, NewtonWorldRayPrefilterCallback prefilter, NewtonWorldConvexCastReturnInfo *const info, int maxContactsCount, int threadIndex)
Definition: Newton.cpp:1297
NewtonMeshIsFaceOpen
NEWTON_API int NewtonMeshIsFaceOpen(const NewtonMesh *const mesh, const void *const face)
Definition: Newton.cpp:8382
NewtonMeshGetEdgeIndices
NEWTON_API void NewtonMeshGetEdgeIndices(const NewtonMesh *const mesh, const void *const edge, int *const v0, int *const v1)
Definition: Newton.cpp:8358
NewtonSetMemorySystem
NEWTON_API void NewtonSetMemorySystem(NewtonAllocMemory malloc, NewtonFreeMemory free)
Definition: Newton.cpp:124
NewtonMeshPolygonize
NEWTON_API void NewtonMeshPolygonize(const NewtonMesh *const mesh)
Definition: Newton.cpp:7932
NewtonMaterialGetBodyCollidingShape
NEWTON_API NewtonCollision * NewtonMaterialGetBodyCollidingShape(const NewtonMaterial *const material, const NewtonBody *const body)
Definition: Newton.cpp:2058
NewtonCollisionTreeParam
Definition: Newton.h:206
NewtonUserMeshCollisionCollideDesc::m_faceCount
int m_faceCount
Definition: Newton.h:284
NewtonUserJointAddGeneralRow
NEWTON_API void NewtonUserJointAddGeneralRow(const NewtonJoint *const joint, const dFloat *const jacobian0, const dFloat *const jacobian1)
Definition: Newton.cpp:7309
NewtonBodyGetCollision
NEWTON_API NewtonCollision * NewtonBodyGetCollision(const NewtonBody *const body)
Definition: Newton.cpp:5615
dFloat
#define dFloat
Definition: Newton.h:67
NewtonHingeGetJointAngle
NEWTON_API dFloat NewtonHingeGetJointAngle(const NewtonJoint *const hinge)
Definition: Newton.cpp:6423
NewtonConvexHullParam::m_vertexCount
int m_vertexCount
Definition: Newton.h:195
NewtonMeshUnion
NEWTON_API NewtonMesh * NewtonMeshUnion(const NewtonMesh *const mesh, const NewtonMesh *const clipper, const dFloat *const clipperMatrix)
Definition: Newton.cpp:7978
NewtonTaperedCapsuleParam::m_height
dFloat m_height
Definition: Newton.h:176
NewtonCollisionSetUserData
NEWTON_API void NewtonCollisionSetUserData(const NewtonCollision *const collision, void *const userData)
Definition: Newton.cpp:4091
NewtonCorkscrewCalculateStopAccel
NEWTON_API dFloat NewtonCorkscrewCalculateStopAccel(const NewtonJoint *const corkscrew, const NewtonHingeSliderUpdateDesc *const desc, dFloat position)
Definition: Newton.cpp:6827
NewtonMeshCreateNextSingleSegment
NEWTON_API NewtonMesh * NewtonMeshCreateNextSingleSegment(const NewtonMesh *const mesh, const NewtonMesh *const segment)
Definition: Newton.cpp:8247
NewtonDeserializeCallback
void(* NewtonDeserializeCallback)(void *const serializeHandle, void *const buffer, int size)
Definition: Newton.h:354
NewtonBodyGetAutoSleep
NEWTON_API int NewtonBodyGetAutoSleep(const NewtonBody *const body)
Definition: Newton.cpp:5846
NewtonWorldGetConstraintCount
NEWTON_API int NewtonWorldGetConstraintCount(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1181
NewtonMeshIntersection
NEWTON_API NewtonMesh * NewtonMeshIntersection(const NewtonMesh *const mesh, const NewtonMesh *const clipper, const dFloat *const clipperMatrix)
Definition: Newton.cpp:7991
NewtonJointSetUserData
NEWTON_API void NewtonJointSetUserData(const NewtonJoint *const joint, void *const userData)
Definition: Newton.cpp:7488
NewtonBodySetTransformCallback
NEWTON_API void NewtonBodySetTransformCallback(const NewtonBody *const body, NewtonSetTransform callback)
Definition: Newton.cpp:4698
NewtonCreateTaperedCapsule
NEWTON_API NewtonCollision * NewtonCreateTaperedCapsule(const NewtonWorld *const newtonWorld, dFloat radio0, dFloat radio1, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2494
NewtonMeshGetNextFace
NEWTON_API void * NewtonMeshGetNextFace(const NewtonMesh *const mesh, const void *const face)
Definition: Newton.cpp:8376
NewtonCorkscrewGetJointVeloc
NEWTON_API dFloat NewtonCorkscrewGetJointVeloc(const NewtonJoint *const corkscrew)
Definition: Newton.cpp:6738
NewtonTreeCollisionCallback
void(* NewtonTreeCollisionCallback)(const NewtonBody *const bodyWithTreeCollision, const NewtonBody *const body, int faceID, int vertexCount, const dFloat *const vertex, int vertexStrideInBytes)
Definition: Newton.h:381
NewtonMeshCalculateVertexNormals
NEWTON_API void NewtonMeshCalculateVertexNormals(const NewtonMesh *const mesh, dFloat angleInRadians)
Definition: Newton.cpp:7891
NewtonReadThreadPerformanceTicks
NEWTON_API unsigned NewtonReadThreadPerformanceTicks(const NewtonWorld *newtonWorld, unsigned threadIndex)
Definition: Newton.cpp:673
NewtonUserJointSetRowMaximumFriction
NEWTON_API void NewtonUserJointSetRowMaximumFriction(const NewtonJoint *const joint, dFloat friction)
Definition: Newton.cpp:7329
NewtonCollisionCalculateAABB
NEWTON_API void NewtonCollisionCalculateAABB(const NewtonCollision *const collision, const dFloat *const matrix, dFloat *const p0, dFloat *const p1)
Definition: Newton.cpp:3997
NewtonHeightFieldRayCastCallback
dFloat(* NewtonHeightFieldRayCastCallback)(const NewtonBody *const body, const NewtonCollision *const heightFieldCollision, dFloat intersection, int row, int col, dFloat *const normal, int faceId, void *const usedData)
Definition: Newton.h:375
NewtonMeshMaterialGetIndexStream
NEWTON_API void NewtonMeshMaterialGetIndexStream(const NewtonMesh *const mesh, void *const handle, int materialId, int *const index)
Definition: Newton.cpp:8214
NewtonTreeCollisionEndBuild
NEWTON_API void NewtonTreeCollisionEndBuild(const NewtonCollision *const treeCollision, int optimize)
Definition: Newton.cpp:3453
NewtonConvexHullParam
Definition: Newton.h:193
NewtonDeformableMeshSetSkinThickness
NEWTON_API void NewtonDeformableMeshSetSkinThickness(NewtonCollision *const deformableMesh, dFloat skinThickness)
Definition: Newton.cpp:8523
NewtonHeightFieldSetUserRayCastCallback
NEWTON_API void NewtonHeightFieldSetUserRayCastCallback(const NewtonCollision *const heightfieldCollision, NewtonHeightFieldRayCastCallback rayHitCallback)
Definition: Newton.cpp:3379
NewtonUserMeshCollisionCollideDesc::m_polySoupBody
NewtonBody * m_polySoupBody
Definition: Newton.h:290
NewtonCylinderParam::m_radio
dFloat m_radio
Definition: Newton.h:156
NewtonMaterialGetContactFaceAttribute
NEWTON_API unsigned NewtonMaterialGetContactFaceAttribute(const NewtonMaterial *const material)
Definition: Newton.cpp:1830
NewtonWorldSetCollisionConstructorDestructorCallback
NEWTON_API void NewtonWorldSetCollisionConstructorDestructorCallback(const NewtonWorld *const newtonWorld, NewtonCollisionCopyConstructionCallback constructor, NewtonCollisionDestructorCallback destructor)
Definition: Newton.cpp:1094
NewtonUniversalCalculateStopAlpha0
NEWTON_API dFloat NewtonUniversalCalculateStopAlpha0(const NewtonJoint *const universal, const NewtonHingeSliderUpdateDesc *const desc, dFloat angle)
Definition: Newton.cpp:7029
NewtonUserMeshCollisionGetFacesInAABB
int(* NewtonUserMeshCollisionGetFacesInAABB)(void *const userData, const dFloat *const p0, const dFloat *const p1, const dFloat **const vertexArray, int *const vertexCount, int *const vertexStrideInBytes, const int *const indexList, int maxIndexCount, const int *const userDataList)
Definition: Newton.h:367
NewtonSceneCollisionSetSubCollisionMatrix
NEWTON_API void NewtonSceneCollisionSetSubCollisionMatrix(NewtonCollision *const sceneCollision, const void *const collisionNode, const dFloat *const matrix)
Definition: Newton.cpp:3638
NewtonCollisionInfoRecord
struct NewtonCollisionInfoRecord NewtonCollisionInfoRecord
NewtonBodySetTorque
NEWTON_API void NewtonBodySetTorque(const NewtonBody *const body, const dFloat *const torque)
Definition: Newton.cpp:5183
NewtonWorldDestroyListenerCallback
void(* NewtonWorldDestroyListenerCallback)(const NewtonWorld *const world, void *const listenerUserData)
Definition: Newton.h:349
NewtonDeformableMeshGetParticleCount
NEWTON_API int NewtonDeformableMeshGetParticleCount(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8469
NewtonSerializeToFile
NEWTON_API void NewtonSerializeToFile(const NewtonWorld *const newtonWorld, const char *const filename)
Definition: Newton.cpp:262
NewtonMaterialSetCompoundCollisionCallback
NEWTON_API void NewtonMaterialSetCompoundCollisionCallback(const NewtonWorld *const newtonWorld, int id0, int id1, NewtonOnCompoundSubCollisionAABBOverlap compoundAabbOverlap)
Definition: Newton.cpp:1710
NewtonMeshGetVertexArray
NEWTON_API dFloat64 * NewtonMeshGetVertexArray(const NewtonMesh *const mesh)
Definition: Newton.cpp:8069
NewtonWorldListenerBodyDestroyCallback
void(* NewtonWorldListenerBodyDestroyCallback)(const NewtonWorld *const world, void *const listenerUserData, NewtonBody *const body)
Definition: Newton.h:347
NewtonSetEulerAngle
NEWTON_API void NewtonSetEulerAngle(const dFloat *const eulersAngles, dFloat *const matrix)
Definition: Newton.cpp:4366
NewtonBodySetMatrixRecursive
NEWTON_API void NewtonBodySetMatrixRecursive(const NewtonBody *const body, const dFloat *const matrix)
Definition: Newton.cpp:4990
NewtonBodyGetAABB
NEWTON_API void NewtonBodyGetAABB(const NewtonBody *const body, dFloat *const p0, dFloat *const p1)
Definition: Newton.cpp:5887
NewtonMaterialSetContactNormalAcceleration
NEWTON_API void NewtonMaterialSetContactNormalAcceleration(const NewtonMaterial *const material, dFloat accel)
Definition: Newton.cpp:2200
NewtonMeshSetFaceMaterial
NEWTON_API void NewtonMeshSetFaceMaterial(const NewtonMesh *const mesh, const void *const face, int matId)
Definition: Newton.cpp:8400
NewtonHingeSliderUpdateDesc
struct NewtonHingeSliderUpdateDesc NewtonHingeSliderUpdateDesc
NewtonDeformableMeshGetFirstSegment
NEWTON_API NewtonDeformableMeshSegment * NewtonDeformableMeshGetFirstSegment(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8594
NewtonMaterialSetContactElasticity
NEWTON_API void NewtonMaterialSetContactElasticity(const NewtonMaterial *const material, dFloat restitution)
Definition: Newton.cpp:2102
NewtonConstraintCreateBall
NEWTON_API NewtonJoint * NewtonConstraintCreateBall(const NewtonWorld *const newtonWorld, const dFloat *pivotPoint, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:6198
NewtonBodyDestructor
void(* NewtonBodyDestructor)(const NewtonBody *const body)
Definition: Newton.h:384
NewtonBoxParam::m_z
dFloat m_z
Definition: Newton.h:146
NewtonBodySetLinearDamping
NEWTON_API void NewtonBodySetLinearDamping(const NewtonBody *const body, dFloat linearDamp)
Definition: Newton.cpp:6007
NewtonHingeSetUserCallback
NEWTON_API void NewtonHingeSetUserCallback(const NewtonJoint *const hinge, NewtonHingeCallback callback)
Definition: Newton.cpp:6401
NewtonConvexCollisionCalculateVolume
NEWTON_API dFloat NewtonConvexCollisionCalculateVolume(const NewtonCollision *const convexCollision)
Definition: Newton.cpp:3104
NewtonUserBilateralGetInfoCallback
void(* NewtonUserBilateralGetInfoCallback)(const NewtonJoint *const userJoint, NewtonJointRecord *const info)
Definition: Newton.h:413
NewtonOnCompoundSubCollisionAABBOverlap
int(* NewtonOnCompoundSubCollisionAABBOverlap)(const NewtonMaterial *const material, const NewtonBody *const body0, const void *const collsionNode0, const NewtonBody *const body1, const void *const collsionNode1, int threadIndex)
Definition: Newton.h:400
NewtonWorldGetDestructorCallback
NEWTON_API NewtonWorldDestructorCallback NewtonWorldGetDestructorCallback(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1086
NewtonUserJointSetRowMinimumFriction
NEWTON_API void NewtonUserJointSetRowMinimumFriction(const NewtonJoint *const joint, dFloat friction)
Definition: Newton.cpp:7348
NewtonUserMeshCollisionDestroyCallback
void(* NewtonUserMeshCollisionDestroyCallback)(void *const userData)
Definition: Newton.h:363
NewtonCreateDeformableBody
NEWTON_API NewtonBody * NewtonCreateDeformableBody(const NewtonWorld *const newtonWorld, const NewtonCollision *const deformableMesh, const dFloat *const matrix)
Definition: Newton.cpp:4488
NewtonSphereParam
Definition: Newton.h:149
NewtonMaterialGetMaterialPairUserData
NEWTON_API void * NewtonMaterialGetMaterialPairUserData(const NewtonMaterial *const material)
Definition: Newton.cpp:1810
NewtonContactJointGetFirstContact
NEWTON_API void * NewtonContactJointGetFirstContact(const NewtonJoint *const contactJoint)
Definition: Newton.cpp:5446
NewtonMeshMaterialGetIndexStreamShort
NEWTON_API void NewtonMeshMaterialGetIndexStreamShort(const NewtonMesh *const mesh, void *const handle, int materialId, short int *const index)
Definition: Newton.cpp:8222
NewtonClothPatchMaterial
Definition: Newton.h:333
NewtonWorldGetPreListener
NEWTON_API void * NewtonWorldGetPreListener(const NewtonWorld *const newtonWorld, const char *const nameId)
Definition: Newton.cpp:1131
NewtonDeformableMeshParam
struct NewtonDeformableMeshParam NewtonDeformableMeshParam
NewtonTaperedCylinderParam
Definition: Newton.h:180
NewtonConeParam
Definition: Newton.h:166
NewtonCompoundCollisionGetCollisionFromNode
NEWTON_API NewtonCollision * NewtonCompoundCollisionGetCollisionFromNode(NewtonCollision *const compoundCollision, const void *const collisionNode)
Definition: Newton.cpp:2729
NewtonUserMeshCollisionRayHitCallback
dFloat(* NewtonUserMeshCollisionRayHitCallback)(NewtonUserMeshCollisionRayHitDesc *const lineDescData)
Definition: Newton.h:364
NewtonAtomicSwap
NEWTON_API int NewtonAtomicSwap(int *const ptr, int value)
Definition: Newton.cpp:350
NewtonChamferCylinderParam::m_height
dFloat m_height
Definition: Newton.h:190
NewtonWorldSetCollisionConstructorDestuctorCallback
NEWTON_DEPRECATED_API void NewtonWorldSetCollisionConstructorDestuctorCallback(const NewtonWorld *const newtonWorld, NewtonCollisionCopyConstructionCallback constructor, NewtonCollisionDestructorCallback destructor)
Definition: Newton.h:517
NewtonUniversalCallback
unsigned(* NewtonUniversalCallback)(const NewtonJoint *const universal, NewtonHingeSliderUpdateDesc *const desc)
Definition: Newton.h:409
NewtonCollisionIntersectionTest
NEWTON_API int NewtonCollisionIntersectionTest(const NewtonWorld *const newtonWorld, const NewtonCollision *const collisionA, const dFloat *const matrixA, const NewtonCollision *const collisionB, const dFloat *const matrixB, int threadIndex)
Definition: Newton.cpp:3804
NewtonHingeCalculateStopAlpha
NEWTON_API dFloat NewtonHingeCalculateStopAlpha(const NewtonJoint *const hinge, const NewtonHingeSliderUpdateDesc *const desc, dFloat angle)
Definition: Newton.cpp:6467
NewtonMaterialGetContactForce
NEWTON_API void NewtonMaterialGetContactForce(const NewtonMaterial *const material, const NewtonBody *const body, dFloat *const force)
Definition: Newton.cpp:1996
NewtonTreeCollisionSetUserRayCastCallback
NEWTON_API void NewtonTreeCollisionSetUserRayCastCallback(const NewtonCollision *const treeCollision, NewtonCollisionTreeRayCastCallback rayHitCallback)
Definition: Newton.cpp:3367
NewtonMeshGetFirstEdge
NEWTON_API void * NewtonMeshGetFirstEdge(const NewtonMesh *const mesh)
Definition: Newton.cpp:8346
NewtonFracturedCompoundCollisionGetVertexNormals
NEWTON_API const dFloat * NewtonFracturedCompoundCollisionGetVertexNormals(const NewtonCollision *const fracturedCompound, const NewtonFracturedCompoundMeshPart *const meshOwner)
Definition: Newton.cpp:2930
NewtonWorldGetUserData
NEWTON_API void * NewtonWorldGetUserData(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1052
NewtonCollisionGetScale
NEWTON_API void NewtonCollisionGetScale(const NewtonCollision *const collision, dFloat *const scaleX, dFloat *const scaleY, dFloat *const scaleZ)
Definition: Newton.cpp:4144
NewtonFracturedCompoundSetCallbacks
NEWTON_API void NewtonFracturedCompoundSetCallbacks(const NewtonCollision *const fracturedCompound, NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback, NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound, NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk)
Definition: Newton.cpp:2823
NewtonUserMeshCollisionAABBTest
int(* NewtonUserMeshCollisionAABBTest)(void *const userData, const dFloat *const boxP0, const dFloat *const boxP1)
Definition: Newton.h:366
NewtonMeshSimplify
NEWTON_API NewtonMesh * NewtonMeshSimplify(const NewtonMesh *const mesh, int maxVertexCount, NewtonReportProgress reportPrograssCallback, void *const reportPrgressUserData)
Definition: Newton.cpp:7964
userData
void *const userData
Definition: dgBroadPhase.h:35
NewtonGetMemoryUsed
NEWTON_API int NewtonGetMemoryUsed()
Definition: Newton.cpp:112
NewtonUserMeshCollisionCollideDesc::m_vertex
dFloat * m_vertex
Definition: Newton.h:294
NewtonWorldForEachJointDo
NEWTON_API void NewtonWorldForEachJointDo(const NewtonWorld *const newtonWorld, NewtonJointIterator callback, void *const userData)
Definition: Newton.cpp:938
NewtonBallGetJointOmega
NEWTON_API void NewtonBallGetJointOmega(const NewtonJoint *const ball, dFloat *omega)
Definition: Newton.cpp:6318
NewtonJointGetBody1
NEWTON_API NewtonBody * NewtonJointGetBody1(const NewtonJoint *const joint)
Definition: Newton.cpp:7608
NewtonCreateNull
NEWTON_API NewtonCollision * NewtonCreateNull(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:2332
NewtonWorldSetDestructorCallback
NEWTON_API void NewtonWorldSetDestructorCallback(const NewtonWorld *const newtonWorld, NewtonWorldDestructorCallback destructor)
Definition: Newton.cpp:1069
NewtonContactsProcess
void(* NewtonContactsProcess)(const NewtonJoint *const contact, dFloat timestep, int threadIndex)
Definition: Newton.h:398
NewtonContactGetCollisionID1
NEWTON_API void * NewtonContactGetCollisionID1(const void *const contact)
Definition: Newton.cpp:5547
NewtonFracturedCompoundMeshPartGetMaterial
NEWTON_API int NewtonFracturedCompoundMeshPartGetMaterial(const void *const fractureCompoundMeshSegment)
Definition: Newton.cpp:2984
NewtonWorldAddPostListener
NEWTON_API void * NewtonWorldAddPostListener(const NewtonWorld *const newtonWorld, const char *const nameId, void *const listenerUserData, NewtonWorldUpdateListenerCallback update, NewtonWorldDestroyListenerCallback destroy)
Definition: Newton.cpp:1138
NewtonClothPatchMaterial::m_damper
dFloat m_damper
Definition: Newton.h:335
NewtonFractureCompoundCollisionOnEmitChunk
void(* NewtonFractureCompoundCollisionOnEmitChunk)(NewtonBody *const chunkBody, NewtonFracturedCompoundMeshPart *const fracturexChunkMesh, const NewtonCollision *const fracturedCompountCollision)
Definition: Newton.h:391
NewtonCollisionInfoRecord::m_box
NewtonBoxParam m_box
Definition: Newton.h:245
NewtonBodyGetDestructorCallback
NEWTON_API NewtonBodyDestructor NewtonBodyGetDestructorCallback(const NewtonBody *const body)
Definition: Newton.cpp:4806
NewtonCreateFracturedCompoundCollision
NEWTON_API NewtonCollision * NewtonCreateFracturedCompoundCollision(const NewtonWorld *const newtonWorld, const NewtonMesh *const solidMesh, int shapeID, int fracturePhysicsMaterialID, int pointcloudCount, const dFloat *const vertexCloud, int strideInBytes, int materialID, const dFloat *const textureMatrix, NewtonFractureCompoundCollisionReconstructMainMeshCallBack regenerateMainMeshCallback, NewtonFractureCompoundCollisionOnEmitCompoundFractured emitFracturedCompound, NewtonFractureCompoundCollisionOnEmitChunk emitFracfuredChunk)
Definition: Newton.cpp:2788
NewtonContactGetCollision1
NEWTON_API NewtonCollision * NewtonContactGetCollision1(const void *const contact)
Definition: Newton.cpp:5529
void
typedef void(dgApi *ConstraintsForceFeeback)(const dgConstraint &me
NewtonYield
NEWTON_API void NewtonYield()
Definition: Newton.cpp:362
NewtonBoxParam::m_y
dFloat m_y
Definition: Newton.h:145
NewtonWorldDestructorCallback
void(* NewtonWorldDestructorCallback)(const NewtonWorld *const world)
Definition: Newton.h:345
NewtonFracturedCompoundIsNodeFreeToDetach
NEWTON_API int NewtonFracturedCompoundIsNodeFreeToDetach(const NewtonCollision *const fracturedCompound, void *const collisionNode)
Definition: Newton.cpp:2850
NewtonWorldCriticalSectionLock
NEWTON_API void NewtonWorldCriticalSectionLock(const NewtonWorld *const newtonWorld, int threadIndex)
Definition: Newton.cpp:341
NewtonBodyGetSimulationState
NEWTON_API int NewtonBodyGetSimulationState(const NewtonBody *const body)
Definition: Newton.cpp:4554
NewtonCreateUserMeshCollision
NEWTON_API NewtonCollision * NewtonCreateUserMeshCollision(const NewtonWorld *const newtonWorld, const dFloat *const minBox, const dFloat *const maxBox, void *const userData, NewtonUserMeshCollisionCollideCallback collideCallback, NewtonUserMeshCollisionRayHitCallback rayHitCallback, NewtonUserMeshCollisionDestroyCallback destroyCallback, NewtonUserMeshCollisionGetCollisionInfo getInfoCallback, NewtonUserMeshCollisionAABBTest getLocalAABBCallback, NewtonUserMeshCollisionGetFacesInAABB facesInAABBCallback, NewtonOnUserCollisionSerializationCallback serializeCallback, int shapeID)
Definition: Newton.cpp:3226
NewtonUserMeshCollisionCollideDesc::m_faceIndexCount
int * m_faceIndexCount
Definition: Newton.h:295
NewtonMeshCreateFromSerialization
NEWTON_API NewtonMesh * NewtonMeshCreateFromSerialization(const NewtonWorld *const newtonWorld, NewtonDeserializeCallback deserializeFunction, void *const serializeHandle)
Definition: Newton.cpp:7830
NewtonTaperedCapsuleParam::m_radio1
dFloat m_radio1
Definition: Newton.h:175
NewtonTreeCollisionGetFaceAtribute
NEWTON_DEPRECATED_API int NewtonTreeCollisionGetFaceAtribute(const NewtonCollision *const treeCollision, const int *const faceIndexArray, int indexCount)
Definition: Newton.h:770
NewtonIslandGetBody
NEWTON_API NewtonBody * NewtonIslandGetBody(const void *const island, int bodyIndex)
Definition: Newton.cpp:1329
NewtonWorldFloatSize
NEWTON_API int NewtonWorldFloatSize()
Definition: Newton.cpp:1013
NewtonWorldGetListenerUserData
NEWTON_API void * NewtonWorldGetListenerUserData(const NewtonWorld *const newtonWorld, void *const listener)
Definition: Newton.cpp:1102
NewtonCollisionInfoRecord::m_taperedCapsule
NewtonTaperedCapsuleParam m_taperedCapsule
Definition: Newton.h:250
NewtonCylinderParam::m_height
dFloat m_height
Definition: Newton.h:157
NewtonMeshCreateDelaunayTetrahedralization
NEWTON_API NewtonMesh * NewtonMeshCreateDelaunayTetrahedralization(const NewtonWorld *const newtonWorld, int pointCount, const dFloat *const vertexCloud, int strideInBytes, int materialID, const dFloat *const textureMatrix)
Definition: Newton.cpp:7816
NewtonMaterialSetContactFrictionCoef
NEWTON_API void NewtonMaterialSetContactFrictionCoef(const NewtonMaterial *const material, dFloat staticFrictionCoef, dFloat kineticFrictionCoef, int index)
Definition: Newton.cpp:2168
NewtonCorkscrewSetUserCallback
NEWTON_API void NewtonCorkscrewSetUserCallback(const NewtonJoint *const corkscrew, NewtonCorkscrewCallback callback)
Definition: Newton.cpp:6696
NewtonHeightFieldCollisionParam
struct NewtonHeightFieldCollisionParam NewtonHeightFieldCollisionParam
NewtonCollisionSupportVertex
NEWTON_API void NewtonCollisionSupportVertex(const NewtonCollision *const collision, const dFloat *const dir, dFloat *const vertex)
Definition: Newton.cpp:3923
NewtonMeshGetIndirectVertexStreams
NEWTON_API void NewtonMeshGetIndirectVertexStreams(const NewtonMesh *const mesh, int vertexStrideInByte, dFloat *const vertex, int *const vertexIndices, int *const vertexCount, int normalStrideInByte, dFloat *const normal, int *const normalIndices, int *const normalCount, int uvStrideInByte0, dFloat *const uv0, int *const uvIndices0, int *const uvCount0, int uvStrideInByte1, dFloat *const uv1, int *const uvIndices1, int *const uvCount1)
Definition: Newton.cpp:8145
NewtonMaterialGetContactMaxNormalImpact
NEWTON_API dFloat NewtonMaterialGetContactMaxNormalImpact(const NewtonMaterial *const material)
Definition: Newton.cpp:1929
NewtonUserMeshCollisionCollideDesc::m_polySoupCollision
NewtonCollision * m_polySoupCollision
Definition: Newton.h:292
NewtonGetEulerAngle
NEWTON_API void NewtonGetEulerAngle(const dFloat *const matrix, dFloat *const eulersAngles0, dFloat *const eulersAngles1)
Definition: Newton.cpp:4329
NewtonDestroy
NEWTON_API void NewtonDestroy(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:196
NewtonClothPatchMaterial
struct NewtonClothPatchMaterial NewtonClothPatchMaterial
NewtonUserMeshCollisionCollideDesc::m_userData
void * m_userData
Definition: Newton.h:287
NewtonFracturedCompoundMeshPartGetIndexStream
NEWTON_API int NewtonFracturedCompoundMeshPartGetIndexStream(const NewtonCollision *const fracturedCompound, const NewtonFracturedCompoundMeshPart *const meshOwner, const void *const segment, int *const index)
Definition: Newton.cpp:2956
NewtonGetMaxThreadsCount
NEWTON_API int NewtonGetMaxThreadsCount(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:463
NewtonFractureCompoundCollisionOnEmitCompoundFractured
void(* NewtonFractureCompoundCollisionOnEmitCompoundFractured)(NewtonBody *const fracturedBody)
Definition: Newton.h:390
NewtonCollisionInfoRecord::m_compoundCollision
NewtonCompoundCollisionParam m_compoundCollision
Definition: Newton.h:255
NewtonHeightFieldCollisionParam
Definition: Newton.h:221
NewtonCylinderParam
Definition: Newton.h:154
NewtonBodySetForce
NEWTON_API void NewtonBodySetForce(const NewtonBody *const body, const dFloat *const force)
Definition: Newton.cpp:5066
NewtonCompoundCollisionRemoveSubCollisionByIndex
NEWTON_API void NewtonCompoundCollisionRemoveSubCollisionByIndex(NewtonCollision *const compoundCollision, int nodeIndex)
Definition: Newton.cpp:2641
NewtonMeshGetFaceMaterial
NEWTON_API int NewtonMeshGetFaceMaterial(const NewtonMesh *const mesh, const void *const face)
Definition: Newton.cpp:8394
NewtonJointGetUserData
NEWTON_API void * NewtonJointGetUserData(const NewtonJoint *const joint)
Definition: Newton.cpp:7507
NewtonMaterialSetDefaultSoftness
NEWTON_API void NewtonMaterialSetDefaultSoftness(const NewtonWorld *const newtonWorld, int id0, int id1, dFloat value)
Definition: Newton.cpp:1624
NewtonCollisionInfoRecord::m_collisionType
int m_collisionType
Definition: Newton.h:241
NewtonDeformableMeshParam
Definition: Newton.h:212
NewtonSetTransform
void(* NewtonSetTransform)(const NewtonBody *const body, const dFloat *const matrix, int threadIndex)
Definition: Newton.h:386
NewtonConstraintCreateUpVector
NEWTON_API NewtonJoint * NewtonConstraintCreateUpVector(const NewtonWorld *const newtonWorld, const dFloat *pinDir, const NewtonBody *const body)
Definition: Newton.cpp:7110
NewtonCapsuleParam::m_radio
dFloat m_radio
Definition: Newton.h:162
NewtonCollisionPointDistance
NEWTON_API int NewtonCollisionPointDistance(const NewtonWorld *const newtonWorld, const dFloat *const point, const NewtonCollision *const collision, const dFloat *const matrix, dFloat *const contact, dFloat *const normal, int threadIndex)
Definition: Newton.cpp:3753
NewtonBodyGetTransformCallback
NEWTON_API NewtonSetTransform NewtonBodyGetTransformCallback(const NewtonBody *const body)
Definition: Newton.cpp:4722
NewtonSceneCollisionEndAddRemove
NEWTON_API void NewtonSceneCollisionEndAddRemove(NewtonCollision *const sceneCollision)
Definition: Newton.cpp:3631
NewtonSceneCollisionRemoveSubCollision
NEWTON_API void NewtonSceneCollisionRemoveSubCollision(NewtonCollision *const compoundCollision, const void *const collisionNode)
Definition: Newton.cpp:3658
NewtonSerializeCallback
void(* NewtonSerializeCallback)(void *const serializeHandle, const void *const buffer, int size)
Definition: Newton.h:353
NewtonBodyIntegrateVelocity
NEWTON_API void NewtonBodyIntegrateVelocity(const NewtonBody *const body, dFloat timestep)
Definition: Newton.cpp:6170
NewtonDeformableMeshSegment
struct NewtonDeformableMeshSegment NewtonDeformableMeshSegment
NewtonUserMeshCollisionCollideDesc::m_vertexStrideInBytes
int m_vertexStrideInBytes
Definition: Newton.h:285
NewtonGetThreadsCount
NEWTON_API int NewtonGetThreadsCount(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:441
NewtonMaterialGetContactTangentSpeed
NEWTON_API dFloat NewtonMaterialGetContactTangentSpeed(const NewtonMaterial *const material, int index)
Definition: Newton.cpp:1908
NewtonMeshGetFirstFace
NEWTON_API void * NewtonMeshGetFirstFace(const NewtonMesh *const mesh)
Definition: Newton.cpp:8370
NewtonCollisionForEachPolygonDo
NEWTON_API void NewtonCollisionForEachPolygonDo(const NewtonCollision *const collision, const dFloat *const matrix, NewtonCollisionIterator callback, void *const userData)
Definition: Newton.cpp:4038
NewtonMesh
struct NewtonMesh NewtonMesh
NewtonBodySetJointRecursiveCollision
NEWTON_API void NewtonBodySetJointRecursiveCollision(const NewtonBody *const body, unsigned state)
Definition: Newton.cpp:5741
NewtonHeightFieldCollisionParam::m_elevation
void * m_elevation
Definition: Newton.h:229
NewtonTaperedCylinderParam
struct NewtonTaperedCylinderParam NewtonTaperedCylinderParam
NewtonFreeMemory
void(* NewtonFreeMemory)(void *const ptr, int sizeInBytes)
Definition: Newton.h:342
NewtonCreateTreeCollisionFromMesh
NEWTON_API NewtonCollision * NewtonCreateTreeCollisionFromMesh(const NewtonWorld *const newtonWorld, const NewtonMesh *const mesh, int shapeID)
Definition: Newton.cpp:3309
NewtonJoint
Definition: Newton.h:134
dFloat
float dFloat
Definition: dMathDefines.h:27
NewtonCompoundCollisionBeginAddRemove
NEWTON_API void NewtonCompoundCollisionBeginAddRemove(NewtonCollision *const compoundCollision)
Definition: Newton.cpp:2663
NewtonUserMeshCollisionCollideDesc::m_objCollision
NewtonCollision * m_objCollision
Definition: Newton.h:291
NewtonUserMeshCollisionCollideDesc::m_skinThickness
dFloat m_skinThickness
Definition: Newton.h:286
NewtonBodyEnableSimulation
NEWTON_DEPRECATED_API void NewtonBodyEnableSimulation(const NewtonBody *const body)
Definition: Newton.cpp:4529
NewtonMeshMaterialGetIndexCount
NEWTON_API int NewtonMeshMaterialGetIndexCount(const NewtonMesh *const mesh, void *const handle, int materialId)
Definition: Newton.cpp:8206
NewtonCreateConvexHullFromMesh
NEWTON_API NewtonCollision * NewtonCreateConvexHullFromMesh(const NewtonWorld *const newtonWorld, const NewtonMesh *const mesh, dFloat tolerance, int shapeID)
Definition: Newton.cpp:2581
NewtonMeshGetUV0Array
NEWTON_API dFloat64 * NewtonMeshGetUV0Array(const NewtonMesh *const mesh)
Definition: Newton.cpp:8113
NewtonUpdate
NEWTON_API void NewtonUpdate(const NewtonWorld *const newtonWorld, dFloat timestep)
Definition: Newton.cpp:700
NewtonBodyGetVelocity
NEWTON_API void NewtonBodyGetVelocity(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5933
NewtonCreateBox
NEWTON_API NewtonCollision * NewtonCreateBox(const NewtonWorld *const newtonWorld, dFloat dx, dFloat dy, dFloat dz, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2352
NewtonCapsuleParam::m_height
dFloat m_height
Definition: Newton.h:163
NewtonMaterial
struct NewtonMaterial NewtonMaterial
NewtonMaterialGetUserData
NEWTON_API void * NewtonMaterialGetUserData(const NewtonWorld *const newtonWorld, int id0, int id1)
Definition: Newton.cpp:1729
dLong
#define dLong
Definition: Newton.h:60
NewtonTreeCollisionSetFaceAttribute
NEWTON_API void NewtonTreeCollisionSetFaceAttribute(const NewtonCollision *const treeCollision, const int *const faceIndexArray, int indexCount, int attribute)
Definition: Newton.cpp:3501
NewtonCollisionInfoRecord::m_convexHull
NewtonConvexHullParam m_convexHull
Definition: Newton.h:253
NewtonMeshGetUV1Array
NEWTON_API dFloat64 * NewtonMeshGetUV1Array(const NewtonMesh *const mesh)
Definition: Newton.cpp:8121
NewtonMeshGetVertexStrideInByte
NEWTON_API int NewtonMeshGetVertexStrideInByte(const NewtonMesh *const mesh)
Definition: Newton.cpp:8061
NewtonMeshDestroy
NEWTON_API void NewtonMeshDestroy(const NewtonMesh *const mesh)
Definition: Newton.cpp:7837
NewtonCollisionGetInfo
NEWTON_API void NewtonCollisionGetInfo(const NewtonCollision *const collision, NewtonCollisionInfoRecord *const collisionInfo)
Definition: Newton.cpp:4293
NewtonMaterialSetContactTangentAcceleration
NEWTON_API void NewtonMaterialSetContactTangentAcceleration(const NewtonMaterial *const material, dFloat accel, int index)
Definition: Newton.cpp:2225
NewtonSceneCollisionGetNodeIndex
NEWTON_API int NewtonSceneCollisionGetNodeIndex(NewtonCollision *const sceneCollision, const void *const collisionNode)
Definition: Newton.cpp:3688
NewtonCollisionSetUserID
NEWTON_API void NewtonCollisionSetUserID(const NewtonCollision *const collision, unsigned id)
Definition: Newton.cpp:4065
NewtonDeformableMeshGetVertexCount
NEWTON_API int NewtonDeformableMeshGetVertexCount(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8561
NewtonCollisionInfoRecord
Definition: Newton.h:238
NewtonBodyCalculateInverseDynamicsForce
NEWTON_API void NewtonBodyCalculateInverseDynamicsForce(const NewtonBody *const body, dFloat timestep, const dFloat *const desiredVeloc, dFloat *const forceOut)
Definition: Newton.cpp:5159
NewtonCollisionGetUserData
NEWTON_API void * NewtonCollisionGetUserData(const NewtonCollision *const collision)
Definition: Newton.cpp:4098
NewtonWorldConvexCastReturnInfo::m_hitBody
const NewtonBody * m_hitBody
Definition: Newton.h:312
NewtonBodySetForceAndTorqueCallback
NEWTON_API void NewtonBodySetForceAndTorqueCallback(const NewtonBody *const body, NewtonApplyForceAndTorque callback)
Definition: Newton.cpp:4745
NewtonWorldGetNextBody
NEWTON_API NewtonBody * NewtonWorldGetNextBody(const NewtonWorld *const newtonWorld, const NewtonBody *const curBody)
Definition: Newton.cpp:905
NewtonMaterialGetContactPositionAndNormal
NEWTON_API void NewtonMaterialGetContactPositionAndNormal(const NewtonMaterial *const material, const NewtonBody *const body, dFloat *const posit, dFloat *const normal)
Definition: Newton.cpp:1958
NewtonMeshGetVertexCount
NEWTON_API int NewtonMeshGetVertexCount(const NewtonMesh *const mesh)
Definition: Newton.cpp:8052
NewtonBodyGetCollidable
NEWTON_API int NewtonBodyGetCollidable(const NewtonBody *const body)
Definition: Newton.cpp:4586
NEWTON_DEPRECATED_API
#define NEWTON_DEPRECATED_API
Definition: Newton.h:55
NewtonWorldSetUserData
NEWTON_API void NewtonWorldSetUserData(const NewtonWorld *const newtonWorld, void *const userData)
Definition: Newton.cpp:1033
NewtonCollisionInfoRecord::m_collisionTree
NewtonCollisionTreeParam m_collisionTree
Definition: Newton.h:256
NewtonMaterialCreateGroupID
NEWTON_API int NewtonMaterialCreateGroupID(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1408
NewtonBodyAddTorque
NEWTON_API void NewtonBodyAddTorque(const NewtonBody *const body, const dFloat *const torque)
Definition: Newton.cpp:5204
NewtonCollisionCollide
NEWTON_API int NewtonCollisionCollide(const NewtonWorld *const newtonWorld, int maxSize, const NewtonCollision *const collisionA, const dFloat *const matrixA, const NewtonCollision *const collisionB, const dFloat *const matrixB, dFloat *const contacts, dFloat *const normals, dFloat *const penetration, dLong *const attributeA, dLong *const attributeB, int threadIndex)
Definition: Newton.cpp:3840
NewtonCreateCompoundCollisionFromMesh
NEWTON_API NewtonCollision * NewtonCreateCompoundCollisionFromMesh(const NewtonWorld *const newtonWorld, const NewtonMesh *const mesh, dFloat hullTolerance, int shapeID, int subShapeID)
Definition: Newton.cpp:2764
NewtonWorldConvexCast
NEWTON_API int NewtonWorldConvexCast(const NewtonWorld *const newtonWorld, const dFloat *const matrix, const dFloat *const target, const NewtonCollision *const shape, dFloat *const hitParam, void *const userData, NewtonWorldRayPrefilterCallback prefilter, NewtonWorldConvexCastReturnInfo *const info, int maxContactsCount, int threadIndex)
Definition: Newton.cpp:1285
NewtonTreeCollisionSetFaceAtribute
NEWTON_DEPRECATED_API void NewtonTreeCollisionSetFaceAtribute(const NewtonCollision *const treeCollision, const int *const faceIndexArray, int indexCount, int attribute)
Definition: Newton.h:774
NewtonUpdateAsync
NEWTON_API void NewtonUpdateAsync(const NewtonWorld *const newtonWorld, dFloat timestep)
Definition: Newton.cpp:713
NewtonJobTask
void(* NewtonJobTask)(NewtonWorld *const world, void *const userData, int threadIndex)
Definition: Newton.h:417
NewtonWorldRayFilterCallback
dFloat(* NewtonWorldRayFilterCallback)(const NewtonBody *const body, const NewtonCollision *const shapeHit, const dFloat *const hitContact, const dFloat *const hitNormal, dLong collisionID, void *const userData, dFloat intersectParam)
Definition: Newton.h:395
NewtonHingeGetJointOmega
NEWTON_API dFloat NewtonHingeGetJointOmega(const NewtonJoint *const hinge)
Definition: Newton.cpp:6445
NewtonChamferCylinderParam::m_radio
dFloat m_radio
Definition: Newton.h:189
NewtonMeshGetPointArray
NEWTON_API dFloat64 * NewtonMeshGetPointArray(const NewtonMesh *const mesh)
Definition: Newton.cpp:8096
NewtonSceneCollisionGetCollisionFromNode
NEWTON_API NewtonCollision * NewtonSceneCollisionGetCollisionFromNode(NewtonCollision *const sceneCollision, const void *const collisionNode)
Definition: Newton.cpp:3695
NewtonSceneCollisionRemoveSubCollisionByIndex
NEWTON_API void NewtonSceneCollisionRemoveSubCollisionByIndex(NewtonCollision *const sceneCollision, int nodeIndex)
Definition: Newton.cpp:3671
NewtonWorldConvexRayCast
NEWTON_API void NewtonWorldConvexRayCast(const NewtonWorld *const newtonWorld, const NewtonCollision *const shape, const dFloat *const matrix, const dFloat *const p1, NewtonWorldRayFilterCallback filter, void *const userData, NewtonWorldRayPrefilterCallback prefilter, int threadIndex)
Definition: Newton.cpp:1236
NewtonUserMeshCollisionCollideDesc::m_threadNumber
int m_threadNumber
Definition: Newton.h:283
NewtonContactJointGetContactCount
NEWTON_API int NewtonContactJointGetContactCount(const NewtonJoint *const contactJoint)
Definition: Newton.cpp:5424
NewtonMaterialSetContactFrictionState
NEWTON_API void NewtonMaterialSetContactFrictionState(const NewtonMaterial *const material, int state, int index)
Definition: Newton.cpp:2126
NewtonSliderGetJointPosit
NEWTON_API dFloat NewtonSliderGetJointPosit(const NewtonJoint *slider)
Definition: Newton.cpp:6567
NewtonBodyGetContinuousCollisionMode
NEWTON_API int NewtonBodyGetContinuousCollisionMode(const NewtonBody *const body)
Definition: Newton.cpp:5715
NewtonCompoundCollisionSetSubCollisionMatrix
NEWTON_API void NewtonCompoundCollisionSetSubCollisionMatrix(NewtonCollision *const compoundCollision, const void *const collisionNode, const dFloat *const matrix)
Definition: Newton.cpp:2652
NewtonMaterialGetDefaultGroupID
NEWTON_API int NewtonMaterialGetDefaultGroupID(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1385
NewtonMeshSaveOFF
NEWTON_API void NewtonMeshSaveOFF(const NewtonMesh *const mesh, const char *const filename)
Definition: Newton.cpp:7851
NewtonCapsuleParam
struct NewtonCapsuleParam NewtonCapsuleParam
NewtonUserMeshCollisionGetCollisionInfo
void(* NewtonUserMeshCollisionGetCollisionInfo)(void *const userData, NewtonCollisionInfoRecord *const infoRecord)
Definition: Newton.h:365
NewtonBallGetJointForce
NEWTON_API void NewtonBallGetJointForce(const NewtonJoint *const ball, dFloat *const force)
Definition: Newton.cpp:6343
NewtonDeformableMeshGetNextSegment
NEWTON_API NewtonDeformableMeshSegment * NewtonDeformableMeshGetNextSegment(const NewtonCollision *const deformableMesh, const NewtonDeformableMeshSegment *const segment)
Definition: Newton.cpp:8605
NewtonBodySetOmega
NEWTON_API void NewtonBodySetOmega(const NewtonBody *const body, const dFloat *const omega)
Definition: Newton.cpp:5956
NewtonSetCurrentDevice
NEWTON_API void NewtonSetCurrentDevice(const NewtonWorld *const newtonWorld, int deviceIndex)
Definition: Newton.cpp:299
NewtonDeformableMeshGetParticlePosition
NEWTON_API void NewtonDeformableMeshGetParticlePosition(NewtonCollision *const deformableMesh, int particleIndex, dFloat *const posit)
Definition: Newton.cpp:8480
NewtonUserJointAddAngularRow
NEWTON_API void NewtonUserJointAddAngularRow(const NewtonJoint *const joint, dFloat relativeAngle, const dFloat *const dir)
Definition: Newton.cpp:7281
NewtonTreeCollisionAddFace
NEWTON_API void NewtonTreeCollisionAddFace(const NewtonCollision *const treeCollision, int vertexCount, const dFloat *const vertexPtr, int strideInBytes, int faceAttribute)
Definition: Newton.cpp:3427
NewtonCompoundCollisionParam
struct NewtonCompoundCollisionParam NewtonCompoundCollisionParam
NewtonCollisionSerialize
NEWTON_API void NewtonCollisionSerialize(const NewtonWorld *const newtonWorld, const NewtonCollision *const collision, NewtonSerializeCallback serializeFunction, void *const serializeHandle)
Definition: Newton.cpp:4201
NewtonBodyGetInvMass
NEWTON_API void NewtonBodyGetInvMass(const NewtonBody *const body, dFloat *const invMass, dFloat *const invIxx, dFloat *const invIyy, dFloat *const invIzz)
Definition: Newton.cpp:4895
NewtonCollisionInfoRecord::m_cylinder
NewtonCylinderParam m_cylinder
Definition: Newton.h:249
NewtonMeshGetNextEdge
NEWTON_API void * NewtonMeshGetNextEdge(const NewtonMesh *const mesh, const void *const edge)
Definition: Newton.cpp:8352
NewtonWorldGetVersion
NEWTON_API int NewtonWorldGetVersion()
Definition: Newton.cpp:1001
NewtonCollision
struct NewtonCollision NewtonCollision
NewtonCollisionInfoRecord::m_deformableMesh
NewtonDeformableMeshParam m_deformableMesh
Definition: Newton.h:254
NewtonAlloc
NEWTON_API void * NewtonAlloc(int sizeInBytes)
Definition: Newton.cpp:143
NewtonBodySetSimulationState
NEWTON_API void NewtonBodySetSimulationState(const NewtonBody *const bodyPtr, const int state)
Definition: Newton.cpp:4572
NewtonChamferCylinderParam
Definition: Newton.h:187
NewtonDeformableMeshSetDebugCallback
NEWTON_API void NewtonDeformableMeshSetDebugCallback(NewtonCollision *const deformableMesh, NewtonCollisionIterator callback)
Definition: Newton.cpp:8458
NewtonUserMeshCollisionRayHitDesc::m_userIdOut
dLong m_userIdOut
Definition: Newton.h:321
NewtonHeightFieldCollisionParam::m_horizonalScale
dFloat m_horizonalScale
Definition: Newton.h:227
NewtonConvexHullParam::m_vertex
dFloat * m_vertex
Definition: Newton.h:198
NewtonCollisionGetMode
NEWTON_API int NewtonCollisionGetMode(const NewtonCollision *const convexCollision)
Definition: Newton.cpp:3015
NewtonOnAABBOverlap
int(* NewtonOnAABBOverlap)(const NewtonMaterial *const material, const NewtonBody *const body0, const NewtonBody *const body1, int threadIndex)
Definition: Newton.h:399
NewtonTreeCollisionGetVertexListTriangleListInAABB
NEWTON_API int NewtonTreeCollisionGetVertexListTriangleListInAABB(const NewtonCollision *const treeCollision, const dFloat *const p0, const dFloat *const p1, const dFloat **const vertexArray, int *const vertexCount, int *const vertexStrideInBytes, const int *const indexList, int maxIndexCount, const int *const faceAttribute)
Definition: Newton.cpp:3545
NewtonWorldForEachBodyInAABBDo
NEWTON_API void NewtonWorldForEachBodyInAABBDo(const NewtonWorld *const newtonWorld, const dFloat *const p0, const dFloat *const p1, NewtonBodyIterator callback, void *const userData)
Definition: Newton.cpp:980
NewtonMeshGetFacePointIndices
NEWTON_API void NewtonMeshGetFacePointIndices(const NewtonMesh *const mesh, const void *const face, int *const indices)
Definition: Newton.cpp:8412
NewtonDeformableMeshBeginConfiguration
NEWTON_API void NewtonDeformableMeshBeginConfiguration(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8493
NewtonBodyGetInertiaMatrix
NEWTON_API void NewtonBodyGetInertiaMatrix(const NewtonBody *const body, dFloat *const inertiaMatrix)
Definition: Newton.cpp:4909
NewtonMeshCalculateFaceNormal
NEWTON_API void NewtonMeshCalculateFaceNormal(const NewtonMesh *const mesh, const void *const face, dFloat64 *const normal)
Definition: Newton.cpp:8418
NewtonBodyAddForce
NEWTON_API void NewtonBodyAddForce(const NewtonBody *const body, const dFloat *const force)
Definition: Newton.cpp:5086
NewtonMeshGetPointCount
NEWTON_API int NewtonMeshGetPointCount(const NewtonMesh *const mesh)
Definition: Newton.cpp:8078
NewtonCollisionCreateInstance
NEWTON_API NewtonCollision * NewtonCollisionCreateInstance(const NewtonCollision *const collision)
Definition: Newton.cpp:4176
NewtonCollisionGetType
NEWTON_API int NewtonCollisionGetType(const NewtonCollision *const collision)
Definition: Newton.cpp:4046
NewtonMeshGetVertexIndexFromPoint
NEWTON_API int NewtonMeshGetVertexIndexFromPoint(const NewtonMesh *const mesh, const void *const point)
Definition: Newton.cpp:8340
NewtonJointRecord::m_attachBody_0
const NewtonBody * m_attachBody_0
Definition: Newton.h:271
NewtonDestroyJoint
NEWTON_API void NewtonDestroyJoint(const NewtonWorld *const newtonWorld, const NewtonJoint *const joint)
Definition: Newton.cpp:7757
NewtonBoxParam
struct NewtonBoxParam NewtonBoxParam
NewtonTaperedCylinderParam::m_radio1
dFloat m_radio1
Definition: Newton.h:183
NewtonMeshSerialize
NEWTON_API void NewtonMeshSerialize(const NewtonMesh *const mesh, NewtonSerializeCallback serializeFunction, void *const serializeHandle)
Definition: Newton.cpp:7844
NewtonBoxParam::m_x
dFloat m_x
Definition: Newton.h:144
NewtonBodyGetPointVelocity
NEWTON_API void NewtonBodyGetPointVelocity(const NewtonBody *const body, const dFloat *const point, dFloat *const velocOut)
Definition: Newton.cpp:6085
NewtonCollisionSetMatrix
NEWTON_API void NewtonCollisionSetMatrix(const NewtonCollision *const collision, const dFloat *const matrix)
Definition: Newton.cpp:4120
NewtonJointGetStiffness
NEWTON_API dFloat NewtonJointGetStiffness(const NewtonJoint *const joint)
Definition: Newton.cpp:7715
NewtonHeightFieldCollisionParam::m_verticalScale
dFloat m_verticalScale
Definition: Newton.h:228
NewtonFracturedCompoundMeshPartGetIndexCount
NEWTON_API int NewtonFracturedCompoundMeshPartGetIndexCount(const void *const fractureCompoundMeshSegment)
Definition: Newton.cpp:2993
NewtonCompoundCollisionAddSubCollision
NEWTON_API void * NewtonCompoundCollisionAddSubCollision(NewtonCollision *const compoundCollision, const NewtonCollision *const convexCollision)
Definition: Newton.cpp:2614
NewtonCollisionCollideContinue
NEWTON_API int NewtonCollisionCollideContinue(const NewtonWorld *const newtonWorld, int maxSize, dFloat timestep, const NewtonCollision *const collisionA, const dFloat *const matrixA, const dFloat *const velocA, const dFloat *omegaA, const NewtonCollision *const collisionB, const dFloat *const matrixB, const dFloat *const velocB, const dFloat *const omegaB, dFloat *const timeOfImpact, dFloat *const contacts, dFloat *const normals, dFloat *const penetration, dLong *const attributeA, dLong *const attributeB, int threadIndex)
Definition: Newton.cpp:3893
NewtonBodyGetMatrix
NEWTON_API void NewtonBodyGetMatrix(const NewtonBody *const body, dFloat *const matrix)
Definition: Newton.cpp:5014
NewtonSphereParam
struct NewtonSphereParam NewtonSphereParam
NewtonHeightFieldCollisionParam::m_width
int m_width
Definition: Newton.h:223
NewtonCollisionTreeParam::m_vertexCount
int m_vertexCount
Definition: Newton.h:208
NewtonMeshLoadOFF
NEWTON_API NewtonMesh * NewtonMeshLoadOFF(const NewtonWorld *const newtonWorld, const char *const filename)
Definition: Newton.cpp:7859
NewtonMeshCreateFirstSingleSegment
NEWTON_API NewtonMesh * NewtonMeshCreateFirstSingleSegment(const NewtonMesh *const mesh)
Definition: Newton.cpp:8231
NewtonCalculateSpringDamperAcceleration
NEWTON_API dFloat NewtonCalculateSpringDamperAcceleration(dFloat dt, dFloat ks, dFloat x, dFloat kd, dFloat s)
Definition: Newton.cpp:4397
NewtonApplyForceAndTorque
void(* NewtonApplyForceAndTorque)(const NewtonBody *const body, dFloat timestep, int threadIndex)
Definition: Newton.h:385
NewtonCreateCylinder
NEWTON_API NewtonCollision * NewtonCreateCylinder(const NewtonWorld *const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2459
NewtonOnUserCollisionSerializationCallback
void(* NewtonOnUserCollisionSerializationCallback)(void *const userData, NewtonSerializeCallback function, void *const serializeHandle)
Definition: Newton.h:359
NewtonContactJointRemoveContact
NEWTON_API void NewtonContactJointRemoveContact(const NewtonJoint *const contactJoint, void *const contact)
Definition: Newton.cpp:5490
NewtonCollisionClosestPoint
NEWTON_API int NewtonCollisionClosestPoint(const NewtonWorld *const newtonWorld, const NewtonCollision *const collisionA, const dFloat *const matrixA, const NewtonCollision *const collisionB, const dFloat *const matrixB, dFloat *const contactA, dFloat *const contactB, dFloat *const normalAB, int threadIndex)
Definition: Newton.cpp:3791
NewtonDispachThreadJob
NEWTON_API void NewtonDispachThreadJob(const NewtonWorld *const newtonWorld, NewtonJobTask task, void *const usedData)
Definition: Newton.cpp:526
NewtonBodyGetMassMatrix
NEWTON_API void NewtonBodyGetMassMatrix(const NewtonBody *const body, dFloat *mass, dFloat *const Ixx, dFloat *const Iyy, dFloat *const Izz)
Definition: Newton.cpp:4863
NewtonMeshClip
NEWTON_API void NewtonMeshClip(const NewtonMesh *const mesh, const NewtonMesh *const clipper, const dFloat *const clipperMatrix, NewtonMesh **const topMesh, NewtonMesh **const bottomMesh)
Definition: Newton.cpp:7954
NewtonUniversalSetUserCallback
NEWTON_API void NewtonUniversalSetUserCallback(const NewtonJoint *const universal, NewtonUniversalCallback callback)
Definition: Newton.cpp:6918
NewtonWorld
Definition: Newton.h:133
NewtonConeParam
struct NewtonConeParam NewtonConeParam
NewtonTreeCollisionBeginBuild
NEWTON_API void NewtonTreeCollisionBeginBuild(const NewtonCollision *const treeCollision)
Definition: Newton.cpp:3401
NewtonBodyGetFirstContactJoint
NEWTON_API NewtonJoint * NewtonBodyGetFirstContactJoint(const NewtonBody *const body)
Definition: Newton.cpp:5382
NewtonBodySetVelocity
NEWTON_API void NewtonBodySetVelocity(const NewtonBody *const body, const dFloat *const velocity)
Definition: Newton.cpp:5916
NewtonMeshGetFirstPoint
NEWTON_API void * NewtonMeshGetFirstPoint(const NewtonMesh *const mesh)
Definition: Newton.cpp:8323
NewtonUniversalGetJointAngle1
NEWTON_API dFloat NewtonUniversalGetJointAngle1(const NewtonJoint *const universal)
Definition: Newton.cpp:6961
NewtonWorldConvexCastReturnInfo::m_penetration
dFloat m_penetration
Definition: Newton.h:313
NewtonBodySetContinuousCollisionMode
NEWTON_API void NewtonBodySetContinuousCollisionMode(const NewtonBody *const body, unsigned state)
Definition: Newton.cpp:5691
NewtonCreateCompoundCollision
NEWTON_API NewtonCollision * NewtonCreateCompoundCollision(const NewtonWorld *const newtonWorld, int shapeID)
Definition: Newton.cpp:2605
NewtonDeserializeBodyArray
NEWTON_API void NewtonDeserializeBodyArray(const NewtonWorld *const newtonWorld, NewtonOnBodyDeserializationCallback deserializeBody, NewtonDeserializeCallback serializeFunction, void *const serializeHandle)
Definition: Newton.cpp:276
NewtonContactGetMaterial
NEWTON_API NewtonMaterial * NewtonContactGetMaterial(const void *const contact)
Definition: Newton.cpp:5511
NewtonCreateCollisionFromSerialization
NEWTON_API NewtonCollision * NewtonCreateCollisionFromSerialization(const NewtonWorld *const newtonWorld, NewtonDeserializeCallback deserializeFunction, void *const serializeHandle)
Definition: Newton.cpp:4227
NewtonHingeGetJointForce
NEWTON_API void NewtonHingeGetJointForce(const NewtonJoint *const hinge, dFloat *const force)
Definition: Newton.cpp:6489
NewtonOnBodySerializationCallback
void(* NewtonOnBodySerializationCallback)(NewtonBody *const body, NewtonSerializeCallback function, void *const serializeHandle)
Definition: Newton.h:356
NewtonSliderSetUserCallback
NEWTON_API void NewtonSliderSetUserCallback(const NewtonJoint *const slider, NewtonSliderCallback callback)
Definition: Newton.cpp:6546
NewtonHingeSliderUpdateDesc::m_accel
dFloat m_accel
Definition: Newton.h:327
NewtonJointRecord::m_attachBody_1
const NewtonBody * m_attachBody_1
Definition: Newton.h:272
NewtonWorldConvexCastReturnInfo
struct NewtonWorldConvexCastReturnInfo NewtonWorldConvexCastReturnInfo
NewtonWorldGetPostListener
NEWTON_API void * NewtonWorldGetPostListener(const NewtonWorld *const newtonWorld, const char *const nameId)
Definition: Newton.cpp:1145
NewtonWorldAddPreListener
NEWTON_API void * NewtonWorldAddPreListener(const NewtonWorld *const newtonWorld, const char *const nameId, void *const listenerUserData, NewtonWorldUpdateListenerCallback update, NewtonWorldDestroyListenerCallback destroy)
Definition: Newton.cpp:1124
NewtonFracturedCompoundGetNextSubMesh
NEWTON_API NewtonFracturedCompoundMeshPart * NewtonFracturedCompoundGetNextSubMesh(const NewtonCollision *const fracturedCompound, NewtonFracturedCompoundMeshPart *const subMesh)
Definition: Newton.cpp:2875
NewtonMeshAddFace
NEWTON_API void NewtonMeshAddFace(const NewtonMesh *const mesh, int vertexCount, const dFloat *const vertex, int strideInBytes, int materialIndex)
Definition: Newton.cpp:8017
NewtonCreateDeformableMesh
NEWTON_API NewtonCollision * NewtonCreateDeformableMesh(const NewtonWorld *const newtonWorld, NewtonMesh *const mesh, int shapeID)
Definition: Newton.cpp:8440
NewtonUserMeshCollisionCollideCallback
void(* NewtonUserMeshCollisionCollideCallback)(NewtonUserMeshCollisionCollideDesc *const collideDescData, const void *const continueCollisionHandle)
Definition: Newton.h:370
NewtonUserJointSetFeedbackCollectorCallback
NEWTON_API void NewtonUserJointSetFeedbackCollectorCallback(const NewtonJoint *const joint, NewtonUserBilateralCallback getFeedback)
Definition: Newton.cpp:7460
NewtonConvexHullParam::m_faceCount
int m_faceCount
Definition: Newton.h:197
NewtonUserJointSetRowStiffness
NEWTON_API void NewtonUserJointSetRowStiffness(const NewtonJoint *const joint, dFloat stiffness)
Definition: Newton.cpp:7412
NewtonFracturedCompoundGetFirstSubMesh
NEWTON_API NewtonFracturedCompoundMeshPart * NewtonFracturedCompoundGetFirstSubMesh(const NewtonCollision *const fracturedCompound)
Definition: Newton.cpp:2862
NewtonCollisionInfoRecord::m_chamferCylinder
NewtonChamferCylinderParam m_chamferCylinder
Definition: Newton.h:252
NewtonMeshGetVertexIndex
NEWTON_API int NewtonMeshGetVertexIndex(const NewtonMesh *const mesh, const void *const vertex)
Definition: Newton.cpp:8317
dFloat64
double dFloat64
Definition: dMathDefines.h:32
NewtonCompoundCollisionParam
Definition: Newton.h:201
NewtonUserMeshCollisionContinueOveralapTest
NEWTON_DEPRECATED_API int NewtonUserMeshCollisionContinueOveralapTest(const NewtonUserMeshCollisionCollideDesc *const collideDescData, const void *const continueCollisionHandle, const dFloat *const minAabb, const dFloat *const maxAabb)
Definition: Newton.h:733
NewtonSceneCollisionGetFirstNode
NEWTON_API void * NewtonSceneCollisionGetFirstNode(NewtonCollision *const sceneCollision)
Definition: Newton.cpp:3701
NewtonCreateCone
NEWTON_API NewtonCollision * NewtonCreateCone(const NewtonWorld *const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2411
NewtonHingeSliderUpdateDesc::m_timestep
dFloat m_timestep
Definition: Newton.h:330
NewtonUserMeshCollisionRayHitDesc::m_userData
void * m_userData
Definition: Newton.h:322
NewtonMeshApproximateConvexDecomposition
NEWTON_API NewtonMesh * NewtonMeshApproximateConvexDecomposition(const NewtonMesh *const mesh, dFloat maxConcavity, dFloat backFaceDistanceFactor, int maxCount, int maxVertexPerHull, NewtonReportProgress reportProgressCallback, void *const reportProgressUserData)
Definition: Newton.cpp:7970
NewtonMeshCreateConvexHull
NEWTON_API NewtonMesh * NewtonMeshCreateConvexHull(const NewtonWorld *const newtonWorld, int pointCount, const dFloat *const vertexCloud, int strideInBytes, dFloat tolerance)
Definition: Newton.cpp:7799
NewtonHeightFieldCollisionParam::m_elevationDataType
int m_elevationDataType
Definition: Newton.h:226
NewtonJointSetDestructor
NEWTON_API void NewtonJointSetDestructor(const NewtonJoint *const joint, NewtonConstraintDestructor destructor)
Definition: Newton.cpp:7736
NewtonAtomicAdd
NEWTON_API int NewtonAtomicAdd(int *const ptr, int value)
Definition: Newton.cpp:356
NewtonWorldUpdateListenerCallback
void(* NewtonWorldUpdateListenerCallback)(const NewtonWorld *const world, void *const listenerUserData, dFloat timestep)
Definition: Newton.h:348
NewtonSetMultiThreadSolverOnSingleIsland
NEWTON_API void NewtonSetMultiThreadSolverOnSingleIsland(const NewtonWorld *const newtonWorld, int mode)
Definition: Newton.cpp:518
NewtonCreateTreeCollision
NEWTON_API NewtonCollision * NewtonCreateTreeCollision(const NewtonWorld *const newtonWorld, int shapeID)
Definition: Newton.cpp:3299
NewtonMeshCreateFromCollision
NEWTON_API NewtonMesh * NewtonMeshCreateFromCollision(const NewtonCollision *const collision)
Definition: Newton.cpp:7790
NewtonCorkscrewGetJointOmega
NEWTON_API dFloat NewtonCorkscrewGetJointOmega(const NewtonJoint *const corkscrew)
Definition: Newton.cpp:6781
NewtonMeshTriangulate
NEWTON_API void NewtonMeshTriangulate(const NewtonMesh *const mesh)
Definition: Newton.cpp:7926
NewtonConeParam::m_radio
dFloat m_radio
Definition: Newton.h:168
NewtonMeshApplyCylindricalMapping
NEWTON_API void NewtonMeshApplyCylindricalMapping(const NewtonMesh *const mesh, int cylinderMaterial, int capMaterial)
Definition: Newton.cpp:7919
NewtonFracturedCompoundMeshPart
Definition: Newton.h:138
NewtonSceneCollisionGetNodeByIndex
NEWTON_API void * NewtonSceneCollisionGetNodeByIndex(NewtonCollision *const sceneCollision, int index)
Definition: Newton.cpp:3682
NewtonConvexHullParam::m_vertexStrideInBytes
int m_vertexStrideInBytes
Definition: Newton.h:196
NewtonTaperedCapsuleParam::m_radio0
dFloat m_radio0
Definition: Newton.h:174
NewtonJointGetCollisionState
NEWTON_API int NewtonJointGetCollisionState(const NewtonJoint *const joint)
Definition: Newton.cpp:7656
NewtonBodyGetNextContactJoint
NEWTON_API NewtonJoint * NewtonBodyGetNextContactJoint(const NewtonBody *const body, const NewtonJoint *const contactJoint)
Definition: Newton.cpp:5399
NewtonDeformableMeshParam::m_vertexList
dFloat * m_vertexList
Definition: Newton.h:218
NewtonJointRecord::m_bodiesCollisionOn
int m_bodiesCollisionOn
Definition: Newton.h:274
NewtonMeshCreateFirstLayer
NEWTON_API NewtonMesh * NewtonMeshCreateFirstLayer(const NewtonMesh *const mesh)
Definition: Newton.cpp:8268
NewtonBodyGetUserData
NEWTON_API void * NewtonBodyGetUserData(const NewtonBody *const body)
Definition: Newton.cpp:4654
NewtonBodyApplyImpulsePair
NEWTON_API void NewtonBodyApplyImpulsePair(const NewtonBody *const body, dFloat *const linearImpulse, dFloat *const angularImpulse)
Definition: Newton.cpp:6158
NewtonUserMeshCollisionCollideDesc
Definition: Newton.h:278
NewtonGetCurrentDevice
NEWTON_API int NewtonGetCurrentDevice(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:285
NewtonCreateCapsule
NEWTON_API NewtonCollision * NewtonCreateCapsule(const NewtonWorld *const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2436
NewtonConvexCollisionCalculateBuoyancyAcceleration
NEWTON_API void NewtonConvexCollisionCalculateBuoyancyAcceleration(const NewtonCollision *const convexCollision, const dFloat *const matrix, const dFloat *const shapeOrigin, const dFloat *const gravityVector, const dFloat *const fluidPlane, dFloat fluidDensity, dFloat fluidViscosity, dFloat *const accel, dFloat *const alpha)
Definition: Newton.cpp:3164
NewtonBodySetMatrix
NEWTON_API void NewtonBodySetMatrix(const NewtonBody *const body, const dFloat *const matrix)
Definition: Newton.cpp:4945
NewtonMeshEndHandle
NEWTON_API void NewtonMeshEndHandle(const NewtonMesh *const mesh, void *const handle)
Definition: Newton.cpp:8173
NewtonJointIsActive
NEWTON_API int NewtonJointIsActive(const NewtonJoint *const joint)
Definition: Newton.cpp:5407
NewtonGetMultiThreadSolverOnSingleIsland
NEWTON_API int NewtonGetMultiThreadSolverOnSingleIsland(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:542
NewtonBodySetAngularDamping
NEWTON_API void NewtonBodySetAngularDamping(const NewtonBody *const body, const dFloat *const angularDamp)
Definition: Newton.cpp:6051
NewtonBodyGetType
NEWTON_API int NewtonBodyGetType(const NewtonBody *const body)
Definition: Newton.cpp:4600
NewtonFracturedCompoundMeshPartGetFirstSegment
NEWTON_API void * NewtonFracturedCompoundMeshPartGetFirstSegment(const NewtonFracturedCompoundMeshPart *const fractureCompoundMeshPart)
Definition: Newton.cpp:2970
NewtonMeshGetTotalFaceCount
NEWTON_API int NewtonMeshGetTotalFaceCount(const NewtonMesh *const mesh)
Definition: Newton.cpp:8286
NewtonCollisionDestructorCallback
void(* NewtonCollisionDestructorCallback)(const NewtonWorld *const newtonWorld, const NewtonCollision *const collision)
Definition: Newton.h:378
NewtonDeformableMeshSegmentGetIndexList
NEWTON_API const int * NewtonDeformableMeshSegmentGetIndexList(const NewtonCollision *const deformableMesh, const NewtonDeformableMeshSegment *const segment)
Definition: Newton.cpp:8638
NewtonConvexHullGetFaceIndices
NEWTON_API int NewtonConvexHullGetFaceIndices(const NewtonCollision *const convexHullCollision, int face, int *const faceIndices)
Definition: Newton.cpp:3078
NewtonSceneCollisionGetNextNode
NEWTON_API void * NewtonSceneCollisionGetNextNode(NewtonCollision *const sceneCollision, const void *const collisionNode)
Definition: Newton.cpp:3707
s
sem_t s
Definition: semaphore3.c:78
NewtonCollisionDataPointer
NEWTON_API const void * NewtonCollisionDataPointer(const NewtonCollision *const convexCollision)
Definition: Newton.cpp:3189
NewtonMaterialSetDefaultCollidable
NEWTON_API void NewtonMaterialSetDefaultCollidable(const NewtonWorld *const newtonWorld, int id0, int id1, int state)
Definition: Newton.cpp:1452
NewtonSetFrictionModel
NEWTON_API void NewtonSetFrictionModel(const NewtonWorld *const newtonWorld, int model)
Definition: Newton.cpp:610
NewtonUserMeshCollisionCollideDesc::m_objBody
NewtonBody * m_objBody
Definition: Newton.h:289
NewtonCollisionInfoRecord::m_sceneCollision
NewtonSceneCollisionParam m_sceneCollision
Definition: Newton.h:258
NewtonUserMeshCollisionContinuousOverlapTest
NEWTON_API int NewtonUserMeshCollisionContinuousOverlapTest(const NewtonUserMeshCollisionCollideDesc *const collideDescData, const void *const continueCollisionHandle, const dFloat *const minAabb, const dFloat *const maxAabb)
Definition: Newton.cpp:3264
NewtonWorld
struct NewtonWorld NewtonWorld
NewtonWorldCriticalSectionUnlock
NEWTON_API void NewtonWorldCriticalSectionUnlock(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:392
NewtonBodyGetTorqueAcc
NEWTON_API void NewtonBodyGetTorqueAcc(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5244
NewtonTreeCollisionGetFaceAttribute
NEWTON_API int NewtonTreeCollisionGetFaceAttribute(const NewtonCollision *const treeCollision, const int *const faceIndexArray, int indexCount)
Definition: Newton.cpp:3475
NewtonDeformableMeshParam::m_vrtexStrideInBytes
int m_vrtexStrideInBytes
Definition: Newton.h:216
NewtonJointSetStiffness
NEWTON_API void NewtonJointSetStiffness(const NewtonJoint *const joint, dFloat state)
Definition: Newton.cpp:7686
NewtonMeshGetVertexStreams
NEWTON_API void NewtonMeshGetVertexStreams(const NewtonMesh *const mesh, int vertexStrideInByte, dFloat *const vertex, int normalStrideInByte, dFloat *const normal, int uvStrideInByte0, dFloat *const uv0, int uvStrideInByte1, dFloat *const uv1)
Definition: Newton.cpp:8131
NewtonBodyGetID
NEWTON_API int NewtonBodyGetID(const NewtonBody *const body)
Definition: Newton.cpp:4615
NewtonMeshGetNextVertex
NEWTON_API void * NewtonMeshGetNextVertex(const NewtonMesh *const mesh, const void *const vertex)
Definition: Newton.cpp:8311
NewtonReportProgress
bool(* NewtonReportProgress)(dFloat normalizedProgressPercent, void *const userData)
Definition: Newton.h:419
NewtonConvexHullGetVetexData
NEWTON_DEPRECATED_API int NewtonConvexHullGetVetexData(const NewtonCollision *const convexHullCollision, dFloat **const vertexData, int *strideInBytes)
Definition: Newton.h:631
NewtonMaterialContactRotateTangentDirections
NEWTON_API void NewtonMaterialContactRotateTangentDirections(const NewtonMaterial *const material, const dFloat *const directionVector)
Definition: Newton.cpp:2297
NewtonHeightFieldCollisionParam::m_atributes
char * m_atributes
Definition: Newton.h:230
NewtonBodyGetFirstJoint
NEWTON_API NewtonJoint * NewtonBodyGetFirstJoint(const NewtonBody *const body)
Definition: Newton.cpp:5344
NewtonMaterialSetDefaultElasticity
NEWTON_API void NewtonMaterialSetDefaultElasticity(const NewtonWorld *const newtonWorld, int id0, int id1, dFloat elasticCoef)
Definition: Newton.cpp:1599
NewtonBodyGetWorld
NEWTON_API NewtonWorld * NewtonBodyGetWorld(const NewtonBody *const body)
Definition: Newton.cpp:4674
NewtonBodySetCollidable
NEWTON_API void NewtonBodySetCollidable(const NewtonBody *const body, int collidableState)
Definition: Newton.cpp:4593
NewtonUniversalGetJointOmega1
NEWTON_API dFloat NewtonUniversalGetJointOmega1(const NewtonJoint *const universal)
Definition: Newton.cpp:7005
NewtonBallGetJointAngle
NEWTON_API void NewtonBallGetJointAngle(const NewtonJoint *const ball, dFloat *angle)
Definition: Newton.cpp:6292
NewtonDestroyCollision
NEWTON_API void NewtonDestroyCollision(const NewtonCollision *const collision)
Definition: Newton.cpp:4168
NewtonSceneCollisionParam::m_childrenProxyCount
int m_childrenProxyCount
Definition: Newton.h:235
NewtonBodyGetInvInertiaMatrix
NEWTON_API void NewtonBodyGetInvInertiaMatrix(const NewtonBody *const body, dFloat *const invInertiaMatrix)
Definition: Newton.cpp:4918
NewtonCollisionInfoRecord::m_heightField
NewtonHeightFieldCollisionParam m_heightField
Definition: Newton.h:257
NewtonMaterialSetContactSoftness
NEWTON_API void NewtonMaterialSetContactSoftness(const NewtonMaterial *const material, dFloat softness)
Definition: Newton.cpp:2083
NewtonBodyGetNextJoint
NEWTON_API NewtonJoint * NewtonBodyGetNextJoint(const NewtonBody *const body, const NewtonJoint *const joint)
Definition: Newton.cpp:5365
NewtonFracturedCompoundNeighborNodeList
NEWTON_API int NewtonFracturedCompoundNeighborNodeList(const NewtonCollision *const fracturedCompound, void *const collisionNode, void **const list, int maxCount)
Definition: Newton.cpp:2837
NewtonJointGetBody0
NEWTON_API NewtonBody * NewtonJointGetBody0(const NewtonJoint *const joint)
Definition: Newton.cpp:7591
NewtonBodyGetJointRecursiveCollision
NEWTON_API int NewtonBodyGetJointRecursiveCollision(const NewtonBody *const body)
Definition: Newton.cpp:5757
NewtonMaterial
Definition: Newton.h:135
NewtonCorkscrewGetJointForce
NEWTON_API void NewtonCorkscrewGetJointForce(const NewtonJoint *const corkscrew, dFloat *const force)
Definition: Newton.cpp:6847
NewtonSceneCollisionAddSubCollision
NEWTON_API void * NewtonSceneCollisionAddSubCollision(NewtonCollision *const sceneCollision, const NewtonCollision *const collision)
Definition: Newton.cpp:3645
NewtonDeformableMeshSegmentGetIndexCount
NEWTON_API int NewtonDeformableMeshSegmentGetIndexCount(const NewtonCollision *const deformableMesh, const NewtonDeformableMeshSegment *const segment)
Definition: Newton.cpp:8627
NewtonSetContactMergeTolerance
NEWTON_API void NewtonSetContactMergeTolerance(const NewtonWorld *const newtonWorld, dFloat tolerance)
Definition: Newton.cpp:232
NewtonSetPerformanceClock
NEWTON_API void NewtonSetPerformanceClock(const NewtonWorld *const newtonWorld, NewtonGetTicksCountCallback callback)
Definition: Newton.cpp:632
NewtonMeshNextMaterial
NEWTON_API int NewtonMeshNextMaterial(const NewtonMesh *const mesh, void *const handle, int materialId)
Definition: Newton.cpp:8190
NewtonSliderGetJointForce
NEWTON_API void NewtonSliderGetJointForce(const NewtonJoint *const slider, dFloat *const force)
Definition: Newton.cpp:6633
NewtonSliderCalculateStopAccel
NEWTON_API dFloat NewtonSliderCalculateStopAccel(const NewtonJoint *const slider, const NewtonHingeSliderUpdateDesc *const desc, dFloat position)
Definition: Newton.cpp:6611
NewtonDeformableMeshSegment
Definition: Newton.h:137
NewtonCollisionGetUserID
NEWTON_API unsigned NewtonCollisionGetUserID(const NewtonCollision *const collision)
Definition: Newton.cpp:4084
NewtonCollisionTreeRayCastCallback
dFloat(* NewtonCollisionTreeRayCastCallback)(const NewtonBody *const body, const NewtonCollision *const treeCollision, dFloat intersection, dFloat *const normal, int faceId, void *const usedData)
Definition: Newton.h:374
NewtonFracturedCompoundCollisionGetVertexCount
NEWTON_API int NewtonFracturedCompoundCollisionGetVertexCount(const NewtonCollision *const fracturedCompound, const NewtonFracturedCompoundMeshPart *const meshOwner)
Definition: Newton.cpp:2902
NewtonUniversalGetJointAngle0
NEWTON_API dFloat NewtonUniversalGetJointAngle0(const NewtonJoint *const universal)
Definition: Newton.cpp:6940
NewtonBodySetUserData
NEWTON_API void NewtonBodySetUserData(const NewtonBody *const body, void *const userData)
Definition: Newton.cpp:4635
NewtonMaterialGetContactMaxTangentImpact
NEWTON_API dFloat NewtonMaterialGetContactMaxTangentImpact(const NewtonMaterial *const material, int index)
Definition: Newton.cpp:1936
NewtonCompoundCollisionGetFirstNode
NEWTON_API void * NewtonCompoundCollisionGetFirstNode(NewtonCollision *const compoundCollision)
Definition: Newton.cpp:2684
NewtonMeshFirstMaterial
NEWTON_API int NewtonMeshFirstMaterial(const NewtonMesh *const mesh, void *const handle)
Definition: Newton.cpp:8182
NewtonCompoundCollisionGetNodeIndex
NEWTON_API int NewtonCompoundCollisionGetNodeIndex(NewtonCollision *const compoundCollision, const void *const collisionNode)
Definition: Newton.cpp:2717
NewtonConstraintCreateCorkscrew
NEWTON_API NewtonJoint * NewtonConstraintCreateCorkscrew(const NewtonWorld *const newtonWorld, const dFloat *pivotPoint, const dFloat *pinDir, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:6665
NewtonMeshCalculateOOBB
NEWTON_API void NewtonMeshCalculateOOBB(const NewtonMesh *const mesh, dFloat *const matrix, dFloat *const x, dFloat *const y, dFloat *const z)
Definition: Newton.cpp:7876
NewtonChamferCylinderParam
struct NewtonChamferCylinderParam NewtonChamferCylinderParam
NewtonEnumrateDevices
NEWTON_API int NewtonEnumrateDevices(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:292
NewtonWaitForUpdateToFinish
NEWTON_API void NewtonWaitForUpdateToFinish(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:726
NewtonTaperedCylinderParam::m_radio0
dFloat m_radio0
Definition: Newton.h:182
NewtonBody
Definition: Newton.h:132
NewtonJointSetCollisionState
NEWTON_API void NewtonJointSetCollisionState(const NewtonJoint *const joint, int state)
Definition: Newton.cpp:7635
NewtonCreateConvexHull
NEWTON_API NewtonCollision * NewtonCreateConvexHull(const NewtonWorld *const newtonWorld, int count, const dFloat *const vertexCloud, int strideInBytes, dFloat tolerance, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2554
NewtonInvalidateCache
NEWTON_API void NewtonInvalidateCache(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:255
threadIndex
dgFloat32 dgInt32 threadIndex
Definition: dgConstraint.h:44
NewtonMeshGetPointIndex
NEWTON_API int NewtonMeshGetPointIndex(const NewtonMesh *const mesh, const void *const point)
Definition: Newton.cpp:8334
NewtonWorldGetBodyCount
NEWTON_API int NewtonWorldGetBodyCount(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1164
NewtonCapsuleParam
Definition: Newton.h:160
timestep
dgFloat32 timestep
Definition: dgBallConstraint.h:34
NewtonWorldGetFirstBody
NEWTON_API NewtonBody * NewtonWorldGetFirstBody(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:873
NewtonMeshIsOpenMesh
NEWTON_API int NewtonMeshIsOpenMesh(const NewtonMesh *const mesh)
Definition: Newton.cpp:7939
NewtonBodySetAutoSleep
NEWTON_API void NewtonBodySetAutoSleep(const NewtonBody *const body, int state)
Definition: Newton.cpp:5830
NewtonSerializeBodyArray
NEWTON_API void NewtonSerializeBodyArray(const NewtonWorld *const newtonWorld, NewtonBody **const bodyArray, int bodyCount, NewtonOnBodySerializationCallback serializeBody, NewtonSerializeCallback serializeFunction, void *const serializeHandle)
Definition: Newton.cpp:269
NewtonIslandGetBodyAABB
NEWTON_API void NewtonIslandGetBodyAABB(const void *const island, int bodyIndex, dFloat *const p0, dFloat *const p1)
Definition: Newton.cpp:1356
NewtonCollisionIterator
void(* NewtonCollisionIterator)(void *const userData, int vertexCount, const dFloat *const faceArray, int faceId)
Definition: Newton.h:404
NewtonCollisionGetSkinThickness
NEWTON_API dFloat NewtonCollisionGetSkinThickness(const NewtonCollision *const collision)
Definition: Newton.cpp:3714
NewtonBodyGetAngularDamping
NEWTON_API void NewtonBodyGetAngularDamping(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:6069
NewtonDeformableMeshUpdateRenderNormals
NEWTON_API void NewtonDeformableMeshUpdateRenderNormals(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8572
NewtonConstraintCreateHinge
NEWTON_API NewtonJoint * NewtonConstraintCreateHinge(const NewtonWorld *const newtonWorld, const dFloat *pivotPoint, const dFloat *pinDir, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:6375
NewtonDeformableMeshParam::m_vertexCount
int m_vertexCount
Definition: Newton.h:214
NewtonBodyGetForceAcc
NEWTON_API void NewtonBodyGetForceAcc(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5108
NewtonTreeCollisionForEachFace
NEWTON_API void NewtonTreeCollisionForEachFace(const NewtonCollision *const treeCollision, NewtonTreeCollisionFaceCallback forEachFaceCallback, void *const context)
Definition: Newton.cpp:3510
NewtonDeformableMeshCreateClusters
NEWTON_API void NewtonDeformableMeshCreateClusters(NewtonCollision *const deformableMesh, int clusterCount, dFloat overlapingWidth)
Definition: Newton.cpp:8448
NewtonBodySetMassProperties
NEWTON_API void NewtonBodySetMassProperties(const NewtonBody *const body, dFloat mass, const NewtonCollision *const collision)
Definition: Newton.cpp:4840
NewtonCollisionInfoRecord::m_capsule
NewtonCapsuleParam m_capsule
Definition: Newton.h:248
NewtonCompoundCollisionGetNextNode
NEWTON_API void * NewtonCompoundCollisionGetNextNode(NewtonCollision *const compoundCollision, const void *const collisionNode)
Definition: Newton.cpp:2695
NewtonMaterialDestroyAllGroupID
NEWTON_API void NewtonMaterialDestroyAllGroupID(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1427
NewtonCreateSceneCollision
NEWTON_API NewtonCollision * NewtonCreateSceneCollision(const NewtonWorld *const newtonWorld, int shapeID)
Definition: Newton.cpp:3613
NewtonSetIslandUpdateEvent
NEWTON_API void NewtonSetIslandUpdateEvent(const NewtonWorld *const newtonWorld, NewtonIslandUpdate islandUpdate)
Definition: Newton.cpp:852
NewtonMeshCreateNextLayer
NEWTON_API NewtonMesh * NewtonMeshCreateNextLayer(const NewtonMesh *const mesh, const NewtonMesh *const segment)
Definition: Newton.cpp:8276
NewtonWorldGetFirstMaterial
NEWTON_API NewtonMaterial * NewtonWorldGetFirstMaterial(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:1748
NewtonFracturedCompoundMeshPartGetNextSegment
NEWTON_API void * NewtonFracturedCompoundMeshPartGetNextSegment(const void *const fractureCompoundMeshSegment)
Definition: Newton.cpp:2977
NewtonSliderCallback
unsigned(* NewtonSliderCallback)(const NewtonJoint *const slider, NewtonHingeSliderUpdateDesc *const desc)
Definition: Newton.h:408
NewtonMaterialGetContactNormalSpeed
NEWTON_API dFloat NewtonMaterialGetContactNormalSpeed(const NewtonMaterial *const material)
Definition: Newton.cpp:1873
NewtonCreateKinematicBody
NEWTON_API NewtonBody * NewtonCreateKinematicBody(const NewtonWorld *const newtonWorld, const NewtonCollision *const collision, const dFloat *const matrix)
Definition: Newton.cpp:4462
NewtonBodyGetOmega
NEWTON_API void NewtonBodyGetOmega(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5973
NewtonFracturedCompoundMeshPart
struct NewtonFracturedCompoundMeshPart NewtonFracturedCompoundMeshPart
NewtonWorldGetNextMaterial
NEWTON_API NewtonMaterial * NewtonWorldGetNextMaterial(const NewtonWorld *const newtonWorld, const NewtonMaterial *const material)
Definition: Newton.cpp:1765
NewtonFree
NEWTON_API void NewtonFree(void *const ptr)
Definition: Newton.cpp:148
NewtonMeshBeginFace
NEWTON_API void NewtonMeshBeginFace(const NewtonMesh *const mesh)
Definition: Newton.cpp:8010
NewtonCompoundCollisionEndAddRemove
NEWTON_API void NewtonCompoundCollisionEndAddRemove(NewtonCollision *const compoundCollision)
Definition: Newton.cpp:2673
NewtonHingeSliderUpdateDesc::m_minFriction
dFloat m_minFriction
Definition: Newton.h:328
NewtonCollisionInfoRecord::m_collisionUserID
int m_collisionUserID
Definition: Newton.h:242
NewtonDeformableMeshConstraintParticle
NEWTON_API void NewtonDeformableMeshConstraintParticle(NewtonCollision *const deformableMesh, int particleIndex, const dFloat *const posit, const NewtonBody *const body)
Definition: Newton.cpp:8511
NewtonContactJointGetNextContact
NEWTON_API void * NewtonContactJointGetNextContact(const NewtonJoint *const contactJoint, void *const contact)
Definition: Newton.cpp:5467
NewtonDeformableMeshParam::m_triangleCount
int m_triangleCount
Definition: Newton.h:215
NewtonCollisionSetScale
NEWTON_API void NewtonCollisionSetScale(const NewtonCollision *const collision, dFloat scaleX, dFloat scaleY, dFloat scaleZ)
Definition: Newton.cpp:4136
NewtonMeshGetNormalArray
NEWTON_API dFloat64 * NewtonMeshGetNormalArray(const NewtonMesh *const mesh)
Definition: Newton.cpp:8105
NewtonDeformableMeshSegmentGetMaterialID
NEWTON_API int NewtonDeformableMeshSegmentGetMaterialID(const NewtonCollision *const deformableMesh, const NewtonDeformableMeshSegment *const segment)
Definition: Newton.cpp:8616
NewtonMeshApplyTransform
NEWTON_API void NewtonMeshApplyTransform(const NewtonMesh *const mesh, const dFloat *const matrix)
Definition: Newton.cpp:7868
NewtonHeightFieldCollisionParam::m_height
int m_height
Definition: Newton.h:224
NewtonSetMinimumFrameRate
NEWTON_API void NewtonSetMinimumFrameRate(const NewtonWorld *const newtonWorld, dFloat frameRate)
Definition: Newton.cpp:748
NewtonBodyGetTorque
NEWTON_API void NewtonBodyGetTorque(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5222
NewtonUserBilateralCallback
void(* NewtonUserBilateralCallback)(const NewtonJoint *const userJoint, dFloat timestep, int threadIndex)
Definition: Newton.h:412
NewtonContactGetCollisionID0
NEWTON_API void * NewtonContactGetCollisionID0(const void *const contact)
Definition: Newton.cpp:5538
NewtonCollisionInfoRecord::m_sphere
NewtonSphereParam m_sphere
Definition: Newton.h:247
NewtonCollisionGetMatrix
NEWTON_API void NewtonCollisionGetMatrix(const NewtonCollision *const collision, dFloat *const matrix)
Definition: Newton.cpp:4127
NewtonDeformableMeshParam::m_indexList
unsigned short * m_indexList
Definition: Newton.h:217
NewtonMeshBeginHandle
NEWTON_API void * NewtonMeshBeginHandle(const NewtonMesh *const mesh)
Definition: Newton.cpp:8165
NewtonCollisionTreeParam
struct NewtonCollisionTreeParam NewtonCollisionTreeParam
NewtonJointGetInfo
NEWTON_API void NewtonJointGetInfo(const NewtonJoint *const joint, NewtonJointRecord *const info)
Definition: Newton.cpp:7576
NewtonUserJointSetSolver
NEWTON_API void NewtonUserJointSetSolver(const NewtonJoint *const joint, int solver, int maxContactJoints)
Definition: Newton.cpp:7445
NewtonJointRecord
struct NewtonJointRecord NewtonJointRecord
NewtonBodyGetLinearDamping
NEWTON_API dFloat NewtonBodyGetLinearDamping(const NewtonBody *const body)
Definition: Newton.cpp:6024
NewtonFracturedCompoundCollisionGetVertexPositions
NEWTON_API const dFloat * NewtonFracturedCompoundCollisionGetVertexPositions(const NewtonCollision *const fracturedCompound, const NewtonFracturedCompoundMeshPart *const meshOwner)
Definition: Newton.cpp:2916
NewtonWorldListenerSetBodyDestroyCallback
NEWTON_API void NewtonWorldListenerSetBodyDestroyCallback(const NewtonWorld *const newtonWorld, void *const listener, NewtonWorldListenerBodyDestroyCallback bodyDestroyCallback)
Definition: Newton.cpp:1116
NEWTON_API
#define NEWTON_API
Definition: Newton.h:43
NewtonCompoundCollisionParam::m_chidrenCount
int m_chidrenCount
Definition: Newton.h:203
NewtonConvexHullGetVertexData
NEWTON_API int NewtonConvexHullGetVertexData(const NewtonCollision *const convexHullCollision, dFloat **const vertexData, int *strideInBytes)
Definition: Newton.cpp:3058
NewtonIslandUpdate
int(* NewtonIslandUpdate)(const NewtonWorld *const newtonWorld, const void *islandHandle, int bodyCount)
Definition: Newton.h:388
NewtonContactGetCollision0
NEWTON_API NewtonCollision * NewtonContactGetCollision0(const void *const contact)
Definition: Newton.cpp:5520
NewtonBodySetMaterialGroupID
NEWTON_API void NewtonBodySetMaterialGroupID(const NewtonBody *const body, int id)
Definition: Newton.cpp:5635
NewtonAllocMemory
void *(* NewtonAllocMemory)(int sizeInBytes)
Definition: Newton.h:341
NewtonMeshBuildFromVertexListIndexList
NEWTON_API void NewtonMeshBuildFromVertexListIndexList(const NewtonMesh *const mesh, int faceCount, const int *const faceIndexCount, const int *const faceMaterialIndex, const dFloat *const vertex, int vertexStrideInBytes, const int *const vertexIndex, const dFloat *const normal, int normalStrideInBytes, const int *const normalIndex, const dFloat *const uv0, int uv0StrideInBytes, const int *const uv0Index, const dFloat *const uv1, int uv1StrideInBytes, const int *const uv1Index)
Definition: Newton.cpp:8034
NewtonBodyAddImpulse
NEWTON_API void NewtonBodyAddImpulse(const NewtonBody *const body, const dFloat *const pointDeltaVeloc, const dFloat *const pointPosit)
Definition: Newton.cpp:6115
NewtonCollisionCopyConstructionCallback
void(* NewtonCollisionCopyConstructionCallback)(const NewtonWorld *const newtonWorld, NewtonCollision *const collision, const NewtonCollision *const sourceCollision)
Definition: Newton.h:377
NewtonSetSolverModel
NEWTON_API void NewtonSetSolverModel(const NewtonWorld *const newtonWorld, int model)
Definition: Newton.cpp:576
NewtonSyncThreadJobs
NEWTON_API void NewtonSyncThreadJobs(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:533
NewtonOnBodyDeserializationCallback
void(* NewtonOnBodyDeserializationCallback)(NewtonBody *const body, NewtonDeserializeCallback function, void *const serializeHandle)
Definition: Newton.h:357
NewtonMeshCreate
NEWTON_API NewtonMesh * NewtonMeshCreate(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:7772
NewtonBodyGetRotation
NEWTON_API void NewtonBodyGetRotation(const NewtonBody *const body, dFloat *const rotation)
Definition: Newton.cpp:5042
NewtonDeformableMeshEndConfiguration
NEWTON_API void NewtonDeformableMeshEndConfiguration(const NewtonCollision *const deformableMesh)
Definition: Newton.cpp:8497
NewtonSphereParam::m_radio
dFloat m_radio
Definition: Newton.h:151
NewtonDestroyBody
NEWTON_API void NewtonDestroyBody(const NewtonBody *const body)
Definition: Newton.cpp:4521
NewtonJointIterator
void(* NewtonJointIterator)(const NewtonJoint *const joint, void *const userData)
Definition: Newton.h:403
NewtonUniversalGetJointOmega0
NEWTON_API dFloat NewtonUniversalGetJointOmega0(const NewtonJoint *const universal)
Definition: Newton.cpp:6983
NewtonMeshApplyAngleBasedMapping
NEWTON_API void NewtonMeshApplyAngleBasedMapping(const NewtonMesh *const mesh, int material, NewtonReportProgress reportPrograssCallback, void *const reportPrgressUserData)
Definition: Newton.cpp:7898
NewtonDeformableMeshUnconstraintParticle
NEWTON_API void NewtonDeformableMeshUnconstraintParticle(NewtonCollision *const deformableMesh, int particleIndex)
Definition: Newton.cpp:8507
NewtonMeshGetFirstVertex
NEWTON_API void * NewtonMeshGetFirstVertex(const NewtonMesh *const mesh)
Definition: Newton.cpp:8305
NewtonCompoundCollisionGetNodeByIndex
NEWTON_API void * NewtonCompoundCollisionGetNodeByIndex(NewtonCollision *const compoundCollision, int index)
Definition: Newton.cpp:2706
NewtonHingeSliderUpdateDesc::m_maxFriction
dFloat m_maxFriction
Definition: Newton.h:329
NewtonTaperedCapsuleParam
struct NewtonTaperedCapsuleParam NewtonTaperedCapsuleParam
NewtonCreate
NEWTON_API NewtonWorld * NewtonCreate()
Definition: Newton.cpp:176
NewtonBodySetDestructorCallback
NEWTON_API void NewtonBodySetDestructorCallback(const NewtonBody *const body, NewtonBodyDestructor callback)
Definition: Newton.cpp:4799
NewtonCreateClothPatch
NEWTON_API NewtonCollision * NewtonCreateClothPatch(const NewtonWorld *const newtonWorld, NewtonMesh *const mesh, int shapeID, NewtonClothPatchMaterial *const structuralMaterial, NewtonClothPatchMaterial *const bendMaterial)
Definition: Newton.cpp:8427
NewtonDeformableMeshGetVertexStreams
NEWTON_API void NewtonDeformableMeshGetVertexStreams(const NewtonCollision *const deformableMesh, int vertexStrideInByte, dFloat *const vertex, int normalStrideInByte, dFloat *const normal, int uvStrideInByte0, dFloat *const uv0)
Definition: Newton.cpp:8582
NewtonBoxParam
Definition: Newton.h:142
NewtonUserJointSetRowAcceleration
NEWTON_API void NewtonUserJointSetRowAcceleration(const NewtonJoint *const joint, dFloat acceleration)
Definition: Newton.cpp:7367
NewtonCollision
Definition: Newton.h:136
NewtonReadPerformanceTicks
NEWTON_API unsigned NewtonReadPerformanceTicks(const NewtonWorld *const newtonWorld, unsigned performanceEntry)
Definition: Newton.cpp:665
NewtonCollisionSetCollisionMode
NEWTON_API void NewtonCollisionSetCollisionMode(const NewtonCollision *const convexCollision, int mode)
Definition: Newton.cpp:3035
NewtonCollisionTreeParam::m_indexCount
int m_indexCount
Definition: Newton.h:209
NewtonCollisionGetParentInstance
NEWTON_API NewtonCollision * NewtonCollisionGetParentInstance(const NewtonCollision *const collision)
Definition: Newton.cpp:4112
NewtonConvexHullParam
struct NewtonConvexHullParam NewtonConvexHullParam
NewtonFracturedCompoundGetMainMesh
NEWTON_API NewtonFracturedCompoundMeshPart * NewtonFracturedCompoundGetMainMesh(const NewtonCollision *const fracturedCompound)
Definition: Newton.cpp:2888
NewtonUserJointSetRowSpringDamperAcceleration
NEWTON_API void NewtonUserJointSetRowSpringDamperAcceleration(const NewtonJoint *const joint, dFloat springK, dFloat springD)
Definition: Newton.cpp:7392
NewtonBodySetCentreOfMass
NEWTON_API void NewtonBodySetCentreOfMass(const NewtonBody *const body, const dFloat *const com)
Definition: Newton.cpp:5295
NewtonCorkscrewGetJointPosit
NEWTON_API dFloat NewtonCorkscrewGetJointPosit(const NewtonJoint *const corkscrew)
Definition: Newton.cpp:6717
NewtonCollisionInfoRecord::m_taperedCylinder
NewtonTaperedCylinderParam m_taperedCylinder
Definition: Newton.h:251
NewtonMeshApplyBoxMapping
NEWTON_API void NewtonMeshApplyBoxMapping(const NewtonMesh *const mesh, int frontMaterial, int sideMaterial, int topMaterial)
Definition: Newton.cpp:7912
NewtonRemoveUnusedVertices
NEWTON_API void NewtonRemoveUnusedVertices(const NewtonMesh *const mesh, int *const vertexRemapTable)
Definition: Newton.cpp:8003
NewtonMaterialSetCollisionCallback
NEWTON_API void NewtonMaterialSetCollisionCallback(const NewtonWorld *const newtonWorld, int id0, int id1, void *const userData, NewtonOnAABBOverlap aabbOverlap, NewtonContactsProcess process)
Definition: Newton.cpp:1666
NewtonMeshConvexMeshIntersection
NEWTON_API NewtonMesh * NewtonMeshConvexMeshIntersection(const NewtonMesh *const mesh, const NewtonMesh *const convexMesh)
Definition: Newton.cpp:7997
NewtonBodySetFreezeState
NEWTON_API void NewtonBodySetFreezeState(const NewtonBody *const body, int state)
Definition: Newton.cpp:5803
NewtonBodyIterator
int(* NewtonBodyIterator)(const NewtonBody *const body, void *const userData)
Definition: Newton.h:402
NewtonConstraintDestructor
void(* NewtonConstraintDestructor)(const NewtonJoint *const me)
Definition: Newton.h:415
NewtonMeshGetFaceIndexCount
NEWTON_API int NewtonMeshGetFaceIndexCount(const NewtonMesh *const mesh, const void *const face)
Definition: Newton.cpp:8388
NewtonHeightFieldCollisionParam::m_gridsDiagonals
int m_gridsDiagonals
Definition: Newton.h:225
NewtonCollisionGetSubCollisionHandle
NEWTON_API void * NewtonCollisionGetSubCollisionHandle(const NewtonCollision *const collision)
Definition: Newton.cpp:4105
NewtonConeParam::m_height
dFloat m_height
Definition: Newton.h:169
NewtonBodyApplyImpulseArray
NEWTON_API void NewtonBodyApplyImpulseArray(const NewtonBody *const body, int impuleCount, int strideInByte, const dFloat *const impulseArray, const dFloat *const pointArray)
Definition: Newton.cpp:6148
NewtonUserJointGetRowForce
NEWTON_API dFloat NewtonUserJointGetRowForce(const NewtonJoint *const joint, int row)
Definition: Newton.cpp:7430
NewtonCorkscrewCallback
unsigned(* NewtonCorkscrewCallback)(const NewtonJoint *const corkscrew, NewtonHingeSliderUpdateDesc *const desc)
Definition: Newton.h:410
NewtonMaterialGetContactTangentDirections
NEWTON_API void NewtonMaterialGetContactTangentDirections(const NewtonMaterial *const material, const NewtonBody *const body, dFloat *const dir0, dFloat *const dir1)
Definition: Newton.cpp:2032
NewtonMeshGetFaceIndices
NEWTON_API void NewtonMeshGetFaceIndices(const NewtonMesh *const mesh, const void *const face, int *const indices)
Definition: Newton.cpp:8406
NewtonSelectBroadphaseAlgorithm
NEWTON_API void NewtonSelectBroadphaseAlgorithm(const NewtonWorld *const newtonWorld, int algorithmType)
Definition: Newton.cpp:217
NewtonSliderGetJointVeloc
NEWTON_API dFloat NewtonSliderGetJointVeloc(const NewtonJoint *slider)
Definition: Newton.cpp:6588
NewtonMeshFixTJoints
NEWTON_API void NewtonMeshFixTJoints(const NewtonMesh *const mesh)
Definition: Newton.cpp:7946
NewtonFractureCompoundCollisionReconstructMainMeshCallBack
void(* NewtonFractureCompoundCollisionReconstructMainMeshCallBack)(NewtonBody *const body, NewtonFracturedCompoundMeshPart *const mainMesh, const NewtonCollision *const fracturedCompountCollision)
Definition: Newton.h:392
NewtonGetDeviceString
NEWTON_API void NewtonGetDeviceString(const NewtonWorld *const newtonWorld, int deviceIndex, char *const vendorString, int maxSize)
Definition: Newton.cpp:306
NewtonUniversalGetJointForce
NEWTON_API void NewtonUniversalGetJointForce(const NewtonJoint *const universal, dFloat *const force)
Definition: Newton.cpp:7075
NewtonWorldListenerGetBodyDestroyCallback
NEWTON_API NewtonWorldListenerBodyDestroyCallback NewtonWorldListenerGetBodyDestroyCallback(const NewtonWorld *const newtonWorld, void *const listener)
Definition: Newton.cpp:1109
NewtonMeshCreateVoronoiConvexDecomposition
NEWTON_API NewtonMesh * NewtonMeshCreateVoronoiConvexDecomposition(const NewtonWorld *const newtonWorld, int pointCount, const dFloat *const vertexCloud, int strideInBytes, int materialID, const dFloat *const textureMatrix)
Definition: Newton.cpp:7823
NewtonUpVectorSetPin
NEWTON_API void NewtonUpVectorSetPin(const NewtonJoint *const upVector, const dFloat *pin)
Definition: Newton.cpp:7162
NewtonWorldConvexCastReturnInfo::m_contactID
dLong m_contactID
Definition: Newton.h:311
NewtonCollisionInfoRecord::m_cone
NewtonConeParam m_cone
Definition: Newton.h:246
NewtonClothPatchMaterial::m_stiffness
dFloat m_stiffness
Definition: Newton.h:336
NewtonCorkscrewCalculateStopAlpha
NEWTON_API dFloat NewtonCorkscrewCalculateStopAlpha(const NewtonJoint *const corkscrew, const NewtonHingeSliderUpdateDesc *const desc, dFloat angle)
Definition: Newton.cpp:6804
NewtonJoint
struct NewtonJoint NewtonJoint
NewtonMeshEndFace
NEWTON_API void NewtonMeshEndFace(const NewtonMesh *const mesh)
Definition: Newton.cpp:8026
NewtonWorldRayCast
NEWTON_API void NewtonWorldRayCast(const NewtonWorld *const newtonWorld, const dFloat *const p0, const dFloat *const p1, NewtonWorldRayFilterCallback filter, void *const userData, NewtonWorldRayPrefilterCallback prefilter, int threadIndex)
Definition: Newton.cpp:1225
NewtonCreateTaperedCylinder
NEWTON_API NewtonCollision * NewtonCreateTaperedCylinder(const NewtonWorld *const newtonWorld, dFloat radio0, dFloat radio1, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2506
NewtonConvexCollisionCalculateInertialMatrix
NEWTON_API void NewtonConvexCollisionCalculateInertialMatrix(const NewtonCollision *convexCollision, dFloat *const inertia, dFloat *const origin)
Definition: Newton.cpp:3123
NewtonCreateChamferCylinder
NEWTON_API NewtonCollision * NewtonCreateChamferCylinder(const NewtonWorld *const newtonWorld, dFloat radius, dFloat height, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2482
NewtonUserMeshCollisionCollideDesc
struct NewtonUserMeshCollisionCollideDesc NewtonUserMeshCollisionCollideDesc
NewtonCreateSphere
NEWTON_API NewtonCollision * NewtonCreateSphere(const NewtonWorld *const newtonWorld, dFloat radius, int shapeID, const dFloat *const offsetMatrix)
Definition: Newton.cpp:2380
NewtonTreeCollisionFaceCallback
int(* NewtonTreeCollisionFaceCallback)(void *const context, const dFloat *const polygon, int strideInBytes, const int *const indexArray, int indexCount)
Definition: Newton.h:372
NewtonBodySetCollisionScale
NEWTON_API void NewtonBodySetCollisionScale(const NewtonBody *const body, dFloat scaleX, dFloat scaleY, dFloat scaleZ)
Definition: Newton.cpp:5582
NewtonGetTicksCountCallback
unsigned(* NewtonGetTicksCountCallback)()
Definition: Newton.h:351
NewtonUserMeshCollisionRayHitDesc
Definition: Newton.h:316
NewtonMeshCreateFromMesh
NEWTON_API NewtonMesh * NewtonMeshCreateFromMesh(const NewtonMesh *const mesh)
Definition: Newton.cpp:7781
NewtonBodyGetFreezeState
NEWTON_API int NewtonBodyGetFreezeState(const NewtonBody *const body)
Definition: Newton.cpp:5783
NewtonBodySetMassMatrix
NEWTON_API void NewtonBodySetMassMatrix(const NewtonBody *const body, dFloat mass, dFloat Ixx, dFloat Iyy, dFloat Izz)
Definition: Newton.cpp:4832
NewtonConstraintCreateUserJoint
NEWTON_API NewtonJoint * NewtonConstraintCreateUserJoint(const NewtonWorld *const newtonWorld, int maxDOF, NewtonUserBilateralCallback callback, NewtonUserBilateralGetInfoCallback getInfo, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:7211
NewtonBodySetCollision
NEWTON_API void NewtonBodySetCollision(const NewtonBody *const body, const NewtonCollision *const collision)
Definition: Newton.cpp:5574
NewtonBallSetUserCallback
NEWTON_API void NewtonBallSetUserCallback(const NewtonJoint *const ball, NewtonBallCallback callback)
Definition: Newton.cpp:6269
NewtonMeshMaterialGetMaterial
NEWTON_API int NewtonMeshMaterialGetMaterial(const NewtonMesh *const mesh, void *const handle, int materialId)
Definition: Newton.cpp:8198
NewtonBodyGetForce
NEWTON_API void NewtonBodyGetForce(const NewtonBody *const body, dFloat *const vector)
Definition: Newton.cpp:5129
NewtonCollisionRayCast
NEWTON_API dFloat NewtonCollisionRayCast(const NewtonCollision *const collision, const dFloat *const p0, const dFloat *const p1, dFloat *const normal, dLong *const attribute)
Definition: Newton.cpp:3962
NewtonBodySetSleepState
NEWTON_API void NewtonBodySetSleepState(const NewtonBody *const body, int state)
Definition: Newton.cpp:5871
NewtonUserMeshCollisionRayHitDesc
struct NewtonUserMeshCollisionRayHitDesc NewtonUserMeshCollisionRayHitDesc
NewtonBodyGetForceAndTorqueCallback
NEWTON_API NewtonApplyForceAndTorque NewtonBodyGetForceAndTorqueCallback(const NewtonBody *const body)
Definition: Newton.cpp:4772
NewtonBody
struct NewtonBody NewtonBody
NewtonHingeSliderUpdateDesc
Definition: Newton.h:325
NewtonMeshGetTotalIndexCount
NEWTON_API int NewtonMeshGetTotalIndexCount(const NewtonMesh *const mesh)
Definition: Newton.cpp:8292
NewtonBodyGetCentreOfMass
NEWTON_API void NewtonBodyGetCentreOfMass(const NewtonBody *const body, dFloat *const com)
Definition: Newton.cpp:5320
NewtonWorldConvexCastReturnInfo
Definition: Newton.h:305
NewtonFracturedCompoundCollisionGetVertexUVs
NEWTON_API const dFloat * NewtonFracturedCompoundCollisionGetVertexUVs(const NewtonCollision *const fracturedCompound, const NewtonFracturedCompoundMeshPart *const meshOwner)
Definition: Newton.cpp:2943
NewtonCorkscrewGetJointAngle
NEWTON_API dFloat NewtonCorkscrewGetJointAngle(const NewtonJoint *const corkscrew)
Definition: Newton.cpp:6759
NewtonBodyGetSleepState
NEWTON_API int NewtonBodyGetSleepState(const NewtonBody *const body)
Definition: Newton.cpp:5864
NewtonBodyDisableSimulation
NEWTON_DEPRECATED_API void NewtonBodyDisableSimulation(const NewtonBody *const body)
Definition: Newton.cpp:4537
NewtonWorldRayPrefilterCallback
unsigned(* NewtonWorldRayPrefilterCallback)(const NewtonBody *const body, const NewtonCollision *const collision, void *const userData)
Definition: Newton.h:394
NewtonTaperedCapsuleParam
Definition: Newton.h:172
NewtonMeshGetNextPoint
NEWTON_API void * NewtonMeshGetNextPoint(const NewtonMesh *const mesh, const void *const point)
Definition: Newton.cpp:8328
NewtonConstraintCreateUniversal
NEWTON_API NewtonJoint * NewtonConstraintCreateUniversal(const NewtonWorld *const newtonWorld, const dFloat *pivotPoint, const dFloat *pinDir0, const dFloat *pinDir1, const NewtonBody *const childBody, const NewtonBody *const parentBody)
Definition: Newton.cpp:6884
NewtonCreateHeightFieldCollision
NEWTON_API NewtonCollision * NewtonCreateHeightFieldCollision(const NewtonWorld *const newtonWorld, int width, int height, int gridsDiagonals, int elevationdatType, const void *const elevationMap, const char *const attributeMap, dFloat verticalScale, dFloat horizontalScale, int shapeID)
Definition: Newton.cpp:3592
NewtonMaterialSetDefaultFriction
NEWTON_API void NewtonMaterialSetDefaultFriction(const NewtonWorld *const newtonWorld, int id0, int id1, dFloat staticFriction, dFloat kineticFriction)
Definition: Newton.cpp:1559
NewtonDestroyAllBodies
NEWTON_API void NewtonDestroyAllBodies(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:788
NewtonMeshDifference
NEWTON_API NewtonMesh * NewtonMeshDifference(const NewtonMesh *const mesh, const NewtonMesh *const clipper, const dFloat *const clipperMatrix)
Definition: Newton.cpp:7985
NewtonMaterialSetContactNormalDirection
NEWTON_API void NewtonMaterialSetContactNormalDirection(const NewtonMaterial *const material, const dFloat *const directionVector)
Definition: Newton.cpp:2262
NewtonUpVectorGetPin
NEWTON_API void NewtonUpVectorGetPin(const NewtonJoint *const upVector, dFloat *pin)
Definition: Newton.cpp:7134
NewtonTaperedCylinderParam::m_height
dFloat m_height
Definition: Newton.h:184
NewtonJointRecord
Definition: Newton.h:263
NewtonCompoundCollisionRemoveSubCollision
NEWTON_API void NewtonCompoundCollisionRemoveSubCollision(NewtonCollision *const compoundCollision, const void *const collisionNode)
Definition: Newton.cpp:2628
NewtonMesh
Definition: Newton.h:131
NewtonHingeCallback
unsigned(* NewtonHingeCallback)(const NewtonJoint *const hinge, NewtonHingeSliderUpdateDesc *const desc)
Definition: Newton.h:407
NewtonGetContactMergeTolerance
NEWTON_API dFloat NewtonGetContactMergeTolerance(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:225
NewtonBallSetConeLimits
NEWTON_API void NewtonBallSetConeLimits(const NewtonJoint *const ball, const dFloat *pin, dFloat maxConeAngle, dFloat maxTwistAngle)
Definition: Newton.cpp:6224
NewtonMeshGetFaces
NEWTON_API void NewtonMeshGetFaces(const NewtonMesh *const mesh, int *const faceIndexCount, int *const faceMaterial, void **const faceIndices)
Definition: Newton.cpp:8298
NewtonSceneCollisionParam
Definition: Newton.h:233
NewtonMaterialSetSurfaceThickness
NEWTON_API void NewtonMaterialSetSurfaceThickness(const NewtonWorld *const newtonWorld, int id0, int id1, dFloat thickness)
Definition: Newton.cpp:1533
NewtonSetThreadsCount
NEWTON_API void NewtonSetThreadsCount(const NewtonWorld *const newtonWorld, int threads)
Definition: Newton.cpp:419
NewtonGetBroadphaseAlgorithm
NEWTON_API int NewtonGetBroadphaseAlgorithm(const NewtonWorld *const newtonWorld)
Definition: Newton.cpp:208
NewtonUserJointAddLinearRow
NEWTON_API void NewtonUserJointAddLinearRow(const NewtonJoint *const joint, const dFloat *const pivot0, const dFloat *const pivot1, const dFloat *const dir)
Definition: Newton.cpp:7245
NewtonMeshGetPointStrideInByte
NEWTON_API int NewtonMeshGetPointStrideInByte(const NewtonMesh *const mesh)
Definition: Newton.cpp:8086
NewtonCylinderParam
struct NewtonCylinderParam NewtonCylinderParam
NewtonUserMeshCollisionCollideDesc::m_faceVertexIndex
int * m_faceVertexIndex
Definition: Newton.h:296
NewtonStaticCollisionSetDebugCallback
NEWTON_API void NewtonStaticCollisionSetDebugCallback(const NewtonCollision *const staticCollision, NewtonTreeCollisionCallback userCallback)
Definition: Newton.cpp:3332
NewtonCreateDynamicBody
NEWTON_API NewtonBody * NewtonCreateDynamicBody(const NewtonWorld *const newtonWorld, const NewtonCollision *const collision, const dFloat *const matrix)
Definition: Newton.cpp:4436
NewtonBodyGetMaterialGroupID
NEWTON_API int NewtonBodyGetMaterialGroupID(const NewtonBody *const body)
Definition: Newton.cpp:5654
NewtonSceneCollisionParam
struct NewtonSceneCollisionParam NewtonSceneCollisionParam