Panda3D
Loading...
Searching...
No Matches
physxEnums.h
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file physxEnums.h
10 * @author enn0x
11 * @date 2009-09-23
12 */
13
14#ifndef PHYSXENUMS_H
15#define PHYSXENUMS_H
16
17#include "pandabase.h"
18
19#include "physx_includes.h"
20
21#ifdef CPPPARSER
22
23// PhysxParameter
24#define NX_PENALTY_FORCE 0
25#define NX_SKIN_WIDTH 1
26#define NX_DEFAULT_SLEEP_LIN_VEL_SQUARED 2
27#define NX_DEFAULT_SLEEP_ANG_VEL_SQUARED 3
28#define NX_BOUNCE_THRESHOLD 4
29#define NX_DYN_FRICT_SCALING 5
30#define NX_STA_FRICT_SCALING 6
31#define NX_MAX_ANGULAR_VELOCITY 7
32#define NX_CONTINUOUS_CD 8
33#define NX_VISUALIZATION_SCALE 9
34#define NX_VISUALIZE_WORLD_AXES 10
35#define NX_VISUALIZE_BODY_AXES 11
36#define NX_VISUALIZE_BODY_MASS_AXES 12
37#define NX_VISUALIZE_BODY_LIN_VELOCITY 13
38#define NX_VISUALIZE_BODY_ANG_VELOCITY 14
39#define NX_VISUALIZE_BODY_JOINT_GROUPS 22
40#define NX_VISUALIZE_JOINT_LOCAL_AXES 27
41#define NX_VISUALIZE_JOINT_WORLD_AXES 28
42#define NX_VISUALIZE_JOINT_LIMITS 29
43#define NX_VISUALIZE_CONTACT_POINT 33
44#define NX_VISUALIZE_CONTACT_NORMAL 34
45#define NX_VISUALIZE_CONTACT_ERROR 35
46#define NX_VISUALIZE_CONTACT_FORCE 36
47#define NX_VISUALIZE_ACTOR_AXES 37
48#define NX_VISUALIZE_COLLISION_AABBS 38
49#define NX_VISUALIZE_COLLISION_SHAPES 39
50#define NX_VISUALIZE_COLLISION_AXES 40
51#define NX_VISUALIZE_COLLISION_COMPOUNDS 41
52#define NX_VISUALIZE_COLLISION_VNORMALS 42
53#define NX_VISUALIZE_COLLISION_FNORMALS 43
54#define NX_VISUALIZE_COLLISION_EDGES 44
55#define NX_VISUALIZE_COLLISION_SPHERES 45
56#define NX_VISUALIZE_COLLISION_STATIC 47
57#define NX_VISUALIZE_COLLISION_DYNAMIC 48
58#define NX_VISUALIZE_COLLISION_FREE 49
59#define NX_VISUALIZE_COLLISION_CCD 50
60#define NX_VISUALIZE_COLLISION_SKELETONS 51
61#define NX_VISUALIZE_FLUID_EMITTERS 52
62#define NX_VISUALIZE_FLUID_POSITION 53
63#define NX_VISUALIZE_FLUID_VELOCITY 54
64#define NX_VISUALIZE_FLUID_KERNEL_RADIUS 55
65#define NX_VISUALIZE_FLUID_BOUNDS 56
66#define NX_VISUALIZE_FLUID_PACKETS 57
67#define NX_VISUALIZE_FLUID_MOTION_LIMIT 58
68#define NX_VISUALIZE_FLUID_DYN_COLLISION 59
69#define NX_VISUALIZE_FLUID_STC_COLLISION 60
70#define NX_VISUALIZE_FLUID_MESH_PACKETS 61
71#define NX_VISUALIZE_FLUID_DRAINS 62
72#define NX_VISUALIZE_FLUID_PACKET_DATA 90
73#define NX_VISUALIZE_CLOTH_MESH 63
74#define NX_VISUALIZE_CLOTH_COLLISIONS 64
75#define NX_VISUALIZE_CLOTH_SELFCOLLISIONS 65
76#define NX_VISUALIZE_CLOTH_WORKPACKETS 66
77#define NX_VISUALIZE_CLOTH_SLEEP 67
78#define NX_VISUALIZE_CLOTH_SLEEP_VERTEX 94
79#define NX_VISUALIZE_CLOTH_TEARABLE_VERTICES 80
80#define NX_VISUALIZE_CLOTH_TEARING 81
81#define NX_VISUALIZE_CLOTH_ATTACHMENT 82
82#define NX_VISUALIZE_CLOTH_VALIDBOUNDS 92
83#define NX_VISUALIZE_SOFTBODY_MESH 83
84#define NX_VISUALIZE_SOFTBODY_COLLISIONS 84
85#define NX_VISUALIZE_SOFTBODY_WORKPACKETS 85
86#define NX_VISUALIZE_SOFTBODY_SLEEP 86
87#define NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX 95
88#define NX_VISUALIZE_SOFTBODY_TEARABLE_VERTICES 87
89#define NX_VISUALIZE_SOFTBODY_TEARING 88
90#define NX_VISUALIZE_SOFTBODY_ATTACHMENT 89
91#define NX_VISUALIZE_SOFTBODY_VALIDBOUNDS 93
92#define NX_ADAPTIVE_FORCE 68
93#define NX_COLL_VETO_JOINTED 69
94#define NX_TRIGGER_TRIGGER_CALLBACK 70
95#define NX_SELECT_HW_ALGO 71
96#define NX_VISUALIZE_ACTIVE_VERTICES 72
97#define NX_CCD_EPSILON 73
98#define NX_SOLVER_CONVERGENCE_THRESHOLD 74
99#define NX_BBOX_NOISE_LEVEL 75
100#define NX_IMPLICIT_SWEEP_CACHE_SIZE 76
101#define NX_DEFAULT_SLEEP_ENERGY 77
102#define NX_CONSTANT_FLUID_MAX_PACKETS 78
103#define NX_CONSTANT_FLUID_MAX_PARTICLES_PER_STEP 79
104#define NX_VISUALIZE_FORCE_FIELDS 91
105#define NX_ASYNCHRONOUS_MESH_CREATION 96
106#define NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON 97
107#define NX_IMPROVED_SPRING_SOLVER 98
108
109#if NX_SDK_VERSION_NUMBER > 281
110#define NX_FAST_MASSIVE_BP_VOLUME_DELETION 99
111#define NX_LEGACY_JOINT_DRIVE 100
112#endif /* NX_SDK_VERSION_NUMBER > 281 */
113
114// PhysxActorFlag
115#define NX_AF_DISABLE_COLLISION 1<<0
116#define NX_AF_DISABLE_RESPONSE 1<<1
117#define NX_AF_LOCK_COM 1<<2
118#define NX_AF_FLUID_DISABLE_COLLISION 1<<3
119#define NX_AF_CONTACT_MODIFICATION 1<<4
120#define NX_AF_FORCE_CONE_FRICTION 1<<5
121#define NX_AF_USER_ACTOR_PAIR_FILTERING 1<<6
122
123// PhysxBodyFlag
124#define NX_BF_DISABLE_GRAVITY 1<<0
125#define NX_BF_FROZEN_POS_X 1<<1
126#define NX_BF_FROZEN_POS_Y 1<<2
127#define NX_BF_FROZEN_POS_Z 1<<3
128#define NX_BF_FROZEN_ROT_X 1<<4
129#define NX_BF_FROZEN_ROT_Y 1<<5
130#define NX_BF_FROZEN_ROT_Z 1<<6
131#define NX_BF_FROZEN_POS 256
132#define NX_BF_FROZEN_ROT 131072
133#define NX_BF_FROZEN 131328
134#define NX_BF_KINEMATIC 1<<7
135#define NX_BF_VISUALIZATION 1<<8
136#define NX_BF_FILTER_SLEEP_VEL 1<<10
137#define NX_BF_ENERGY_SLEEP_TEST 1<<11
138
139// PhysxBroadPhaseType
140#define NX_BP_TYPE_SAP_SINGLE 0
141#define NX_BP_TYPE_SAP_MULTI 1
142
143// PhysxClothFlag
144#define NX_CLF_PRESSURE 1<<0
145#define NX_CLF_STATIC 1<<1
146#define NX_CLF_DISABLE_COLLISION 1<<2
147#define NX_CLF_SELFCOLLISION 1<<3
148#define NX_CLF_VISUALIZATION 1<<4
149#define NX_CLF_GRAVITY 1<<5
150#define NX_CLF_BENDING 1<<6
151#define NX_CLF_BENDING_ORTHO 1<<7
152#define NX_CLF_DAMPING 1<<8
153#define NX_CLF_COLLISION_TWOWAY 1<<9
154#define NX_CLF_TRIANGLE_COLLISION 1<<11
155#define NX_CLF_TEARABLE 1<<12
156#define NX_CLF_HARDWARE 1<<13
157#define NX_CLF_COMDAMPING 1<<14
158#define NX_CLF_VALIDBOUNDS 1<<15
159#define NX_CLF_FLUID_COLLISION 1<<16
160#define NX_CLF_DISABLE_DYNAMIC_CCD 1<<17
161#define NX_CLF_ADHERE 1<<18
162
163// PhysxContactPairFlag
164#define NX_IGNORE_PAIR 1<<0
165#define NX_NOTIFY_ON_START_TOUCH 1<<1
166#define NX_NOTIFY_ON_END_TOUCH 1<<2
167#define NX_NOTIFY_ON_TOUCH 1<<3
168#define NX_NOTIFY_ON_IMPACT 1<<4
169#define NX_NOTIFY_ON_ROLL 1<<5
170#define NX_NOTIFY_ON_SLIDE 1<<6
171#define NX_NOTIFY_FORCES 1<<7
172#define NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD 1<<8
173#define NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD 1<<9
174#define NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD 1<<10
175#define NX_NOTIFY_CONTACT_MODIFICATION 1<<16
176
177// PhysxCombineMode
178#define NX_CM_AVERAGE 0
179#define NX_CM_MIN 1
180#define NX_CM_MULTIPLY 2
181#define NX_CM_MAX 3
182
183// PhysxD6JointDriveType
184#define NX_D6JOINT_DRIVE_POSITION 1<<0
185#define NX_D6JOINT_DRIVE_VELOCITY 1<<1
186
187// PhysxD6JointFlag
188#define NX_D6JOINT_SLERP_DRIVE 1<<0
189#define NX_D6JOINT_GEAR_ENABLED 1<<1
190
191// PhysxD6JointMotion
192#define NX_D6JOINT_MOTION_LOCKED 0
193#define NX_D6JOINT_MOTION_LIMITED 1
194#define NX_D6JOINT_MOTION_FREE 2
195
196// PhysxDistanceJointFlag
197#define NX_DJF_MAX_DISTANCE_ENABLED 1<<0
198#define NX_DJF_MIN_DISTANCE_ENABLED 1<<1
199#define NX_DJF_SPRING_ENABLED 1<<2
200
201// PhysxFilterOp
202#define NX_FILTEROP_AND 0
203#define NX_FILTEROP_OR 1
204#define NX_FILTEROP_XOR 2
205#define NX_FILTEROP_NAND 3
206#define NX_FILTEROP_NOR 4
207#define NX_FILTEROP_NXOR 5
208#define NX_FILTEROP_SWAP_AND 6
209
210// PhysxForceFieldCoordinates
211#define NX_FFC_CARTESIAN 0
212#define NX_FFC_SPHERICAL 1
213#define NX_FFC_CYLINDRICAL 2
214#define NX_FFC_TOROIDAL 3
215
216// PhysxForceFieldShapeGroupFlag
217#define NX_FFSG_EXCLUDE_GROUP 1
218
219// PhysxMaterialFlag
220#define NX_MF_ANISOTROPIC 1<<0
221#define NX_MF_DISABLE_FRICTION 1<<4
222#define NX_MF_DISABLE_STRONG_FRICTION 1<<5
223
224// PhysxForceMode
225#define NX_FORCE 0
226#define NX_IMPULSE 1
227#define NX_VELOCITY_CHANGE 2
228#define NX_SMOOTH_IMPULSE 3
229#define NX_SMOOTH_VELOCITY_CHANGE 4
230#define NX_ACCELERATION 5
231
232// PhysxJointFlag
233#define NX_JF_COLLISION_ENABLED 1<<0
234#define NX_JF_VISUALIZATION 1<<1
235
236// PhysxProjectionMode
237#define NX_JPM_NONE 0
238#define NX_JPM_POINT_MINDIST 1
239#define NX_JPM_LINEAR_MINDIST 2
240
241// PhysxPruningStructure
242#define NX_PRUNING_NONE 0
243#define NX_PRUNING_OCTREE 1
244#define NX_PRUNING_QUADTREE 2
245#define NX_PRUNING_DYNAMIC_AABB_TREE 3
246#define NX_PRUNING_STATIC_AABB_TREE 4
247
248// PhysxPulleyJointFlag
249#define NX_PJF_IS_RIGID 1<<0
250#define NX_PJF_MOTOR_ENABLED 1<<1
251
252// PhysxRevoluteJointFlag
253#define NX_RJF_LIMIT_ENABLED 1<<0
254#define NX_RJF_MOTOR_ENABLED 1<<1
255#define NX_RJF_SPRING_ENABLED 1<<2
256
257// PhysxSceneFlag
258#define NX_SF_DISABLE_SSE 0x1
259#define NX_SF_DISABLE_COLLISIONS 0x2
260#define NX_SF_SIMULATE_SEPARATE_THREAD 0x4
261#define NX_SF_ENABLE_MULTITHREAD 0x8
262#define NX_SF_ENABLE_ACTIVETRANSFORMS 0x10
263#define NX_SF_RESTRICTED_SCENE 0x20
264#define NX_SF_DISABLE_SCENE_MUTEX 0x40
265#define NX_SF_FORCE_CONE_FRICTION 0x80
266#define NX_SF_SEQUENTIAL_PRIMARY 0x80*2
267#define NX_SF_FLUID_PERFORMANCE_HINT 0x80*4
268#define NX_SF_ALTERNATIVE_FLUID_TRIANGLE_COLLISION 0x80*8
269#define NX_SF_MULTITHREADED_FORCEFIELD 0x80*16
270
271// PhysxShapeFlag
272#define NX_TRIGGER_ON_ENTER 1<<0
273#define NX_TRIGGER_ON_LEAVE 1<<1
274#define NX_TRIGGER_ON_STAY 1<<2
275#define NX_TRIGGER_ENABLE 7
276#define NX_SF_VISUALIZATION 1<<3
277#define NX_SF_DISABLE_COLLISION 1<<4
278#define NX_SF_FEATURE_INDICES 1<<5
279#define NX_SF_DISABLE_RAYCASTING 1<<6
280#define NX_SF_POINT_CONTACT_FORCE 1<<7
281#define NX_SF_FLUID_DRAIN 1<<8
282#define NX_SF_FLUID_DISABLE_COLLISION 1<<10
283#define NX_SF_FLUID_TWOWAY 1<<11
284#define NX_SF_DISABLE_RESPONSE 1<<12
285#define NX_SF_DYNAMIC_DYNAMIC_CCD 1<<13
286#define NX_SF_DISABLE_SCENE_QUERIES 1<<14
287#define NX_SF_CLOTH_DRAIN 1<<15
288#define NX_SF_CLOTH_DISABLE_COLLISION 1<<16
289#define NX_SF_CLOTH_TWOWAY 1<<17
290#define NX_SF_SOFTBODY_DRAIN 1<<18
291#define NX_SF_SOFTBODY_DISABLE_COLLISION 1<<19
292#define NX_SF_SOFTBODY_TWOWAY 1<<20
293
294// PhysxShapesType
295#define NX_STATIC_SHAPES 1<<0
296#define NX_DYNAMIC_SHAPES 1<<1
297#define NX_ALL_SHAPES (1<<0|1<<1)
298
299// PhysxSoftBodyFlag
300#define NX_SBF_STATIC 1<<1
301#define NX_SBF_DISABLE_COLLISION 1<<2
302#define NX_SBF_SELFCOLLISION 1<<3
303#define NX_SBF_VISUALIZATION 1<<4
304#define NX_SBF_GRAVITY 1<<5
305#define NX_SBF_VOLUME_CONSERVATION 1<<6
306#define NX_SBF_DAMPING 1<<7
307#define NX_SBF_COLLISION_TWOWAY 1<<8
308#define NX_SBF_TEARABLE 1<<9
309#define NX_SBF_HARDWARE 1<<10
310#define NX_SBF_COMDAMPING 1<<11
311#define NX_SBF_VALIDBOUNDS 1<<12
312#define NX_SBF_FLUID_COLLISION 1<<13
313#define NX_SBF_DISABLE_DYNAMIC_CCD 1<<14
314#define NX_SBF_ADHERE 1<<15
315
316// PhysxSphericalJointFlag
317#define NX_SJF_TWIST_LIMIT_ENABLED 1<<0
318#define NX_SJF_SWING_LIMIT_ENABLED 1<<1
319#define NX_SJF_TWIST_SPRING_ENABLED 1<<2
320#define NX_SJF_SWING_SPRING_ENABLED 1<<3
321#define NX_SJF_JOINT_SPRING_ENABLED 1<<4
322#define NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS 1<<5
323
324// PhysxUpAxis
325#define NX_X 1
326#define NX_Y 2
327#define NX_Z 3
328
329// PhysxVertexAttachmentStatus
330#define NX_CLOTH_VERTEX_ATTACHMENT_NONE 0
331#define NX_CLOTH_VERTEX_ATTACHMENT_GLOBAL 1
332#define NX_CLOTH_VERTEX_ATTACHMENT_SHAPE 2
333
334// PhysxWheelShapeFlag
335#define NX_WF_WHEEL_AXIS_CONTACT_NORMAL 1<<0
336#define NX_WF_INPUT_LAT_SLIPVELOCITY 1<<1
337#define NX_WF_INPUT_LNG_SLIPVELOCITY 1<<2
338#define NX_WF_UNSCALED_SPRING_BEHAVIOR 1<<3
339#define NX_WF_AXLE_SPEED_OVERRIDE 1<<4
340#define NX_WF_EMULATE_LEGACY_WHEEL 1<<5
341#define NX_WF_CLAMPED_FRICTION 1<<6
342
343#endif // CPPPARSER
344
345// PhysxWheelFlag
346#define NX_WF_STEERABLE_INPUT 1<<0
347#define NX_WF_STEERABLE_AUTO 1<<1
348#define NX_WF_AFFECTED_BY_HANDBRAKE 1<<2
349#define NX_WF_ACCELERATED 1<<3
350
351/**
352 * This class exists just to provide scoping for the enums shared by PhysX
353 * classes.
354 */
355class EXPCL_PANDAPHYSX PhysxEnums {
356PUBLISHED:
357
358 enum PhysxParameter {
359 P_penalty_force = NX_PENALTY_FORCE,
360 P_skin_width = NX_SKIN_WIDTH,
361 P_default_sleep_lin_vel_squared = NX_DEFAULT_SLEEP_LIN_VEL_SQUARED,
362 P_default_sleep_ang_vel_squared = NX_DEFAULT_SLEEP_ANG_VEL_SQUARED,
363 P_bounce_threshold = NX_BOUNCE_THRESHOLD,
364 P_dyn_frict_scaling = NX_DYN_FRICT_SCALING,
365 P_sta_frict_scaling = NX_STA_FRICT_SCALING,
366 P_max_angular_velocity = NX_MAX_ANGULAR_VELOCITY,
367 P_continuous_cd = NX_CONTINUOUS_CD,
368 P_visualization_scale = NX_VISUALIZATION_SCALE,
369 P_adaptive_force = NX_ADAPTIVE_FORCE,
370 P_coll_veta_jointed = NX_COLL_VETO_JOINTED,
371 P_trigger_trigger_callback = NX_TRIGGER_TRIGGER_CALLBACK,
372 P_select_hw_algo = NX_SELECT_HW_ALGO,
373 P_ccd_epsilon = NX_CCD_EPSILON,
374 P_solver_convergence_threshold = NX_SOLVER_CONVERGENCE_THRESHOLD,
375 P_bbox_noise_level = NX_BBOX_NOISE_LEVEL,
376 P_implicit_sweep_cache_size = NX_IMPLICIT_SWEEP_CACHE_SIZE,
377 P_default_sleep_energy = NX_DEFAULT_SLEEP_ENERGY,
378 P_constant_fluid_max_packets = NX_CONSTANT_FLUID_MAX_PACKETS,
379 P_constant_fluid_max_particles_per_step = NX_CONSTANT_FLUID_MAX_PARTICLES_PER_STEP,
380 P_asynchronous_mesh_creation = NX_ASYNCHRONOUS_MESH_CREATION,
381 P_force_field_custom_kernel_epsilon = NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON,
382 P_improved_spring_solver = NX_IMPROVED_SPRING_SOLVER,
383
384#if NX_SDK_VERSION_NUMBER > 281
385 P_fast_massive_bp_volume_deletion = NX_FAST_MASSIVE_BP_VOLUME_DELETION,
386 P_legacy_joint_drive = NX_LEGACY_JOINT_DRIVE,
387#endif
388
389 P_visualize_world_axes = NX_VISUALIZE_WORLD_AXES,
390 P_visualize_body_axes = NX_VISUALIZE_BODY_AXES,
391 P_visualize_body_mass_axes = NX_VISUALIZE_BODY_MASS_AXES,
392 P_visualize_body_lin_velocity = NX_VISUALIZE_BODY_LIN_VELOCITY,
393 P_visualize_body_ang_velocity = NX_VISUALIZE_BODY_ANG_VELOCITY,
394 P_visualize_body_joint_groups = NX_VISUALIZE_BODY_JOINT_GROUPS,
395 P_visualize_joint_local_axes = NX_VISUALIZE_JOINT_LOCAL_AXES,
396 P_visualize_joint_world_axes = NX_VISUALIZE_JOINT_WORLD_AXES,
397 P_visualize_joint_limits = NX_VISUALIZE_JOINT_LIMITS,
398 P_visualize_contact_point = NX_VISUALIZE_CONTACT_POINT,
399 P_visualize_contact_normal = NX_VISUALIZE_CONTACT_NORMAL,
400 P_visualize_contact_error = NX_VISUALIZE_CONTACT_ERROR,
401 P_visualize_contact_force = NX_VISUALIZE_CONTACT_FORCE,
402 P_visualize_actor_axes = NX_VISUALIZE_ACTOR_AXES,
403 P_visualize_collision_aabbs = NX_VISUALIZE_COLLISION_AABBS,
404 P_visualize_collision_shapes = NX_VISUALIZE_COLLISION_SHAPES,
405 P_visualize_collision_axes = NX_VISUALIZE_COLLISION_AXES,
406 P_visualize_collision_compounds = NX_VISUALIZE_COLLISION_COMPOUNDS,
407 P_visualize_collision_vnormals = NX_VISUALIZE_COLLISION_VNORMALS,
408 P_visualize_collision_fnormals = NX_VISUALIZE_COLLISION_FNORMALS,
409 P_visualize_collision_edges = NX_VISUALIZE_COLLISION_EDGES,
410 P_visualize_collision_spheres = NX_VISUALIZE_COLLISION_SPHERES,
411 P_visualize_collision_static = NX_VISUALIZE_COLLISION_STATIC,
412 P_visualize_collision_dynamic = NX_VISUALIZE_COLLISION_DYNAMIC,
413 P_visualize_collision_free = NX_VISUALIZE_COLLISION_FREE,
414 P_visualize_collision_ccd = NX_VISUALIZE_COLLISION_CCD,
415 P_visualize_collision_skeletons = NX_VISUALIZE_COLLISION_SKELETONS,
416 P_visualize_fluid_emitters = NX_VISUALIZE_FLUID_EMITTERS,
417 P_visualize_fluid_position = NX_VISUALIZE_FLUID_POSITION,
418 P_visualize_fluid_velocity = NX_VISUALIZE_FLUID_VELOCITY,
419 P_visualize_fluid_kernel_radius = NX_VISUALIZE_FLUID_KERNEL_RADIUS,
420 P_visualize_fluid_bounds = NX_VISUALIZE_FLUID_BOUNDS,
421 P_visualize_fluid_packets = NX_VISUALIZE_FLUID_PACKETS,
422 P_visualize_fluid_motion_limit = NX_VISUALIZE_FLUID_MOTION_LIMIT,
423 P_visualize_fluid_dyn_collision = NX_VISUALIZE_FLUID_DYN_COLLISION,
424 P_visualize_fluid_stc_collision = NX_VISUALIZE_FLUID_STC_COLLISION,
425 P_visualize_fluid_mesh_packets = NX_VISUALIZE_FLUID_MESH_PACKETS,
426 P_visualize_fluid_drains = NX_VISUALIZE_FLUID_DRAINS,
427 P_visualize_fluid_packet_data = NX_VISUALIZE_FLUID_PACKET_DATA,
428 P_visualize_cloth_mesh = NX_VISUALIZE_CLOTH_MESH,
429 P_visualize_cloth_collisions = NX_VISUALIZE_CLOTH_COLLISIONS,
430 P_visualize_cloth_selfcollisions = NX_VISUALIZE_CLOTH_SELFCOLLISIONS,
431 P_visualize_cloth_workpackets = NX_VISUALIZE_CLOTH_WORKPACKETS,
432 P_visualize_cloth_sleep = NX_VISUALIZE_CLOTH_SLEEP,
433 P_visualize_cloth_sleep_vertex = NX_VISUALIZE_CLOTH_SLEEP_VERTEX,
434 P_visualize_cloth_tearable_vertices = NX_VISUALIZE_CLOTH_TEARABLE_VERTICES,
435 P_visualize_cloth_tearing = NX_VISUALIZE_CLOTH_TEARING,
436 P_visualize_cloth_attachment = NX_VISUALIZE_CLOTH_ATTACHMENT,
437 P_visualize_cloth_validbounds = NX_VISUALIZE_CLOTH_VALIDBOUNDS,
438 P_visualize_softbody_mesh = NX_VISUALIZE_SOFTBODY_MESH,
439 P_visualize_softbody_collisions = NX_VISUALIZE_SOFTBODY_COLLISIONS,
440 P_visualize_softbody_workpackets = NX_VISUALIZE_SOFTBODY_WORKPACKETS,
441 P_visualize_softbody_sleep = NX_VISUALIZE_SOFTBODY_SLEEP,
442 P_visualize_softbody_sleep_vertex = NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX,
443 P_visualize_softbody_tearable_vertices = NX_VISUALIZE_SOFTBODY_TEARABLE_VERTICES,
444 P_visualize_softbody_tearing = NX_VISUALIZE_SOFTBODY_TEARING,
445 P_visualize_softbody_attachment = NX_VISUALIZE_SOFTBODY_ATTACHMENT,
446 P_visualize_softbody_validbounds = NX_VISUALIZE_SOFTBODY_VALIDBOUNDS,
447 P_visualize_active_vertices = NX_VISUALIZE_ACTIVE_VERTICES,
448 P_visualize_force_fields = NX_VISUALIZE_FORCE_FIELDS,
449 };
450
451 enum PhysxActorFlag {
452 AF_disable_collision = NX_AF_DISABLE_COLLISION,
453 AF_disable_response = NX_AF_DISABLE_RESPONSE,
454 AF_lock_com = NX_AF_LOCK_COM,
455 AF_fluid_disable_collision = NX_AF_FLUID_DISABLE_COLLISION,
456 AF_contact_modification = NX_AF_CONTACT_MODIFICATION,
457 AF_force_cone_friction = NX_AF_FORCE_CONE_FRICTION,
458 AF_user_actor_pair_filtering = NX_AF_USER_ACTOR_PAIR_FILTERING
459 };
460
461 enum PhysxBodyFlag {
462 BF_disable_gravity = NX_BF_DISABLE_GRAVITY,
463 Bf_frozen_pos_x = NX_BF_FROZEN_POS_X,
464 BF_frozen_pos_y = NX_BF_FROZEN_POS_Y,
465 BF_frozen_pos_z = NX_BF_FROZEN_POS_Z,
466 BF_frozen_rot_x = NX_BF_FROZEN_ROT_X,
467 BF_frozen_rot_y = NX_BF_FROZEN_ROT_Y,
468 BF_frozen_rot_z = NX_BF_FROZEN_ROT_Z,
469 BF_frozen_pos = NX_BF_FROZEN_POS,
470 BF_frozen_rot = NX_BF_FROZEN_ROT,
471 BF_frozen = NX_BF_FROZEN,
472 BF_kinematic = NX_BF_KINEMATIC,
473 BF_visualization = NX_BF_VISUALIZATION,
474 BF_filter_sleep_vel = NX_BF_FILTER_SLEEP_VEL,
475 BF_energy_sleep_test = NX_BF_ENERGY_SLEEP_TEST
476 };
477
478 enum PhysxBroadPhaseType {
479 BPT_sap_single = NX_BP_TYPE_SAP_SINGLE,
480 BPT_sap_multi = NX_BP_TYPE_SAP_MULTI
481 };
482
483 enum PhysxClothFlag {
484 CLF_pressure = NX_CLF_PRESSURE,
485 CLF_static = NX_CLF_STATIC,
486 CLF_disable_collision = NX_CLF_DISABLE_COLLISION,
487 CLF_selfcollision = NX_CLF_SELFCOLLISION,
488 CLF_visualization = NX_CLF_VISUALIZATION,
489 CLF_gravity = NX_CLF_GRAVITY,
490 CLF_bending = NX_CLF_BENDING,
491 CLF_bending_ortho = NX_CLF_BENDING_ORTHO,
492 CLF_damping = NX_CLF_DAMPING,
493 CLF_collision_twoway = NX_CLF_COLLISION_TWOWAY,
494 CLF_triangle_collision = NX_CLF_TRIANGLE_COLLISION,
495 CLF_tearable = NX_CLF_TEARABLE,
496 CLF_hardware = NX_CLF_HARDWARE,
497 CLF_comdamping = NX_CLF_COMDAMPING,
498 CLF_validbounds = NX_CLF_VALIDBOUNDS,
499 CLF_fluid_collision = NX_CLF_FLUID_COLLISION,
500 CLF_disable_dynamic_ccd = NX_CLF_DISABLE_DYNAMIC_CCD,
501 CLF_adhere = NX_CLF_ADHERE
502 };
503
504 enum PhysxContactPairFlag {
505 CPF_ignore_pair = NX_IGNORE_PAIR,
506 CPF_notify_on_start_touch = NX_NOTIFY_ON_START_TOUCH,
507 CPF_notify_on_end_touch = NX_NOTIFY_ON_END_TOUCH,
508 CPF_notify_on_touch = NX_NOTIFY_ON_TOUCH,
509 CPF_notify_on_impact = NX_NOTIFY_ON_IMPACT,
510 CPF_notify_on_roll = NX_NOTIFY_ON_ROLL,
511 CPF_notify_on_slide = NX_NOTIFY_ON_SLIDE,
512 CPF_notify_forces = NX_NOTIFY_FORCES,
513 CPF_notify_on_start_touch_threshold = NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD,
514 CPF_notify_on_end_touch_threshold = NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD,
515 CPF_notify_on_touch_threshold = NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD,
516 CPF_notify_contact_modifications = NX_NOTIFY_CONTACT_MODIFICATION
517 };
518
519 enum PhysxCombineMode {
520 CM_average = NX_CM_AVERAGE,
521 CM_min = NX_CM_MIN,
522 CM_multiply = NX_CM_MULTIPLY,
523 CM_max = NX_CM_MAX
524 };
525
526 enum PhysxD6JointDriveType {
527 D6_joint_drive_position = NX_D6JOINT_DRIVE_POSITION,
528 D6_joint_drive_velocity = NX_D6JOINT_DRIVE_VELOCITY
529 };
530
531 enum PhysxD6JointFlag {
532 D6_joint_slerp_drive = NX_D6JOINT_SLERP_DRIVE,
533 D6_joint_gear_disabled = NX_D6JOINT_GEAR_ENABLED
534 };
535
536 enum PhysxD6JointMotion {
537 D6_joint_motion_locked = NX_D6JOINT_MOTION_LOCKED,
538 D6_joint_motion_limited = NX_D6JOINT_MOTION_LIMITED,
539 D6_joint_motion_free = NX_D6JOINT_MOTION_FREE
540 };
541
542 enum PhysxDistanceJointFlag {
543 DJF_max_distance_enabled = NX_DJF_MAX_DISTANCE_ENABLED,
544 DJF_mix_distance_enabled = NX_DJF_MIN_DISTANCE_ENABLED,
545 DJF_spring_enabled = NX_DJF_SPRING_ENABLED
546 };
547
548 enum PhysxFilterOp {
549 FO_and = NX_FILTEROP_AND,
550 FO_or = NX_FILTEROP_OR,
551 FO_xor = NX_FILTEROP_XOR,
552 FO_nand = NX_FILTEROP_NAND,
553 FO_nor = NX_FILTEROP_NOR,
554 FO_nxor = NX_FILTEROP_NXOR,
555 FO_swap_and = NX_FILTEROP_SWAP_AND
556 };
557
558 enum PhysxForceFieldCoordinates {
559 FFC_cartesian,
560 FFC_spherical,
561 FFC_cylindrical,
562 FFC_toroidal,
563 };
564
565 enum PhysxForceFieldShapeGroupFlag {
566 FFSG_exclude_group = NX_FFSG_EXCLUDE_GROUP
567 };
568
569 enum PhysxForceMode {
570 FM_force = NX_FORCE,
571 FM_impulse = NX_IMPULSE,
572 FM_velocity_change = NX_VELOCITY_CHANGE,
573 FM_smooth_impulse = NX_SMOOTH_IMPULSE,
574 FM_smooth_velocity_change = NX_SMOOTH_VELOCITY_CHANGE,
575 FM_acceleration = NX_ACCELERATION
576 };
577
578 enum PhysxJointFlag {
579 JF_collision_enabled = NX_JF_COLLISION_ENABLED,
580 JF_visualization = NX_JF_VISUALIZATION
581 };
582
583 enum PhysxMaterialFlag {
584 MF_anisotropic = NX_MF_ANISOTROPIC,
585 MF_disable_friction = NX_MF_DISABLE_FRICTION,
586 MF_disable_strong_friction = NX_MF_DISABLE_STRONG_FRICTION
587 };
588
589 enum PhysxProjectionMode {
590 PM_none = NX_JPM_NONE,
591 PM_point_mindist = NX_JPM_POINT_MINDIST,
592 PM_linear_mindist = NX_JPM_LINEAR_MINDIST
593 };
594
595 enum PhysxPruningStructure {
596 PS_none = NX_PRUNING_NONE,
597 PS_octree = NX_PRUNING_OCTREE,
598 PS_quadtree = NX_PRUNING_QUADTREE,
599 PS_dynamic_aabb_tree = NX_PRUNING_DYNAMIC_AABB_TREE,
600 PS_static_aabb_tree = NX_PRUNING_STATIC_AABB_TREE
601 };
602
603 enum PhysxPulleyJointFlag {
604 PJF_is_rigid = NX_PJF_IS_RIGID,
605 PJF_motor_enabled = NX_PJF_MOTOR_ENABLED
606 };
607
608 enum PhysxRevoluteJointFlag {
609 RJF_limit_enabled = NX_RJF_LIMIT_ENABLED,
610 RJF_motor_enabled = NX_RJF_MOTOR_ENABLED,
611 RJF_spring_enabled = NX_RJF_SPRING_ENABLED
612 };
613
614 enum PhysxSceneFlag {
615 SF_disable_sse = NX_SF_DISABLE_SSE,
616 SF_disable_collisions = NX_SF_DISABLE_COLLISIONS,
617 SF_restricted_scene = NX_SF_RESTRICTED_SCENE,
618 SF_disable_scene_mutex = NX_SF_DISABLE_SCENE_MUTEX,
619 SF_force_cone_friction = NX_SF_FORCE_CONE_FRICTION,
620 SF_sequential_primary = NX_SF_SEQUENTIAL_PRIMARY,
621 SF_fluid_performance_hint = NX_SF_FLUID_PERFORMANCE_HINT,
622 // SF_alternative_fluid_triangle_collision =
623 // NX_SF_ALTERNATIVE_FLUID_TRIANGLE_COLLISION, SF_multithreaded_forcefield
624 // = NX_SF_MULTITHREADED_FORCEFIELD, SF_simulate_separate_thread =
625 // NX_SF_SIMULATE_SEPARATE_THREAD, SF_enable_multithread =
626 // NX_SF_ENABLE_MULTITHREAD,
627 };
628
629 enum PhysxShapeFlag {
630 SF_trigger_on_enter = NX_TRIGGER_ON_ENTER,
631 SF_trigger_on_leave = NX_TRIGGER_ON_LEAVE,
632 SF_trigger_on_stay = NX_TRIGGER_ON_STAY,
633 SF_trigger_enable = NX_TRIGGER_ENABLE,
634 SF_visualization = NX_SF_VISUALIZATION,
635 SF_disable_collision = NX_SF_DISABLE_COLLISION,
636 SF_disable_raycasting = NX_SF_DISABLE_RAYCASTING,
637 SF_disable_response = NX_SF_DISABLE_RESPONSE,
638 SF_disable_scene_queries = NX_SF_DISABLE_SCENE_QUERIES,
639 SF_point_contact_force = NX_SF_POINT_CONTACT_FORCE,
640 SF_feature_indices = NX_SF_FEATURE_INDICES,
641 SF_dynamic_dynamic_ccd = NX_SF_DYNAMIC_DYNAMIC_CCD,
642 SF_fluid_drain = NX_SF_FLUID_DRAIN,
643 SF_fluid_disable_collision = NX_SF_FLUID_DISABLE_COLLISION,
644 SF_fluid_twoway = NX_SF_FLUID_TWOWAY,
645 SF_cloth_drain = NX_SF_CLOTH_DRAIN,
646 SF_cloth_disable_collision = NX_SF_CLOTH_DISABLE_COLLISION,
647 SF_cloth_twoway = NX_SF_CLOTH_TWOWAY,
648 SF_softbody_drain = NX_SF_SOFTBODY_DRAIN,
649 SF_softbody_disable_collision = NX_SF_SOFTBODY_DISABLE_COLLISION,
650 SF_softbody_twoway = NX_SF_SOFTBODY_TWOWAY
651 };
652
653 enum PhysxSoftBodyFlag {
654 SBF_static = NX_SBF_STATIC,
655 SBF_disable_collision = NX_SBF_DISABLE_COLLISION,
656 SBF_selfcollision = NX_SBF_SELFCOLLISION,
657 SBF_visualization = NX_SBF_VISUALIZATION,
658 SBF_gravity = NX_SBF_GRAVITY,
659 SBF_volume_conservtion = NX_SBF_VOLUME_CONSERVATION,
660 SBF_damping = NX_SBF_DAMPING,
661 SBF_collision_twoway = NX_SBF_COLLISION_TWOWAY,
662 SBF_tearable = NX_SBF_TEARABLE,
663 SBF_hardware = NX_SBF_HARDWARE,
664 SBF_comdamping = NX_SBF_COMDAMPING,
665 SBF_validbounds = NX_SBF_VALIDBOUNDS,
666 SBF_fluid_collision = NX_SBF_FLUID_COLLISION,
667 SBF_disable_dynamic_ccd = NX_SBF_DISABLE_DYNAMIC_CCD,
668 SBF_adhere = NX_SBF_ADHERE
669 };
670
671 enum PhysxShapesType {
672 ST_static = NX_STATIC_SHAPES ,
673 ST_dynamic = NX_DYNAMIC_SHAPES ,
674 ST_all = NX_ALL_SHAPES
675 };
676
677 enum PhysxSphericalJointFlag {
678 SJF_twist_limit_enabled = NX_SJF_TWIST_LIMIT_ENABLED,
679 SJF_swing_limit_enabled = NX_SJF_SWING_LIMIT_ENABLED,
680 SJF_twist_spring_enabled = NX_SJF_TWIST_SPRING_ENABLED,
681 SJF_swing_spring_enabled = NX_SJF_SWING_SPRING_ENABLED,
682 SJF_joint_spring_enabled = NX_SJF_JOINT_SPRING_ENABLED,
683 SJF_perpendicular_dir_constraints = NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS
684 };
685
686 enum PhysxUpAxis {
687 X_up = NX_X,
688 Y_up = NX_Y,
689 Z_up = NX_Z
690 };
691
692 enum PhysxVertexAttachmentStatus {
693 VAS_none = NX_CLOTH_VERTEX_ATTACHMENT_NONE,
694 VAS_global = NX_CLOTH_VERTEX_ATTACHMENT_GLOBAL,
695 VAS_shape = NX_CLOTH_VERTEX_ATTACHMENT_SHAPE
696 };
697
698 enum PhysxWheelFlag {
699 WF_steerable_input = NX_WF_STEERABLE_INPUT,
700 WF_steerable_auto = NX_WF_STEERABLE_AUTO,
701 WF_affected_by_handbrake = NX_WF_AFFECTED_BY_HANDBRAKE,
702 WF_accelerated = NX_WF_ACCELERATED
703 };
704
705 enum PhysxWheelShapeFlag {
706 WSF_wheel_axis_contact_normal = NX_WF_WHEEL_AXIS_CONTACT_NORMAL,
707 WSF_input_lat_slipvelocity = NX_WF_INPUT_LAT_SLIPVELOCITY,
708 WSF_input_lng_slipvelocity = NX_WF_INPUT_LNG_SLIPVELOCITY,
709 WSF_unscaled_spring_behavior = NX_WF_UNSCALED_SPRING_BEHAVIOR,
710 WSF_axle_speed_override = NX_WF_AXLE_SPEED_OVERRIDE,
711 WSF_emulate_legacy_wheel = NX_WF_EMULATE_LEGACY_WHEEL,
712 WSF_clamped_friction = NX_WF_CLAMPED_FRICTION
713 };
714
715};
716
717EXPCL_PANDAPHYSX std::ostream &operator << (std::ostream &out, PhysxEnums::PhysxUpAxis axis);
718EXPCL_PANDAPHYSX std::istream &operator >> (std::istream &in, PhysxEnums::PhysxUpAxis &axis);
719
720#endif
This class exists just to provide scoping for the enums shared by PhysX classes.
Definition physxEnums.h:355
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.