Panda3D
 All Classes Functions Variables Enumerations
physxEnums.h
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 
 All Classes Functions Variables Enumerations