Panda3D
|
00001 // Filename: physxEnums.h 00002 // Created by: enn0x (23Sep09) 00003 // 00004 //////////////////////////////////////////////////////////////////// 00005 // 00006 // PANDA 3D SOFTWARE 00007 // Copyright (c) Carnegie Mellon University. All rights reserved. 00008 // 00009 // All use of this software is subject to the terms of the revised BSD 00010 // license. You should have received a copy of this license along 00011 // with this source code in a file named "LICENSE." 00012 // 00013 //////////////////////////////////////////////////////////////////// 00014 00015 #ifndef PHYSXENUMS_H 00016 #define PHYSXENUMS_H 00017 00018 #include "pandabase.h" 00019 00020 #include "physx_includes.h" 00021 00022 #ifdef CPPPARSER 00023 00024 // PhysxParameter 00025 #define NX_PENALTY_FORCE 0 00026 #define NX_SKIN_WIDTH 1 00027 #define NX_DEFAULT_SLEEP_LIN_VEL_SQUARED 2 00028 #define NX_DEFAULT_SLEEP_ANG_VEL_SQUARED 3 00029 #define NX_BOUNCE_THRESHOLD 4 00030 #define NX_DYN_FRICT_SCALING 5 00031 #define NX_STA_FRICT_SCALING 6 00032 #define NX_MAX_ANGULAR_VELOCITY 7 00033 #define NX_CONTINUOUS_CD 8 00034 #define NX_VISUALIZATION_SCALE 9 00035 #define NX_VISUALIZE_WORLD_AXES 10 00036 #define NX_VISUALIZE_BODY_AXES 11 00037 #define NX_VISUALIZE_BODY_MASS_AXES 12 00038 #define NX_VISUALIZE_BODY_LIN_VELOCITY 13 00039 #define NX_VISUALIZE_BODY_ANG_VELOCITY 14 00040 #define NX_VISUALIZE_BODY_JOINT_GROUPS 22 00041 #define NX_VISUALIZE_JOINT_LOCAL_AXES 27 00042 #define NX_VISUALIZE_JOINT_WORLD_AXES 28 00043 #define NX_VISUALIZE_JOINT_LIMITS 29 00044 #define NX_VISUALIZE_CONTACT_POINT 33 00045 #define NX_VISUALIZE_CONTACT_NORMAL 34 00046 #define NX_VISUALIZE_CONTACT_ERROR 35 00047 #define NX_VISUALIZE_CONTACT_FORCE 36 00048 #define NX_VISUALIZE_ACTOR_AXES 37 00049 #define NX_VISUALIZE_COLLISION_AABBS 38 00050 #define NX_VISUALIZE_COLLISION_SHAPES 39 00051 #define NX_VISUALIZE_COLLISION_AXES 40 00052 #define NX_VISUALIZE_COLLISION_COMPOUNDS 41 00053 #define NX_VISUALIZE_COLLISION_VNORMALS 42 00054 #define NX_VISUALIZE_COLLISION_FNORMALS 43 00055 #define NX_VISUALIZE_COLLISION_EDGES 44 00056 #define NX_VISUALIZE_COLLISION_SPHERES 45 00057 #define NX_VISUALIZE_COLLISION_STATIC 47 00058 #define NX_VISUALIZE_COLLISION_DYNAMIC 48 00059 #define NX_VISUALIZE_COLLISION_FREE 49 00060 #define NX_VISUALIZE_COLLISION_CCD 50 00061 #define NX_VISUALIZE_COLLISION_SKELETONS 51 00062 #define NX_VISUALIZE_FLUID_EMITTERS 52 00063 #define NX_VISUALIZE_FLUID_POSITION 53 00064 #define NX_VISUALIZE_FLUID_VELOCITY 54 00065 #define NX_VISUALIZE_FLUID_KERNEL_RADIUS 55 00066 #define NX_VISUALIZE_FLUID_BOUNDS 56 00067 #define NX_VISUALIZE_FLUID_PACKETS 57 00068 #define NX_VISUALIZE_FLUID_MOTION_LIMIT 58 00069 #define NX_VISUALIZE_FLUID_DYN_COLLISION 59 00070 #define NX_VISUALIZE_FLUID_STC_COLLISION 60 00071 #define NX_VISUALIZE_FLUID_MESH_PACKETS 61 00072 #define NX_VISUALIZE_FLUID_DRAINS 62 00073 #define NX_VISUALIZE_FLUID_PACKET_DATA 90 00074 #define NX_VISUALIZE_CLOTH_MESH 63 00075 #define NX_VISUALIZE_CLOTH_COLLISIONS 64 00076 #define NX_VISUALIZE_CLOTH_SELFCOLLISIONS 65 00077 #define NX_VISUALIZE_CLOTH_WORKPACKETS 66 00078 #define NX_VISUALIZE_CLOTH_SLEEP 67 00079 #define NX_VISUALIZE_CLOTH_SLEEP_VERTEX 94 00080 #define NX_VISUALIZE_CLOTH_TEARABLE_VERTICES 80 00081 #define NX_VISUALIZE_CLOTH_TEARING 81 00082 #define NX_VISUALIZE_CLOTH_ATTACHMENT 82 00083 #define NX_VISUALIZE_CLOTH_VALIDBOUNDS 92 00084 #define NX_VISUALIZE_SOFTBODY_MESH 83 00085 #define NX_VISUALIZE_SOFTBODY_COLLISIONS 84 00086 #define NX_VISUALIZE_SOFTBODY_WORKPACKETS 85 00087 #define NX_VISUALIZE_SOFTBODY_SLEEP 86 00088 #define NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX 95 00089 #define NX_VISUALIZE_SOFTBODY_TEARABLE_VERTICES 87 00090 #define NX_VISUALIZE_SOFTBODY_TEARING 88 00091 #define NX_VISUALIZE_SOFTBODY_ATTACHMENT 89 00092 #define NX_VISUALIZE_SOFTBODY_VALIDBOUNDS 93 00093 #define NX_ADAPTIVE_FORCE 68 00094 #define NX_COLL_VETO_JOINTED 69 00095 #define NX_TRIGGER_TRIGGER_CALLBACK 70 00096 #define NX_SELECT_HW_ALGO 71 00097 #define NX_VISUALIZE_ACTIVE_VERTICES 72 00098 #define NX_CCD_EPSILON 73 00099 #define NX_SOLVER_CONVERGENCE_THRESHOLD 74 00100 #define NX_BBOX_NOISE_LEVEL 75 00101 #define NX_IMPLICIT_SWEEP_CACHE_SIZE 76 00102 #define NX_DEFAULT_SLEEP_ENERGY 77 00103 #define NX_CONSTANT_FLUID_MAX_PACKETS 78 00104 #define NX_CONSTANT_FLUID_MAX_PARTICLES_PER_STEP 79 00105 #define NX_VISUALIZE_FORCE_FIELDS 91 00106 #define NX_ASYNCHRONOUS_MESH_CREATION 96 00107 #define NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON 97 00108 #define NX_IMPROVED_SPRING_SOLVER 98 00109 00110 #if NX_SDK_VERSION_NUMBER > 281 00111 #define NX_FAST_MASSIVE_BP_VOLUME_DELETION 99 00112 #define NX_LEGACY_JOINT_DRIVE 100 00113 #endif /* NX_SDK_VERSION_NUMBER > 281 */ 00114 00115 // PhysxActorFlag 00116 #define NX_AF_DISABLE_COLLISION 1<<0 00117 #define NX_AF_DISABLE_RESPONSE 1<<1 00118 #define NX_AF_LOCK_COM 1<<2 00119 #define NX_AF_FLUID_DISABLE_COLLISION 1<<3 00120 #define NX_AF_CONTACT_MODIFICATION 1<<4 00121 #define NX_AF_FORCE_CONE_FRICTION 1<<5 00122 #define NX_AF_USER_ACTOR_PAIR_FILTERING 1<<6 00123 00124 // PhysxBodyFlag 00125 #define NX_BF_DISABLE_GRAVITY 1<<0 00126 #define NX_BF_FROZEN_POS_X 1<<1 00127 #define NX_BF_FROZEN_POS_Y 1<<2 00128 #define NX_BF_FROZEN_POS_Z 1<<3 00129 #define NX_BF_FROZEN_ROT_X 1<<4 00130 #define NX_BF_FROZEN_ROT_Y 1<<5 00131 #define NX_BF_FROZEN_ROT_Z 1<<6 00132 #define NX_BF_FROZEN_POS 256 00133 #define NX_BF_FROZEN_ROT 131072 00134 #define NX_BF_FROZEN 131328 00135 #define NX_BF_KINEMATIC 1<<7 00136 #define NX_BF_VISUALIZATION 1<<8 00137 #define NX_BF_FILTER_SLEEP_VEL 1<<10 00138 #define NX_BF_ENERGY_SLEEP_TEST 1<<11 00139 00140 // PhysxBroadPhaseType 00141 #define NX_BP_TYPE_SAP_SINGLE 0 00142 #define NX_BP_TYPE_SAP_MULTI 1 00143 00144 // PhysxClothFlag 00145 #define NX_CLF_PRESSURE 1<<0 00146 #define NX_CLF_STATIC 1<<1 00147 #define NX_CLF_DISABLE_COLLISION 1<<2 00148 #define NX_CLF_SELFCOLLISION 1<<3 00149 #define NX_CLF_VISUALIZATION 1<<4 00150 #define NX_CLF_GRAVITY 1<<5 00151 #define NX_CLF_BENDING 1<<6 00152 #define NX_CLF_BENDING_ORTHO 1<<7 00153 #define NX_CLF_DAMPING 1<<8 00154 #define NX_CLF_COLLISION_TWOWAY 1<<9 00155 #define NX_CLF_TRIANGLE_COLLISION 1<<11 00156 #define NX_CLF_TEARABLE 1<<12 00157 #define NX_CLF_HARDWARE 1<<13 00158 #define NX_CLF_COMDAMPING 1<<14 00159 #define NX_CLF_VALIDBOUNDS 1<<15 00160 #define NX_CLF_FLUID_COLLISION 1<<16 00161 #define NX_CLF_DISABLE_DYNAMIC_CCD 1<<17 00162 #define NX_CLF_ADHERE 1<<18 00163 00164 // PhysxContactPairFlag 00165 #define NX_IGNORE_PAIR 1<<0 00166 #define NX_NOTIFY_ON_START_TOUCH 1<<1 00167 #define NX_NOTIFY_ON_END_TOUCH 1<<2 00168 #define NX_NOTIFY_ON_TOUCH 1<<3 00169 #define NX_NOTIFY_ON_IMPACT 1<<4 00170 #define NX_NOTIFY_ON_ROLL 1<<5 00171 #define NX_NOTIFY_ON_SLIDE 1<<6 00172 #define NX_NOTIFY_FORCES 1<<7 00173 #define NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD 1<<8 00174 #define NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD 1<<9 00175 #define NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD 1<<10 00176 #define NX_NOTIFY_CONTACT_MODIFICATION 1<<16 00177 00178 // PhysxCombineMode 00179 #define NX_CM_AVERAGE 0 00180 #define NX_CM_MIN 1 00181 #define NX_CM_MULTIPLY 2 00182 #define NX_CM_MAX 3 00183 00184 // PhysxD6JointDriveType 00185 #define NX_D6JOINT_DRIVE_POSITION 1<<0 00186 #define NX_D6JOINT_DRIVE_VELOCITY 1<<1 00187 00188 // PhysxD6JointFlag 00189 #define NX_D6JOINT_SLERP_DRIVE 1<<0 00190 #define NX_D6JOINT_GEAR_ENABLED 1<<1 00191 00192 // PhysxD6JointMotion 00193 #define NX_D6JOINT_MOTION_LOCKED 0 00194 #define NX_D6JOINT_MOTION_LIMITED 1 00195 #define NX_D6JOINT_MOTION_FREE 2 00196 00197 // PhysxDistanceJointFlag 00198 #define NX_DJF_MAX_DISTANCE_ENABLED 1<<0 00199 #define NX_DJF_MIN_DISTANCE_ENABLED 1<<1 00200 #define NX_DJF_SPRING_ENABLED 1<<2 00201 00202 // PhysxFilterOp 00203 #define NX_FILTEROP_AND 0 00204 #define NX_FILTEROP_OR 1 00205 #define NX_FILTEROP_XOR 2 00206 #define NX_FILTEROP_NAND 3 00207 #define NX_FILTEROP_NOR 4 00208 #define NX_FILTEROP_NXOR 5 00209 #define NX_FILTEROP_SWAP_AND 6 00210 00211 // PhysxForceFieldCoordinates 00212 #define NX_FFC_CARTESIAN 0 00213 #define NX_FFC_SPHERICAL 1 00214 #define NX_FFC_CYLINDRICAL 2 00215 #define NX_FFC_TOROIDAL 3 00216 00217 // PhysxForceFieldShapeGroupFlag 00218 #define NX_FFSG_EXCLUDE_GROUP 1 00219 00220 // PhysxMaterialFlag 00221 #define NX_MF_ANISOTROPIC 1<<0 00222 #define NX_MF_DISABLE_FRICTION 1<<4 00223 #define NX_MF_DISABLE_STRONG_FRICTION 1<<5 00224 00225 // PhysxForceMode 00226 #define NX_FORCE 0 00227 #define NX_IMPULSE 1 00228 #define NX_VELOCITY_CHANGE 2 00229 #define NX_SMOOTH_IMPULSE 3 00230 #define NX_SMOOTH_VELOCITY_CHANGE 4 00231 #define NX_ACCELERATION 5 00232 00233 // PhysxJointFlag 00234 #define NX_JF_COLLISION_ENABLED 1<<0 00235 #define NX_JF_VISUALIZATION 1<<1 00236 00237 // PhysxProjectionMode 00238 #define NX_JPM_NONE 0 00239 #define NX_JPM_POINT_MINDIST 1 00240 #define NX_JPM_LINEAR_MINDIST 2 00241 00242 // PhysxPruningStructure 00243 #define NX_PRUNING_NONE 0 00244 #define NX_PRUNING_OCTREE 1 00245 #define NX_PRUNING_QUADTREE 2 00246 #define NX_PRUNING_DYNAMIC_AABB_TREE 3 00247 #define NX_PRUNING_STATIC_AABB_TREE 4 00248 00249 // PhysxPulleyJointFlag 00250 #define NX_PJF_IS_RIGID 1<<0 00251 #define NX_PJF_MOTOR_ENABLED 1<<1 00252 00253 // PhysxRevoluteJointFlag 00254 #define NX_RJF_LIMIT_ENABLED 1<<0 00255 #define NX_RJF_MOTOR_ENABLED 1<<1 00256 #define NX_RJF_SPRING_ENABLED 1<<2 00257 00258 // PhysxSceneFlag 00259 #define NX_SF_DISABLE_SSE 0x1 00260 #define NX_SF_DISABLE_COLLISIONS 0x2 00261 #define NX_SF_SIMULATE_SEPARATE_THREAD 0x4 00262 #define NX_SF_ENABLE_MULTITHREAD 0x8 00263 #define NX_SF_ENABLE_ACTIVETRANSFORMS 0x10 00264 #define NX_SF_RESTRICTED_SCENE 0x20 00265 #define NX_SF_DISABLE_SCENE_MUTEX 0x40 00266 #define NX_SF_FORCE_CONE_FRICTION 0x80 00267 #define NX_SF_SEQUENTIAL_PRIMARY 0x80*2 00268 #define NX_SF_FLUID_PERFORMANCE_HINT 0x80*4 00269 #define NX_SF_ALTERNATIVE_FLUID_TRIANGLE_COLLISION 0x80*8 00270 #define NX_SF_MULTITHREADED_FORCEFIELD 0x80*16 00271 00272 // PhysxShapeFlag 00273 #define NX_TRIGGER_ON_ENTER 1<<0 00274 #define NX_TRIGGER_ON_LEAVE 1<<1 00275 #define NX_TRIGGER_ON_STAY 1<<2 00276 #define NX_TRIGGER_ENABLE 7 00277 #define NX_SF_VISUALIZATION 1<<3 00278 #define NX_SF_DISABLE_COLLISION 1<<4 00279 #define NX_SF_FEATURE_INDICES 1<<5 00280 #define NX_SF_DISABLE_RAYCASTING 1<<6 00281 #define NX_SF_POINT_CONTACT_FORCE 1<<7 00282 #define NX_SF_FLUID_DRAIN 1<<8 00283 #define NX_SF_FLUID_DISABLE_COLLISION 1<<10 00284 #define NX_SF_FLUID_TWOWAY 1<<11 00285 #define NX_SF_DISABLE_RESPONSE 1<<12 00286 #define NX_SF_DYNAMIC_DYNAMIC_CCD 1<<13 00287 #define NX_SF_DISABLE_SCENE_QUERIES 1<<14 00288 #define NX_SF_CLOTH_DRAIN 1<<15 00289 #define NX_SF_CLOTH_DISABLE_COLLISION 1<<16 00290 #define NX_SF_CLOTH_TWOWAY 1<<17 00291 #define NX_SF_SOFTBODY_DRAIN 1<<18 00292 #define NX_SF_SOFTBODY_DISABLE_COLLISION 1<<19 00293 #define NX_SF_SOFTBODY_TWOWAY 1<<20 00294 00295 // PhysxShapesType 00296 #define NX_STATIC_SHAPES 1<<0 00297 #define NX_DYNAMIC_SHAPES 1<<1 00298 #define NX_ALL_SHAPES (1<<0|1<<1) 00299 00300 // PhysxSoftBodyFlag 00301 #define NX_SBF_STATIC 1<<1 00302 #define NX_SBF_DISABLE_COLLISION 1<<2 00303 #define NX_SBF_SELFCOLLISION 1<<3 00304 #define NX_SBF_VISUALIZATION 1<<4 00305 #define NX_SBF_GRAVITY 1<<5 00306 #define NX_SBF_VOLUME_CONSERVATION 1<<6 00307 #define NX_SBF_DAMPING 1<<7 00308 #define NX_SBF_COLLISION_TWOWAY 1<<8 00309 #define NX_SBF_TEARABLE 1<<9 00310 #define NX_SBF_HARDWARE 1<<10 00311 #define NX_SBF_COMDAMPING 1<<11 00312 #define NX_SBF_VALIDBOUNDS 1<<12 00313 #define NX_SBF_FLUID_COLLISION 1<<13 00314 #define NX_SBF_DISABLE_DYNAMIC_CCD 1<<14 00315 #define NX_SBF_ADHERE 1<<15 00316 00317 // PhysxSphericalJointFlag 00318 #define NX_SJF_TWIST_LIMIT_ENABLED 1<<0 00319 #define NX_SJF_SWING_LIMIT_ENABLED 1<<1 00320 #define NX_SJF_TWIST_SPRING_ENABLED 1<<2 00321 #define NX_SJF_SWING_SPRING_ENABLED 1<<3 00322 #define NX_SJF_JOINT_SPRING_ENABLED 1<<4 00323 #define NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS 1<<5 00324 00325 // PhysxUpAxis 00326 #define NX_X 1 00327 #define NX_Y 2 00328 #define NX_Z 3 00329 00330 // PhysxVertexAttachmentStatus 00331 #define NX_CLOTH_VERTEX_ATTACHMENT_NONE 0 00332 #define NX_CLOTH_VERTEX_ATTACHMENT_GLOBAL 1 00333 #define NX_CLOTH_VERTEX_ATTACHMENT_SHAPE 2 00334 00335 // PhysxWheelShapeFlag 00336 #define NX_WF_WHEEL_AXIS_CONTACT_NORMAL 1<<0 00337 #define NX_WF_INPUT_LAT_SLIPVELOCITY 1<<1 00338 #define NX_WF_INPUT_LNG_SLIPVELOCITY 1<<2 00339 #define NX_WF_UNSCALED_SPRING_BEHAVIOR 1<<3 00340 #define NX_WF_AXLE_SPEED_OVERRIDE 1<<4 00341 #define NX_WF_EMULATE_LEGACY_WHEEL 1<<5 00342 #define NX_WF_CLAMPED_FRICTION 1<<6 00343 00344 #endif // CPPPARSER 00345 00346 // PhysxWheelFlag 00347 #define NX_WF_STEERABLE_INPUT 1<<0 00348 #define NX_WF_STEERABLE_AUTO 1<<1 00349 #define NX_WF_AFFECTED_BY_HANDBRAKE 1<<2 00350 #define NX_WF_ACCELERATED 1<<3 00351 00352 //////////////////////////////////////////////////////////////////// 00353 // Class : PhysxEnums 00354 // Description : This class exists just to provide scoping for the 00355 // enums shared by PhysX classes. 00356 //////////////////////////////////////////////////////////////////// 00357 class EXPCL_PANDAPHYSX PhysxEnums { 00358 PUBLISHED: 00359 00360 enum PhysxParameter { 00361 P_penalty_force = NX_PENALTY_FORCE, 00362 P_skin_width = NX_SKIN_WIDTH, 00363 P_default_sleep_lin_vel_squared = NX_DEFAULT_SLEEP_LIN_VEL_SQUARED, 00364 P_default_sleep_ang_vel_squared = NX_DEFAULT_SLEEP_ANG_VEL_SQUARED, 00365 P_bounce_threshold = NX_BOUNCE_THRESHOLD, 00366 P_dyn_frict_scaling = NX_DYN_FRICT_SCALING, 00367 P_sta_frict_scaling = NX_STA_FRICT_SCALING, 00368 P_max_angular_velocity = NX_MAX_ANGULAR_VELOCITY, 00369 P_continuous_cd = NX_CONTINUOUS_CD, 00370 P_visualization_scale = NX_VISUALIZATION_SCALE, 00371 P_adaptive_force = NX_ADAPTIVE_FORCE, 00372 P_coll_veta_jointed = NX_COLL_VETO_JOINTED, 00373 P_trigger_trigger_callback = NX_TRIGGER_TRIGGER_CALLBACK, 00374 P_select_hw_algo = NX_SELECT_HW_ALGO, 00375 P_ccd_epsilon = NX_CCD_EPSILON, 00376 P_solver_convergence_threshold = NX_SOLVER_CONVERGENCE_THRESHOLD, 00377 P_bbox_noise_level = NX_BBOX_NOISE_LEVEL, 00378 P_implicit_sweep_cache_size = NX_IMPLICIT_SWEEP_CACHE_SIZE, 00379 P_default_sleep_energy = NX_DEFAULT_SLEEP_ENERGY, 00380 P_constant_fluid_max_packets = NX_CONSTANT_FLUID_MAX_PACKETS, 00381 P_constant_fluid_max_particles_per_step = NX_CONSTANT_FLUID_MAX_PARTICLES_PER_STEP, 00382 P_asynchronous_mesh_creation = NX_ASYNCHRONOUS_MESH_CREATION, 00383 P_force_field_custom_kernel_epsilon = NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON, 00384 P_improved_spring_solver = NX_IMPROVED_SPRING_SOLVER, 00385 00386 #if NX_SDK_VERSION_NUMBER > 281 00387 P_fast_massive_bp_volume_deletion = NX_FAST_MASSIVE_BP_VOLUME_DELETION, 00388 P_legacy_joint_drive = NX_LEGACY_JOINT_DRIVE, 00389 #endif 00390 00391 P_visualize_world_axes = NX_VISUALIZE_WORLD_AXES, 00392 P_visualize_body_axes = NX_VISUALIZE_BODY_AXES, 00393 P_visualize_body_mass_axes = NX_VISUALIZE_BODY_MASS_AXES, 00394 P_visualize_body_lin_velocity = NX_VISUALIZE_BODY_LIN_VELOCITY, 00395 P_visualize_body_ang_velocity = NX_VISUALIZE_BODY_ANG_VELOCITY, 00396 P_visualize_body_joint_groups = NX_VISUALIZE_BODY_JOINT_GROUPS, 00397 P_visualize_joint_local_axes = NX_VISUALIZE_JOINT_LOCAL_AXES, 00398 P_visualize_joint_world_axes = NX_VISUALIZE_JOINT_WORLD_AXES, 00399 P_visualize_joint_limits = NX_VISUALIZE_JOINT_LIMITS, 00400 P_visualize_contact_point = NX_VISUALIZE_CONTACT_POINT, 00401 P_visualize_contact_normal = NX_VISUALIZE_CONTACT_NORMAL, 00402 P_visualize_contact_error = NX_VISUALIZE_CONTACT_ERROR, 00403 P_visualize_contact_force = NX_VISUALIZE_CONTACT_FORCE, 00404 P_visualize_actor_axes = NX_VISUALIZE_ACTOR_AXES, 00405 P_visualize_collision_aabbs = NX_VISUALIZE_COLLISION_AABBS, 00406 P_visualize_collision_shapes = NX_VISUALIZE_COLLISION_SHAPES, 00407 P_visualize_collision_axes = NX_VISUALIZE_COLLISION_AXES, 00408 P_visualize_collision_compounds = NX_VISUALIZE_COLLISION_COMPOUNDS, 00409 P_visualize_collision_vnormals = NX_VISUALIZE_COLLISION_VNORMALS, 00410 P_visualize_collision_fnormals = NX_VISUALIZE_COLLISION_FNORMALS, 00411 P_visualize_collision_edges = NX_VISUALIZE_COLLISION_EDGES, 00412 P_visualize_collision_spheres = NX_VISUALIZE_COLLISION_SPHERES, 00413 P_visualize_collision_static = NX_VISUALIZE_COLLISION_STATIC, 00414 P_visualize_collision_dynamic = NX_VISUALIZE_COLLISION_DYNAMIC, 00415 P_visualize_collision_free = NX_VISUALIZE_COLLISION_FREE, 00416 P_visualize_collision_ccd = NX_VISUALIZE_COLLISION_CCD, 00417 P_visualize_collision_skeletons = NX_VISUALIZE_COLLISION_SKELETONS, 00418 P_visualize_fluid_emitters = NX_VISUALIZE_FLUID_EMITTERS, 00419 P_visualize_fluid_position = NX_VISUALIZE_FLUID_POSITION, 00420 P_visualize_fluid_velocity = NX_VISUALIZE_FLUID_VELOCITY, 00421 P_visualize_fluid_kernel_radius = NX_VISUALIZE_FLUID_KERNEL_RADIUS, 00422 P_visualize_fluid_bounds = NX_VISUALIZE_FLUID_BOUNDS, 00423 P_visualize_fluid_packets = NX_VISUALIZE_FLUID_PACKETS, 00424 P_visualize_fluid_motion_limit = NX_VISUALIZE_FLUID_MOTION_LIMIT, 00425 P_visualize_fluid_dyn_collision = NX_VISUALIZE_FLUID_DYN_COLLISION, 00426 P_visualize_fluid_stc_collision = NX_VISUALIZE_FLUID_STC_COLLISION, 00427 P_visualize_fluid_mesh_packets = NX_VISUALIZE_FLUID_MESH_PACKETS, 00428 P_visualize_fluid_drains = NX_VISUALIZE_FLUID_DRAINS, 00429 P_visualize_fluid_packet_data = NX_VISUALIZE_FLUID_PACKET_DATA, 00430 P_visualize_cloth_mesh = NX_VISUALIZE_CLOTH_MESH, 00431 P_visualize_cloth_collisions = NX_VISUALIZE_CLOTH_COLLISIONS, 00432 P_visualize_cloth_selfcollisions = NX_VISUALIZE_CLOTH_SELFCOLLISIONS, 00433 P_visualize_cloth_workpackets = NX_VISUALIZE_CLOTH_WORKPACKETS, 00434 P_visualize_cloth_sleep = NX_VISUALIZE_CLOTH_SLEEP, 00435 P_visualize_cloth_sleep_vertex = NX_VISUALIZE_CLOTH_SLEEP_VERTEX, 00436 P_visualize_cloth_tearable_vertices = NX_VISUALIZE_CLOTH_TEARABLE_VERTICES, 00437 P_visualize_cloth_tearing = NX_VISUALIZE_CLOTH_TEARING, 00438 P_visualize_cloth_attachment = NX_VISUALIZE_CLOTH_ATTACHMENT, 00439 P_visualize_cloth_validbounds = NX_VISUALIZE_CLOTH_VALIDBOUNDS, 00440 P_visualize_softbody_mesh = NX_VISUALIZE_SOFTBODY_MESH, 00441 P_visualize_softbody_collisions = NX_VISUALIZE_SOFTBODY_COLLISIONS, 00442 P_visualize_softbody_workpackets = NX_VISUALIZE_SOFTBODY_WORKPACKETS, 00443 P_visualize_softbody_sleep = NX_VISUALIZE_SOFTBODY_SLEEP, 00444 P_visualize_softbody_sleep_vertex = NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX, 00445 P_visualize_softbody_tearable_vertices = NX_VISUALIZE_SOFTBODY_TEARABLE_VERTICES, 00446 P_visualize_softbody_tearing = NX_VISUALIZE_SOFTBODY_TEARING, 00447 P_visualize_softbody_attachment = NX_VISUALIZE_SOFTBODY_ATTACHMENT, 00448 P_visualize_softbody_validbounds = NX_VISUALIZE_SOFTBODY_VALIDBOUNDS, 00449 P_visualize_active_vertices = NX_VISUALIZE_ACTIVE_VERTICES, 00450 P_visualize_force_fields = NX_VISUALIZE_FORCE_FIELDS, 00451 }; 00452 00453 enum PhysxActorFlag { 00454 AF_disable_collision = NX_AF_DISABLE_COLLISION, 00455 AF_disable_response = NX_AF_DISABLE_RESPONSE, 00456 AF_lock_com = NX_AF_LOCK_COM, 00457 AF_fluid_disable_collision = NX_AF_FLUID_DISABLE_COLLISION, 00458 AF_contact_modification = NX_AF_CONTACT_MODIFICATION, 00459 AF_force_cone_friction = NX_AF_FORCE_CONE_FRICTION, 00460 AF_user_actor_pair_filtering = NX_AF_USER_ACTOR_PAIR_FILTERING 00461 }; 00462 00463 enum PhysxBodyFlag { 00464 BF_disable_gravity = NX_BF_DISABLE_GRAVITY, 00465 Bf_frozen_pos_x = NX_BF_FROZEN_POS_X, 00466 BF_frozen_pos_y = NX_BF_FROZEN_POS_Y, 00467 BF_frozen_pos_z = NX_BF_FROZEN_POS_Z, 00468 BF_frozen_rot_x = NX_BF_FROZEN_ROT_X, 00469 BF_frozen_rot_y = NX_BF_FROZEN_ROT_Y, 00470 BF_frozen_rot_z = NX_BF_FROZEN_ROT_Z, 00471 BF_frozen_pos = NX_BF_FROZEN_POS, 00472 BF_frozen_rot = NX_BF_FROZEN_ROT, 00473 BF_frozen = NX_BF_FROZEN, 00474 BF_kinematic = NX_BF_KINEMATIC, 00475 BF_visualization = NX_BF_VISUALIZATION, 00476 BF_filter_sleep_vel = NX_BF_FILTER_SLEEP_VEL, 00477 BF_energy_sleep_test = NX_BF_ENERGY_SLEEP_TEST 00478 }; 00479 00480 enum PhysxBroadPhaseType { 00481 BPT_sap_single = NX_BP_TYPE_SAP_SINGLE, 00482 BPT_sap_multi = NX_BP_TYPE_SAP_MULTI 00483 }; 00484 00485 enum PhysxClothFlag { 00486 CLF_pressure = NX_CLF_PRESSURE, 00487 CLF_static = NX_CLF_STATIC, 00488 CLF_disable_collision = NX_CLF_DISABLE_COLLISION, 00489 CLF_selfcollision = NX_CLF_SELFCOLLISION, 00490 CLF_visualization = NX_CLF_VISUALIZATION, 00491 CLF_gravity = NX_CLF_GRAVITY, 00492 CLF_bending = NX_CLF_BENDING, 00493 CLF_bending_ortho = NX_CLF_BENDING_ORTHO, 00494 CLF_damping = NX_CLF_DAMPING, 00495 CLF_collision_twoway = NX_CLF_COLLISION_TWOWAY, 00496 CLF_triangle_collision = NX_CLF_TRIANGLE_COLLISION, 00497 CLF_tearable = NX_CLF_TEARABLE, 00498 CLF_hardware = NX_CLF_HARDWARE, 00499 CLF_comdamping = NX_CLF_COMDAMPING, 00500 CLF_validbounds = NX_CLF_VALIDBOUNDS, 00501 CLF_fluid_collision = NX_CLF_FLUID_COLLISION, 00502 CLF_disable_dynamic_ccd = NX_CLF_DISABLE_DYNAMIC_CCD, 00503 CLF_adhere = NX_CLF_ADHERE 00504 }; 00505 00506 enum PhysxContactPairFlag { 00507 CPF_ignore_pair = NX_IGNORE_PAIR, 00508 CPF_notify_on_start_touch = NX_NOTIFY_ON_START_TOUCH, 00509 CPF_notify_on_end_touch = NX_NOTIFY_ON_END_TOUCH, 00510 CPF_notify_on_touch = NX_NOTIFY_ON_TOUCH, 00511 CPF_notify_on_impact = NX_NOTIFY_ON_IMPACT, 00512 CPF_notify_on_roll = NX_NOTIFY_ON_ROLL, 00513 CPF_notify_on_slide = NX_NOTIFY_ON_SLIDE, 00514 CPF_notify_forces = NX_NOTIFY_FORCES, 00515 CPF_notify_on_start_touch_threshold = NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD, 00516 CPF_notify_on_end_touch_threshold = NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD, 00517 CPF_notify_on_touch_threshold = NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD, 00518 CPF_notify_contact_modifications = NX_NOTIFY_CONTACT_MODIFICATION 00519 }; 00520 00521 enum PhysxCombineMode { 00522 CM_average = NX_CM_AVERAGE, 00523 CM_min = NX_CM_MIN, 00524 CM_multiply = NX_CM_MULTIPLY, 00525 CM_max = NX_CM_MAX 00526 }; 00527 00528 enum PhysxD6JointDriveType { 00529 D6_joint_drive_position = NX_D6JOINT_DRIVE_POSITION, 00530 D6_joint_drive_velocity = NX_D6JOINT_DRIVE_VELOCITY 00531 }; 00532 00533 enum PhysxD6JointFlag { 00534 D6_joint_slerp_drive = NX_D6JOINT_SLERP_DRIVE, 00535 D6_joint_gear_disabled = NX_D6JOINT_GEAR_ENABLED 00536 }; 00537 00538 enum PhysxD6JointMotion { 00539 D6_joint_motion_locked = NX_D6JOINT_MOTION_LOCKED, 00540 D6_joint_motion_limited = NX_D6JOINT_MOTION_LIMITED, 00541 D6_joint_motion_free = NX_D6JOINT_MOTION_FREE 00542 }; 00543 00544 enum PhysxDistanceJointFlag { 00545 DJF_max_distance_enabled = NX_DJF_MAX_DISTANCE_ENABLED, 00546 DJF_mix_distance_enabled = NX_DJF_MIN_DISTANCE_ENABLED, 00547 DJF_spring_enabled = NX_DJF_SPRING_ENABLED 00548 }; 00549 00550 enum PhysxFilterOp { 00551 FO_and = NX_FILTEROP_AND, 00552 FO_or = NX_FILTEROP_OR, 00553 FO_xor = NX_FILTEROP_XOR, 00554 FO_nand = NX_FILTEROP_NAND, 00555 FO_nor = NX_FILTEROP_NOR, 00556 FO_nxor = NX_FILTEROP_NXOR, 00557 FO_swap_and = NX_FILTEROP_SWAP_AND 00558 }; 00559 00560 enum PhysxForceFieldCoordinates { 00561 FFC_cartesian, 00562 FFC_spherical, 00563 FFC_cylindrical, 00564 FFC_toroidal, 00565 }; 00566 00567 enum PhysxForceFieldShapeGroupFlag { 00568 FFSG_exclude_group = NX_FFSG_EXCLUDE_GROUP 00569 }; 00570 00571 enum PhysxForceMode { 00572 FM_force = NX_FORCE, 00573 FM_impulse = NX_IMPULSE, 00574 FM_velocity_change = NX_VELOCITY_CHANGE, 00575 FM_smooth_impulse = NX_SMOOTH_IMPULSE, 00576 FM_smooth_velocity_change = NX_SMOOTH_VELOCITY_CHANGE, 00577 FM_acceleration = NX_ACCELERATION 00578 }; 00579 00580 enum PhysxJointFlag { 00581 JF_collision_enabled = NX_JF_COLLISION_ENABLED, 00582 JF_visualization = NX_JF_VISUALIZATION 00583 }; 00584 00585 enum PhysxMaterialFlag { 00586 MF_anisotropic = NX_MF_ANISOTROPIC, 00587 MF_disable_friction = NX_MF_DISABLE_FRICTION, 00588 MF_disable_strong_friction = NX_MF_DISABLE_STRONG_FRICTION 00589 }; 00590 00591 enum PhysxProjectionMode { 00592 PM_none = NX_JPM_NONE, 00593 PM_point_mindist = NX_JPM_POINT_MINDIST, 00594 PM_linear_mindist = NX_JPM_LINEAR_MINDIST 00595 }; 00596 00597 enum PhysxPruningStructure { 00598 PS_none = NX_PRUNING_NONE, 00599 PS_octree = NX_PRUNING_OCTREE, 00600 PS_quadtree = NX_PRUNING_QUADTREE, 00601 PS_dynamic_aabb_tree = NX_PRUNING_DYNAMIC_AABB_TREE, 00602 PS_static_aabb_tree = NX_PRUNING_STATIC_AABB_TREE 00603 }; 00604 00605 enum PhysxPulleyJointFlag { 00606 PJF_is_rigid = NX_PJF_IS_RIGID, 00607 PJF_motor_enabled = NX_PJF_MOTOR_ENABLED 00608 }; 00609 00610 enum PhysxRevoluteJointFlag { 00611 RJF_limit_enabled = NX_RJF_LIMIT_ENABLED, 00612 RJF_motor_enabled = NX_RJF_MOTOR_ENABLED, 00613 RJF_spring_enabled = NX_RJF_SPRING_ENABLED 00614 }; 00615 00616 enum PhysxSceneFlag { 00617 SF_disable_sse = NX_SF_DISABLE_SSE, 00618 SF_disable_collisions = NX_SF_DISABLE_COLLISIONS, 00619 SF_restricted_scene = NX_SF_RESTRICTED_SCENE, 00620 SF_disable_scene_mutex = NX_SF_DISABLE_SCENE_MUTEX, 00621 SF_force_cone_friction = NX_SF_FORCE_CONE_FRICTION, 00622 SF_sequential_primary = NX_SF_SEQUENTIAL_PRIMARY, 00623 SF_fluid_performance_hint = NX_SF_FLUID_PERFORMANCE_HINT, 00624 //SF_alternative_fluid_triangle_collision = NX_SF_ALTERNATIVE_FLUID_TRIANGLE_COLLISION, 00625 //SF_multithreaded_forcefield = NX_SF_MULTITHREADED_FORCEFIELD, 00626 //SF_simulate_separate_thread = NX_SF_SIMULATE_SEPARATE_THREAD, 00627 //SF_enable_multithread = NX_SF_ENABLE_MULTITHREAD, 00628 }; 00629 00630 enum PhysxShapeFlag { 00631 SF_trigger_on_enter = NX_TRIGGER_ON_ENTER, 00632 SF_trigger_on_leave = NX_TRIGGER_ON_LEAVE, 00633 SF_trigger_on_stay = NX_TRIGGER_ON_STAY, 00634 SF_trigger_enable = NX_TRIGGER_ENABLE, 00635 SF_visualization = NX_SF_VISUALIZATION, 00636 SF_disable_collision = NX_SF_DISABLE_COLLISION, 00637 SF_disable_raycasting = NX_SF_DISABLE_RAYCASTING, 00638 SF_disable_response = NX_SF_DISABLE_RESPONSE, 00639 SF_disable_scene_queries = NX_SF_DISABLE_SCENE_QUERIES, 00640 SF_point_contact_force = NX_SF_POINT_CONTACT_FORCE, 00641 SF_feature_indices = NX_SF_FEATURE_INDICES, 00642 SF_dynamic_dynamic_ccd = NX_SF_DYNAMIC_DYNAMIC_CCD, 00643 SF_fluid_drain = NX_SF_FLUID_DRAIN, 00644 SF_fluid_disable_collision = NX_SF_FLUID_DISABLE_COLLISION, 00645 SF_fluid_twoway = NX_SF_FLUID_TWOWAY, 00646 SF_cloth_drain = NX_SF_CLOTH_DRAIN, 00647 SF_cloth_disable_collision = NX_SF_CLOTH_DISABLE_COLLISION, 00648 SF_cloth_twoway = NX_SF_CLOTH_TWOWAY, 00649 SF_softbody_drain = NX_SF_SOFTBODY_DRAIN, 00650 SF_softbody_disable_collision = NX_SF_SOFTBODY_DISABLE_COLLISION, 00651 SF_softbody_twoway = NX_SF_SOFTBODY_TWOWAY 00652 }; 00653 00654 enum PhysxSoftBodyFlag { 00655 SBF_static = NX_SBF_STATIC, 00656 SBF_disable_collision = NX_SBF_DISABLE_COLLISION, 00657 SBF_selfcollision = NX_SBF_SELFCOLLISION, 00658 SBF_visualization = NX_SBF_VISUALIZATION, 00659 SBF_gravity = NX_SBF_GRAVITY, 00660 SBF_volume_conservtion = NX_SBF_VOLUME_CONSERVATION, 00661 SBF_damping = NX_SBF_DAMPING, 00662 SBF_collision_twoway = NX_SBF_COLLISION_TWOWAY, 00663 SBF_tearable = NX_SBF_TEARABLE, 00664 SBF_hardware = NX_SBF_HARDWARE, 00665 SBF_comdamping = NX_SBF_COMDAMPING, 00666 SBF_validbounds = NX_SBF_VALIDBOUNDS, 00667 SBF_fluid_collision = NX_SBF_FLUID_COLLISION, 00668 SBF_disable_dynamic_ccd = NX_SBF_DISABLE_DYNAMIC_CCD, 00669 SBF_adhere = NX_SBF_ADHERE 00670 }; 00671 00672 enum PhysxShapesType { 00673 ST_static = NX_STATIC_SHAPES , 00674 ST_dynamic = NX_DYNAMIC_SHAPES , 00675 ST_all = NX_ALL_SHAPES 00676 }; 00677 00678 enum PhysxSphericalJointFlag { 00679 SJF_twist_limit_enabled = NX_SJF_TWIST_LIMIT_ENABLED, 00680 SJF_swing_limit_enabled = NX_SJF_SWING_LIMIT_ENABLED, 00681 SJF_twist_spring_enabled = NX_SJF_TWIST_SPRING_ENABLED, 00682 SJF_swing_spring_enabled = NX_SJF_SWING_SPRING_ENABLED, 00683 SJF_joint_spring_enabled = NX_SJF_JOINT_SPRING_ENABLED, 00684 SJF_perpendicular_dir_constraints = NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS 00685 }; 00686 00687 enum PhysxUpAxis { 00688 X_up = NX_X, 00689 Y_up = NX_Y, 00690 Z_up = NX_Z 00691 }; 00692 00693 enum PhysxVertexAttachmentStatus { 00694 VAS_none = NX_CLOTH_VERTEX_ATTACHMENT_NONE, 00695 VAS_global = NX_CLOTH_VERTEX_ATTACHMENT_GLOBAL, 00696 VAS_shape = NX_CLOTH_VERTEX_ATTACHMENT_SHAPE 00697 }; 00698 00699 enum PhysxWheelFlag { 00700 WF_steerable_input = NX_WF_STEERABLE_INPUT, 00701 WF_steerable_auto = NX_WF_STEERABLE_AUTO, 00702 WF_affected_by_handbrake = NX_WF_AFFECTED_BY_HANDBRAKE, 00703 WF_accelerated = NX_WF_ACCELERATED 00704 }; 00705 00706 enum PhysxWheelShapeFlag { 00707 WSF_wheel_axis_contact_normal = NX_WF_WHEEL_AXIS_CONTACT_NORMAL, 00708 WSF_input_lat_slipvelocity = NX_WF_INPUT_LAT_SLIPVELOCITY, 00709 WSF_input_lng_slipvelocity = NX_WF_INPUT_LNG_SLIPVELOCITY, 00710 WSF_unscaled_spring_behavior = NX_WF_UNSCALED_SPRING_BEHAVIOR, 00711 WSF_axle_speed_override = NX_WF_AXLE_SPEED_OVERRIDE, 00712 WSF_emulate_legacy_wheel = NX_WF_EMULATE_LEGACY_WHEEL, 00713 WSF_clamped_friction = NX_WF_CLAMPED_FRICTION 00714 }; 00715 00716 }; 00717 00718 EXPCL_PANDAPHYSX ostream &operator << (ostream &out, PhysxEnums::PhysxUpAxis axis); 00719 EXPCL_PANDAPHYSX istream &operator >> (istream &in, PhysxEnums::PhysxUpAxis &axis); 00720 00721 #endif 00722