Panda3D

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
PhysxManager Class Reference

The central interface to the PhysX subsystem. More...

`#include "physxManager.h"`

Inheritance diagram for PhysxManager:

## Public Member Functions
PhysxCcdSkeleton * | create_ccd_skeleton (PhysxCcdSkeletonDesc &desc)
PhysxHeightField * | create_height_field (PhysxHeightFieldDesc &desc)
PhysxScene * | create_scene (PhysxSceneDesc &desc)
PhysxCcdSkeleton * | get_ccd_skeleton (unsigned int idx)
PhysxClothMesh * | get_cloth_mesh (unsigned int idx)
PhysxConvexMesh * | get_convex_mesh (unsigned int idx)
PhysxHeightField * | get_height_field (unsigned int idx)
unsigned int | get_hw_version ()
| Reports the available revision of the PhysX Hardware.
const char * | get_internal_version ()
| Reports the internal API version number of the SDK.
unsigned int | get_num_ccd_skeletons ()
unsigned int | get_num_cloth_meshes ()
unsigned int | get_num_convex_meshes ()
unsigned int | get_num_height_fields ()
unsigned int | get_num_ppus ()
| Reports the number of PPUs installed in the host system.
unsigned int | get_num_scenes () const
unsigned int | get_num_soft_body_meshes ()
unsigned int | get_num_triangle_meshes ()
float | get_parameter (PhysxParameter param)
PhysxScene * | get_scene (unsigned int idx) const
NxPhysicsSDK * | get_sdk () const
| Returns a pointer to the NxPhysicsSDK.
PhysxSoftBodyMesh * | get_soft_body_mesh (unsigned int idx)
PhysxTriangleMesh * | get_triangle_mesh (unsigned int idx)
bool | is_hardware_available ()
| Returns TRUE if a physcis hardware is available on the host system.
void | ls () const
void | ls (std::ostream &out, int indent_level=0) const
void | set_parameter (PhysxParameter param, float value)

## Static Public Member Functions
static PhysxManager * | get_global_ptr ()
| Returns a pointer to the global PhysxManager object.
static NxMat33 | mat3_to_nxMat33 (const LMatrix3f &m)
| Converts from LMatrix3f to NxMat33.
static NxMat34 | mat4_to_nxMat34 (const LMatrix4f &m)
| Converts from LMatrix4f to NxMat34.
static LPoint3f | nxExtVec3_to_point3 (const NxExtendedVec3 &p)
| Converts from NxExtendedVec3 to LPoint3f.
static LVector3f | nxExtVec3_to_vec3 (const NxExtendedVec3 &v)
| Converts from NxExtendedVec3 to LVector3f.
static LMatrix3f | nxMat33_to_mat3 (const NxMat33 &m)
| Converts from NxMat33 to LMatrix3f.
static LMatrix4f | nxMat34_to_mat4 (const NxMat34 &m)
| Converts from NxMat34 to LMatrix4f.
static LQuaternionf | nxQuat_to_quat (const NxQuat &q)
| Converts from NxQuat to LQuaternionf.
static LPoint3f | nxVec3_to_point3 (const NxVec3 &p)
| Converts from NxVec3 to LPoint3f.
static LVector3f | nxVec3_to_vec3 (const NxVec3 &v)
| Converts from NxVec3 to LVector3f.
static NxExtendedVec3 | point3_to_nxExtVec3 (const LPoint3f &p)
| Converts from LPoint3f to NxExtendedVec3.
static NxVec3 | point3_to_nxVec3 (const LPoint3f &p)
| Converts from LPoint3f to NxVec3.
static NxQuat | quat_to_nxQuat (const LQuaternionf &q)
| Converts from LQuaternionf to NxQuat.
static void | update_point3_from_nxVec3 (LPoint3f &p, const NxVec3 &nVec)
static void | update_vec3_from_nxVec3 (LVector3f &v, const NxVec3 &nVec)
static NxExtendedVec3 | vec3_to_nxExtVec3 (const LVector3f &v)
| Converts from LVector3f to NxExtendedVec3.
static NxVec3 | vec3_to_nxVec3 (const LVector3f &v)
| Converts from LVector3f to NxVec3.

## Public Attributes
PhysxObjectCollection< PhysxCcdSkeleton > | _ccd_skeletons
PhysxObjectCollection< PhysxClothMesh > | _cloth_meshes
PhysxObjectCollection< PhysxConvexMesh > | _convex_meshes
PhysxObjectCollection< PhysxHeightField > | _heightfields
PhysxObjectCollection< PhysxScene > | _scenes
PhysxObjectCollection< PhysxSoftBodyMesh > | _softbody_meshes
PhysxObjectCollection< PhysxTriangleMesh > | _triangle_meshes
| get_ccd_skeleton
| get_cloth_mesh
| get_convex_mesh
| get_height_field
| get_num_ccd_skeletons
| get_num_cloth_meshes
| get_num_convex_meshes
| get_num_height_fields
| get_num_scenes
| get_num_soft_body_meshes
| get_num_triangle_meshes
| get_scene
| get_soft_body_mesh
| get_triangle_mesh

## Additional Inherited Members
Public Types inherited from PhysxEnums
enum | PhysxActorFlag { AF_disable_collision = NX_AF_DISABLE_COLLISION , AF_disable_response = NX_AF_DISABLE_RESPONSE , AF_lock_com = NX_AF_LOCK_COM , AF_fluid_disable_collision = NX_AF_FLUID_DISABLE_COLLISION , AF_contact_modification = NX_AF_CONTACT_MODIFICATION , AF_force_cone_friction = NX_AF_FORCE_CONE_FRICTION , AF_user_actor_pair_filtering = NX_AF_USER_ACTOR_PAIR_FILTERING }
enum | PhysxBodyFlag { BF_disable_gravity = NX_BF_DISABLE_GRAVITY , Bf_frozen_pos_x = NX_BF_FROZEN_POS_X , BF_frozen_pos_y = NX_BF_FROZEN_POS_Y , BF_frozen_pos_z = NX_BF_FROZEN_POS_Z , BF_frozen_rot_x = NX_BF_FROZEN_ROT_X , BF_frozen_rot_y = NX_BF_FROZEN_ROT_Y , BF_frozen_rot_z = NX_BF_FROZEN_ROT_Z , BF_frozen_pos = NX_BF_FROZEN_POS , BF_frozen_rot = NX_BF_FROZEN_ROT , BF_frozen = NX_BF_FROZEN , BF_kinematic = NX_BF_KINEMATIC , BF_visualization = NX_BF_VISUALIZATION , BF_filter_sleep_vel = NX_BF_FILTER_SLEEP_VEL , BF_energy_sleep_test = NX_BF_ENERGY_SLEEP_TEST }
enum | PhysxBroadPhaseType { BPT_sap_single = NX_BP_TYPE_SAP_SINGLE , BPT_sap_multi = NX_BP_TYPE_SAP_MULTI }
enum | PhysxClothFlag { CLF_pressure = NX_CLF_PRESSURE , CLF_static = NX_CLF_STATIC , CLF_disable_collision = NX_CLF_DISABLE_COLLISION , CLF_selfcollision = NX_CLF_SELFCOLLISION , CLF_visualization = NX_CLF_VISUALIZATION , CLF_gravity = NX_CLF_GRAVITY , CLF_bending = NX_CLF_BENDING , CLF_bending_ortho = NX_CLF_BENDING_ORTHO , CLF_damping = NX_CLF_DAMPING , CLF_collision_twoway = NX_CLF_COLLISION_TWOWAY , CLF_triangle_collision = NX_CLF_TRIANGLE_COLLISION , CLF_tearable = NX_CLF_TEARABLE , CLF_hardware = NX_CLF_HARDWARE , CLF_comdamping = NX_CLF_COMDAMPING , CLF_validbounds = NX_CLF_VALIDBOUNDS , CLF_fluid_collision = NX_CLF_FLUID_COLLISION , CLF_disable_dynamic_ccd = NX_CLF_DISABLE_DYNAMIC_CCD , CLF_adhere = NX_CLF_ADHERE }
enum | PhysxCombineMode { CM_average = NX_CM_AVERAGE , CM_min = NX_CM_MIN , CM_multiply = NX_CM_MULTIPLY , CM_max = NX_CM_MAX }
enum | PhysxContactPairFlag { CPF_ignore_pair = NX_IGNORE_PAIR , CPF_notify_on_start_touch = NX_NOTIFY_ON_START_TOUCH , CPF_notify_on_end_touch = NX_NOTIFY_ON_END_TOUCH , CPF_notify_on_touch = NX_NOTIFY_ON_TOUCH , CPF_notify_on_impact = NX_NOTIFY_ON_IMPACT , CPF_notify_on_roll = NX_NOTIFY_ON_ROLL , CPF_notify_on_slide = NX_NOTIFY_ON_SLIDE , CPF_notify_forces = NX_NOTIFY_FORCES , CPF_notify_on_start_touch_threshold = NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD , CPF_notify_on_end_touch_threshold = NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD , CPF_notify_on_touch_threshold = NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD , CPF_notify_contact_modifications = NX_NOTIFY_CONTACT_MODIFICATION }
enum | PhysxD6JointDriveType { D6_joint_drive_position = NX_D6JOINT_DRIVE_POSITION , D6_joint_drive_velocity = NX_D6JOINT_DRIVE_VELOCITY }
enum | PhysxD6JointFlag { D6_joint_slerp_drive = NX_D6JOINT_SLERP_DRIVE , D6_joint_gear_disabled = NX_D6JOINT_GEAR_ENABLED }
enum | PhysxD6JointMotion { D6_joint_motion_locked = NX_D6JOINT_MOTION_LOCKED , D6_joint_motion_limited = NX_D6JOINT_MOTION_LIMITED , D6_joint_motion_free = NX_D6JOINT_MOTION_FREE }
enum | PhysxDistanceJointFlag { DJF_max_distance_enabled = NX_DJF_MAX_DISTANCE_ENABLED , DJF_mix_distance_enabled = NX_DJF_MIN_DISTANCE_ENABLED , DJF_spring_enabled = NX_DJF_SPRING_ENABLED }
enum | PhysxFilterOp { FO_and = NX_FILTEROP_AND , FO_or = NX_FILTEROP_OR , FO_xor = NX_FILTEROP_XOR , FO_nand = NX_FILTEROP_NAND , FO_nor = NX_FILTEROP_NOR , FO_nxor = NX_FILTEROP_NXOR , FO_swap_and = NX_FILTEROP_SWAP_AND }
enum | PhysxForceFieldCoordinates { FFC_cartesian , FFC_spherical , FFC_cylindrical , FFC_toroidal }
enum | PhysxForceFieldShapeGroupFlag { FFSG_exclude_group = NX_FFSG_EXCLUDE_GROUP }
enum | PhysxForceMode { FM_force = NX_FORCE , FM_impulse = NX_IMPULSE , FM_velocity_change = NX_VELOCITY_CHANGE , FM_smooth_impulse = NX_SMOOTH_IMPULSE , FM_smooth_velocity_change = NX_SMOOTH_VELOCITY_CHANGE , FM_acceleration = NX_ACCELERATION }
enum | PhysxJointFlag { JF_collision_enabled = NX_JF_COLLISION_ENABLED , JF_visualization = NX_JF_VISUALIZATION }
enum | PhysxMaterialFlag { MF_anisotropic = NX_MF_ANISOTROPIC , MF_disable_friction = NX_MF_DISABLE_FRICTION , MF_disable_strong_friction = NX_MF_DISABLE_STRONG_FRICTION }
enum | PhysxParameter { P_penalty_force = NX_PENALTY_FORCE , P_skin_width = NX_SKIN_WIDTH , P_default_sleep_lin_vel_squared = NX_DEFAULT_SLEEP_LIN_VEL_SQUARED , P_default_sleep_ang_vel_squared = NX_DEFAULT_SLEEP_ANG_VEL_SQUARED , P_bounce_threshold = NX_BOUNCE_THRESHOLD , P_dyn_frict_scaling = NX_DYN_FRICT_SCALING , P_sta_frict_scaling = NX_STA_FRICT_SCALING , P_max_angular_velocity = NX_MAX_ANGULAR_VELOCITY , P_continuous_cd = NX_CONTINUOUS_CD , P_visualization_scale = NX_VISUALIZATION_SCALE , P_adaptive_force = NX_ADAPTIVE_FORCE , P_coll_veta_jointed = NX_COLL_VETO_JOINTED , P_trigger_trigger_callback = NX_TRIGGER_TRIGGER_CALLBACK , P_select_hw_algo = NX_SELECT_HW_ALGO , P_ccd_epsilon = NX_CCD_EPSILON , P_solver_convergence_threshold = NX_SOLVER_CONVERGENCE_THRESHOLD , P_bbox_noise_level = NX_BBOX_NOISE_LEVEL , P_implicit_sweep_cache_size = NX_IMPLICIT_SWEEP_CACHE_SIZE , P_default_sleep_energy = NX_DEFAULT_SLEEP_ENERGY , P_constant_fluid_max_packets = NX_CONSTANT_FLUID_MAX_PACKETS , P_constant_fluid_max_particles_per_step = NX_CONSTANT_FLUID_MAX_PARTICLES_PER_STEP , P_asynchronous_mesh_creation = NX_ASYNCHRONOUS_MESH_CREATION , P_force_field_custom_kernel_epsilon = NX_FORCE_FIELD_CUSTOM_KERNEL_EPSILON , P_improved_spring_solver = NX_IMPROVED_SPRING_SOLVER , P_visualize_world_axes = NX_VISUALIZE_WORLD_AXES , P_visualize_body_axes = NX_VISUALIZE_BODY_AXES , P_visualize_body_mass_axes = NX_VISUALIZE_BODY_MASS_AXES , P_visualize_body_lin_velocity = NX_VISUALIZE_BODY_LIN_VELOCITY , P_visualize_body_ang_velocity = NX_VISUALIZE_BODY_ANG_VELOCITY , P_visualize_body_joint_groups = NX_VISUALIZE_BODY_JOINT_GROUPS , P_visualize_joint_local_axes = NX_VISUALIZE_JOINT_LOCAL_AXES , P_visualize_joint_world_axes = NX_VISUALIZE_JOINT_WORLD_AXES , P_visualize_joint_limits = NX_VISUALIZE_JOINT_LIMITS , P_visualize_contact_point = NX_VISUALIZE_CONTACT_POINT , P_visualize_contact_normal = NX_VISUALIZE_CONTACT_NORMAL , P_visualize_contact_error = NX_VISUALIZE_CONTACT_ERROR , P_visualize_contact_force = NX_VISUALIZE_CONTACT_FORCE , P_visualize_actor_axes = NX_VISUALIZE_ACTOR_AXES , P_visualize_collision_aabbs = NX_VISUALIZE_COLLISION_AABBS , P_visualize_collision_shapes = NX_VISUALIZE_COLLISION_SHAPES , P_visualize_collision_axes = NX_VISUALIZE_COLLISION_AXES , P_visualize_collision_compounds = NX_VISUALIZE_COLLISION_COMPOUNDS , P_visualize_collision_vnormals = NX_VISUALIZE_COLLISION_VNORMALS , P_visualize_collision_fnormals = NX_VISUALIZE_COLLISION_FNORMALS , P_visualize_collision_edges = NX_VISUALIZE_COLLISION_EDGES , P_visualize_collision_spheres = NX_VISUALIZE_COLLISION_SPHERES , P_visualize_collision_static = NX_VISUALIZE_COLLISION_STATIC , P_visualize_collision_dynamic = NX_VISUALIZE_COLLISION_DYNAMIC , P_visualize_collision_free = NX_VISUALIZE_COLLISION_FREE , P_visualize_collision_ccd = NX_VISUALIZE_COLLISION_CCD , P_visualize_collision_skeletons = NX_VISUALIZE_COLLISION_SKELETONS , P_visualize_fluid_emitters = NX_VISUALIZE_FLUID_EMITTERS , P_visualize_fluid_position = NX_VISUALIZE_FLUID_POSITION , P_visualize_fluid_velocity = NX_VISUALIZE_FLUID_VELOCITY , P_visualize_fluid_kernel_radius = NX_VISUALIZE_FLUID_KERNEL_RADIUS , P_visualize_fluid_bounds = NX_VISUALIZE_FLUID_BOUNDS , P_visualize_fluid_packets = NX_VISUALIZE_FLUID_PACKETS , P_visualize_fluid_motion_limit = NX_VISUALIZE_FLUID_MOTION_LIMIT , P_visualize_fluid_dyn_collision = NX_VISUALIZE_FLUID_DYN_COLLISION , P_visualize_fluid_stc_collision = NX_VISUALIZE_FLUID_STC_COLLISION , P_visualize_fluid_mesh_packets = NX_VISUALIZE_FLUID_MESH_PACKETS , P_visualize_fluid_drains = NX_VISUALIZE_FLUID_DRAINS , P_visualize_fluid_packet_data = NX_VISUALIZE_FLUID_PACKET_DATA , P_visualize_cloth_mesh = NX_VISUALIZE_CLOTH_MESH , P_visualize_cloth_collisions = NX_VISUALIZE_CLOTH_COLLISIONS , P_visualize_cloth_selfcollisions = NX_VISUALIZE_CLOTH_SELFCOLLISIONS , P_visualize_cloth_workpackets = NX_VISUALIZE_CLOTH_WORKPACKETS , P_visualize_cloth_sleep = NX_VISUALIZE_CLOTH_SLEEP , P_visualize_cloth_sleep_vertex = NX_VISUALIZE_CLOTH_SLEEP_VERTEX , P_visualize_cloth_tearable_vertices = NX_VISUALIZE_CLOTH_TEARABLE_VERTICES , P_visualize_cloth_tearing = NX_VISUALIZE_CLOTH_TEARING , P_visualize_cloth_attachment = NX_VISUALIZE_CLOTH_ATTACHMENT , P_visualize_cloth_validbounds = NX_VISUALIZE_CLOTH_VALIDBOUNDS , P_visualize_softbody_mesh = NX_VISUALIZE_SOFTBODY_MESH , P_visualize_softbody_collisions = NX_VISUALIZE_SOFTBODY_COLLISIONS , P_visualize_softbody_workpackets = NX_VISUALIZE_SOFTBODY_WORKPACKETS , P_visualize_softbody_sleep = NX_VISUALIZE_SOFTBODY_SLEEP , P_visualize_softbody_sleep_vertex = NX_VISUALIZE_SOFTBODY_SLEEP_VERTEX , P_visualize_softbody_tearable_vertices = NX_VISUALIZE_SOFTBODY_TEARABLE_VERTICES , P_visualize_softbody_tearing = NX_VISUALIZE_SOFTBODY_TEARING , P_visualize_softbody_attachment = NX_VISUALIZE_SOFTBODY_ATTACHMENT , P_visualize_softbody_validbounds = NX_VISUALIZE_SOFTBODY_VALIDBOUNDS , P_visualize_active_vertices = NX_VISUALIZE_ACTIVE_VERTICES , P_visualize_force_fields = NX_VISUALIZE_FORCE_FIELDS }
enum | PhysxProjectionMode { PM_none = NX_JPM_NONE , PM_point_mindist = NX_JPM_POINT_MINDIST , PM_linear_mindist = NX_JPM_LINEAR_MINDIST }
enum | PhysxPruningStructure { PS_none = NX_PRUNING_NONE , PS_octree = NX_PRUNING_OCTREE , PS_quadtree = NX_PRUNING_QUADTREE , PS_dynamic_aabb_tree = NX_PRUNING_DYNAMIC_AABB_TREE , PS_static_aabb_tree = NX_PRUNING_STATIC_AABB_TREE }
enum | PhysxPulleyJointFlag { PJF_is_rigid = NX_PJF_IS_RIGID , PJF_motor_enabled = NX_PJF_MOTOR_ENABLED }
enum | PhysxRevoluteJointFlag { RJF_limit_enabled = NX_RJF_LIMIT_ENABLED , RJF_motor_enabled = NX_RJF_MOTOR_ENABLED , RJF_spring_enabled = NX_RJF_SPRING_ENABLED }
enum | PhysxSceneFlag { SF_disable_sse = NX_SF_DISABLE_SSE , SF_disable_collisions = NX_SF_DISABLE_COLLISIONS , SF_restricted_scene = NX_SF_RESTRICTED_SCENE , SF_disable_scene_mutex = NX_SF_DISABLE_SCENE_MUTEX , SF_force_cone_friction = NX_SF_FORCE_CONE_FRICTION , SF_sequential_primary = NX_SF_SEQUENTIAL_PRIMARY , SF_fluid_performance_hint = NX_SF_FLUID_PERFORMANCE_HINT }
enum | PhysxShapeFlag { SF_trigger_on_enter = NX_TRIGGER_ON_ENTER , SF_trigger_on_leave = NX_TRIGGER_ON_LEAVE , SF_trigger_on_stay = NX_TRIGGER_ON_STAY , SF_trigger_enable = NX_TRIGGER_ENABLE , SF_visualization = NX_SF_VISUALIZATION , SF_disable_collision = NX_SF_DISABLE_COLLISION , SF_disable_raycasting = NX_SF_DISABLE_RAYCASTING , SF_disable_response = NX_SF_DISABLE_RESPONSE , SF_disable_scene_queries = NX_SF_DISABLE_SCENE_QUERIES , SF_point_contact_force = NX_SF_POINT_CONTACT_FORCE , SF_feature_indices = NX_SF_FEATURE_INDICES , SF_dynamic_dynamic_ccd = NX_SF_DYNAMIC_DYNAMIC_CCD , SF_fluid_drain = NX_SF_FLUID_DRAIN , SF_fluid_disable_collision = NX_SF_FLUID_DISABLE_COLLISION , SF_fluid_twoway = NX_SF_FLUID_TWOWAY , SF_cloth_drain = NX_SF_CLOTH_DRAIN , SF_cloth_disable_collision = NX_SF_CLOTH_DISABLE_COLLISION , SF_cloth_twoway = NX_SF_CLOTH_TWOWAY , SF_softbody_drain = NX_SF_SOFTBODY_DRAIN , SF_softbody_disable_collision = NX_SF_SOFTBODY_DISABLE_COLLISION , SF_softbody_twoway = NX_SF_SOFTBODY_TWOWAY }
enum | PhysxShapesType { ST_static = NX_STATIC_SHAPES , ST_dynamic = NX_DYNAMIC_SHAPES , ST_all = NX_ALL_SHAPES }
enum | PhysxSoftBodyFlag { SBF_static = NX_SBF_STATIC , SBF_disable_collision = NX_SBF_DISABLE_COLLISION , SBF_selfcollision = NX_SBF_SELFCOLLISION , SBF_visualization = NX_SBF_VISUALIZATION , SBF_gravity = NX_SBF_GRAVITY , SBF_volume_conservtion = NX_SBF_VOLUME_CONSERVATION , SBF_damping = NX_SBF_DAMPING , SBF_collision_twoway = NX_SBF_COLLISION_TWOWAY , SBF_tearable = NX_SBF_TEARABLE , SBF_hardware = NX_SBF_HARDWARE , SBF_comdamping = NX_SBF_COMDAMPING , SBF_validbounds = NX_SBF_VALIDBOUNDS , SBF_fluid_collision = NX_SBF_FLUID_COLLISION , SBF_disable_dynamic_ccd = NX_SBF_DISABLE_DYNAMIC_CCD , SBF_adhere = NX_SBF_ADHERE }
enum | PhysxSphericalJointFlag { SJF_twist_limit_enabled = NX_SJF_TWIST_LIMIT_ENABLED , SJF_swing_limit_enabled = NX_SJF_SWING_LIMIT_ENABLED , SJF_twist_spring_enabled = NX_SJF_TWIST_SPRING_ENABLED , SJF_swing_spring_enabled = NX_SJF_SWING_SPRING_ENABLED , SJF_joint_spring_enabled = NX_SJF_JOINT_SPRING_ENABLED , SJF_perpendicular_dir_constraints = NX_SJF_PERPENDICULAR_DIR_CONSTRAINTS }
enum | PhysxUpAxis { X_up = NX_X , Y_up = NX_Y , Z_up = NX_Z }
enum | PhysxVertexAttachmentStatus { VAS_none = NX_CLOTH_VERTEX_ATTACHMENT_NONE , VAS_global = NX_CLOTH_VERTEX_ATTACHMENT_GLOBAL , VAS_shape = NX_CLOTH_VERTEX_ATTACHMENT_SHAPE }
enum | PhysxWheelFlag { WF_steerable_input = 1<<0 , WF_steerable_auto = 1<<1 , WF_affected_by_handbrake = 1<<2 , WF_accelerated = 1<<3 }
enum | PhysxWheelShapeFlag { WSF_wheel_axis_contact_normal = NX_WF_WHEEL_AXIS_CONTACT_NORMAL , WSF_input_lat_slipvelocity = NX_WF_INPUT_LAT_SLIPVELOCITY , WSF_input_lng_slipvelocity = NX_WF_INPUT_LNG_SLIPVELOCITY , WSF_unscaled_spring_behavior = NX_WF_UNSCALED_SPRING_BEHAVIOR , WSF_axle_speed_override = NX_WF_AXLE_SPEED_OVERRIDE , WSF_emulate_legacy_wheel = NX_WF_EMULATE_LEGACY_WHEEL , WSF_clamped_friction = NX_WF_CLAMPED_FRICTION }

## Detailed Description

The central interface to the PhysX subsystem.

Used e. g. for setting/retrieving global parameters or for creating scenes.

Definition at line 41 of file physxManager.h.

## Constructor & Destructor Documentation

## ◆ ~PhysxManager()

PhysxManager::~PhysxManager | ( |  | ) |

Definition at line 79 of file physxManager.cxx.

## Member Function Documentation

## ◆ create_ccd_skeleton()

PhysxCcdSkeleton * PhysxManager::create_ccd_skeleton | ( | PhysxCcdSkeletonDesc & | desc | ) |

Definition at line 299 of file physxManager.cxx.

## ◆ create_height_field()

PhysxHeightField * PhysxManager::create_height_field | ( | PhysxHeightFieldDesc & | desc | ) |

Definition at line 180 of file physxManager.cxx.

## ◆ create_scene()

PhysxScene * PhysxManager::create_scene | ( | PhysxSceneDesc & | desc | ) |

Definition at line 124 of file physxManager.cxx.

## ◆ get_global_ptr()

PhysxManager * PhysxManager::get_global_ptr | ( |  | ) |
| static

Returns a pointer to the global PhysxManager object.

Definition at line 97 of file physxManager.cxx.

## ◆ get_hw_version()

unsigned int PhysxManager::get_hw_version | ( |  | ) |

Reports the available revision of the PhysX Hardware.

Returns 0 if there is no hardware present in the machine, 1 for the PhysX Athena revision 1.0 card.

Definition at line 350 of file physxManager.cxx.

## ◆ get_internal_version()

const char * PhysxManager::get_internal_version | ( |  | ) |

Reports the internal API version number of the SDK.

Definition at line 359 of file physxManager.cxx.

## ◆ get_num_ppus()

unsigned int PhysxManager::get_num_ppus | ( |  | ) |

Reports the number of PPUs installed in the host system.

Definition at line 339 of file physxManager.cxx.

## ◆ get_parameter()

float PhysxManager::get_parameter | ( | PhysxParameter | param | ) |

Definition at line 390 of file physxManager.cxx.

## ◆ get_sdk()

NxPhysicsSDK * PhysxManager::get_sdk | ( |  | ) | const
| inline

Returns a pointer to the NxPhysicsSDK.

Definition at line 17 of file physxManager.I.

## ◆ is_hardware_available()

bool PhysxManager::is_hardware_available | ( |  | ) |

Returns TRUE if a physcis hardware is available on the host system.

Definition at line 330 of file physxManager.cxx.

## ◆ ls() [1/2]

void PhysxManager::ls | ( |  | ) | const
| inline

Definition at line 185 of file physxManager.I.

## ◆ ls() [2/2]

void PhysxManager::ls | ( | std::ostream & | out,
|  | int | indent_level = 0 ) const
| inline

Definition at line 194 of file physxManager.I.

## ◆ mat3_to_nxMat33()

NxMat33 PhysxManager::mat3_to_nxMat33 | ( | const LMatrix3f & | m | ) |
| inline static

Converts from LMatrix3f to NxMat33.

Definition at line 138 of file physxManager.I.

Referenced by PhysxBounds3::bounds_of_obb(), PhysxUtilLib::box_box_intersect(), mat4_to_nxMat34(), PhysxUtilLib::point_obb_sqr_dist(), PhysxUtilLib::ray_obb_intersect(), PhysxUtilLib::segment_obb_intersect(), PhysxActor::set_c_mass_global_orientation(), PhysxActor::set_c_mass_offset_global_orientation(), PhysxActor::set_c_mass_offset_local_orientation(), PhysxActorDesc::set_global_hpr(), PhysxBox::set_rot(), and PhysxBounds3::transform().

## ◆ mat4_to_nxMat34()

NxMat34 PhysxManager::mat4_to_nxMat34 | ( | const LMatrix4f & | m | ) |
| inline static

Converts from LMatrix4f to NxMat34.

Definition at line 118 of file physxManager.I.

References mat3_to_nxMat33(), and vec3_to_nxVec3().

Referenced by PhysxUtilLib::create_box(), PhysxActor::move_global_mat(), PhysxBox::rotate(), PhysxActor::set_c_mass_global_mat(), PhysxActor::set_c_mass_offset_global_mat(), PhysxActor::set_c_mass_offset_local_mat(), PhysxActor::set_global_mat(), PhysxActorDesc::set_global_mat(), PhysxShape::set_local_mat(), PhysxBodyDesc::set_mass_local_mat(), PhysxForceFieldShape::set_mat(), PhysxHeightFieldShapeDesc::set_to_default(), and PhysxWheelShapeDesc::set_to_default().

## ◆ nxExtVec3_to_point3()

LPoint3f PhysxManager::nxExtVec3_to_point3 | ( | const NxExtendedVec3 & | p | ) |
| inline static

Converts from NxExtendedVec3 to LPoint3f.

Definition at line 89 of file physxManager.I.

Referenced by PhysxController::get_pos(), and PhysxControllerDesc::get_pos().

## ◆ nxExtVec3_to_vec3()

LVector3f PhysxManager::nxExtVec3_to_vec3 | ( | const NxExtendedVec3 & | v | ) |
| inline static

Converts from NxExtendedVec3 to LVector3f.

Definition at line 53 of file physxManager.I.

## ◆ nxMat33_to_mat3()

LMatrix3f PhysxManager::nxMat33_to_mat3 | ( | const NxMat33 & | m | ) |
| inline static

Converts from NxMat33 to LMatrix3f.

Definition at line 149 of file physxManager.I.

Referenced by PhysxUtilLib::find_rotation_matrix(), PhysxActor::get_c_mass_global_orientation(), PhysxActor::get_c_mass_local_orientation(), PhysxActor::get_global_inertia_tensor(), PhysxActor::get_global_inertia_tensor_inverse(), PhysxBox::get_rot(), and nxMat34_to_mat4().

## ◆ nxMat34_to_mat4()

LMatrix4f PhysxManager::nxMat34_to_mat4 | ( | const NxMat34 & | m | ) |
| inline static

Converts from NxMat34 to LMatrix4f.

Definition at line 129 of file physxManager.I.

References nxMat33_to_mat3(), and nxVec3_to_vec3().

Referenced by PhysxScene::fetch_results(), PhysxActor::get_c_mass_global_mat(), PhysxActor::get_c_mass_local_mat(), PhysxActor::get_global_mat(), PhysxActorDesc::get_global_mat(), PhysxShape::get_local_mat(), PhysxBodyDesc::get_mass_local_mat(), and PhysxForceFieldShape::get_mat().

## ◆ nxQuat_to_quat()

LQuaternionf PhysxManager::nxQuat_to_quat | ( | const NxQuat & | q | ) |
| inline static

Converts from NxQuat to LQuaternionf.

Definition at line 109 of file physxManager.I.

Referenced by PhysxActor::get_global_quat().

## ◆ nxVec3_to_point3()

LPoint3f PhysxManager::nxVec3_to_point3 | ( | const NxVec3 & | p | ) |
| inline static

Converts from NxVec3 to LPoint3f.

Definition at line 71 of file physxManager.I.

Referenced by PhysxActor::get_c_mass_global_pos(), PhysxActor::get_c_mass_local_pos(), PhysxBounds3::get_center(), PhysxBox::get_center(), PhysxJoint::get_global_anchor(), PhysxActor::get_global_pos(), PhysxActorDesc::get_global_pos(), PhysxShape::get_local_pos(), PhysxBounds3::get_max(), PhysxBounds3::get_min(), PhysxCapsule::get_origin(), PhysxRay::get_origin(), PhysxSegment::get_origin(), PhysxContactPoint::get_point(), PhysxForceFieldShape::get_pos(), and PhysxCloth::get_vertex_attachment_pos().

## ◆ nxVec3_to_vec3()

LVector3f PhysxManager::nxVec3_to_vec3 | ( | const NxVec3 & | v | ) |
| inline static

Converts from NxVec3 to LVector3f.

Definition at line 35 of file physxManager.I.

Referenced by PhysxUtilLib::compute_box_inertia_tensor(), PhysxUtilLib::compute_box_world_edge_normal(), PhysxUtilLib::compute_sphere_inertia_tensor(), PhysxActor::get_angular_momentum(), PhysxActor::get_angular_velocity(), PhysxBodyDesc::get_angular_velocity(), PhysxSphere::get_center(), PhysxBounds3::get_dimensions(), PhysxBoxForceFieldShape::get_dimensions(), PhysxBoxForceFieldShapeDesc::get_dimensions(), PhysxBoxShape::get_dimensions(), PhysxBoxShapeDesc::get_dimensions(), PhysxMaterial::get_dir_of_anisotropy(), PhysxMaterialDesc::get_dir_of_anisotropy(), PhysxRay::get_direction(), PhysxBox::get_extents(), PhysxBoxController::get_extents(), PhysxBoxControllerDesc::get_extents(), PhysxCloth::get_external_acceleration(), PhysxJoint::get_global_axis(), PhysxScene::get_gravity(), PhysxSceneDesc::get_gravity(), PhysxActor::get_linear_momentum(), PhysxActor::get_linear_velocity(), PhysxBodyDesc::get_linear_velocity(), PhysxActor::get_local_point_velocity(), PhysxBodyDesc::get_mass_space_inertia(), PhysxActor::get_mass_space_inertia_tensor(), PhysxContactPoint::get_normal(), PhysxCapsule::get_p0(), PhysxSegment::get_p0(), PhysxCapsule::get_p1(), PhysxSegment::get_p1(), PhysxActor::get_point_velocity(), PhysxContactPair::get_sum_friction_force(), PhysxContactPair::get_sum_normal_force(), PhysxCloth::get_wind_acceleration(), and nxMat34_to_mat4().

## ◆ point3_to_nxExtVec3()

NxExtendedVec3 PhysxManager::point3_to_nxExtVec3 | ( | const LPoint3f & | p | ) |
| inline static

Converts from LPoint3f to NxExtendedVec3.

Definition at line 80 of file physxManager.I.

Referenced by PhysxController::set_pos(), and PhysxControllerDesc::set_pos().

## ◆ point3_to_nxVec3()

NxVec3 PhysxManager::point3_to_nxVec3 | ( | const LPoint3f & | p | ) |
| inline static

Converts from LPoint3f to NxVec3.

Definition at line 62 of file physxManager.I.

Referenced by PhysxCloth::add_directed_force_at_pos(), PhysxActor::add_force_at_local_pos(), PhysxActor::add_force_at_pos(), PhysxCloth::add_force_at_pos(), PhysxJoint::add_limit_plane(), PhysxActor::add_local_force_at_local_pos(), PhysxActor::add_local_force_at_pos(), PhysxCloth::attach_vertex_to_global_pos(), PhysxCloth::attach_vertex_to_shape(), PhysxBounds3::bounds_of_obb(), PhysxUtilLib::box_box_intersect(), PhysxUtilLib::box_contains_point(), PhysxCapsule::compute_direction(), PhysxSegment::compute_direction(), PhysxUtilLib::compute_distance_squared(), PhysxCapsule::compute_point(), PhysxSegment::compute_point(), PhysxUtilLib::compute_square_distance(), PhysxBounds3::contain(), PhysxActor::get_local_point_velocity(), PhysxActor::get_point_velocity(), PhysxBounds3::include(), PhysxActor::move_global_pos(), PhysxScene::overlap_capsule_shapes(), PhysxScene::overlap_sphere_shapes(), PhysxUtilLib::point_obb_sqr_dist(), PhysxUtilLib::ray_aabb_intersect(), PhysxUtilLib::ray_capsule_intersect(), PhysxUtilLib::ray_obb_intersect(), PhysxUtilLib::ray_sphere_intersect(), PhysxUtilLib::ray_tri_intersect(), PhysxUtilLib::segment_aabb_intersect(), PhysxUtilLib::segment_box_intersect(), PhysxUtilLib::segment_obb_intersect(), PhysxBounds3::set(), PhysxActor::set_c_mass_global_pos(), PhysxActor::set_c_mass_offset_global_pos(), PhysxActor::set_c_mass_offset_local_pos(), PhysxBounds3::set_center_extents(), PhysxClothMeshDesc::set_from_node_path(), PhysxJoint::set_global_anchor(), PhysxJointDesc::set_global_anchor(), PhysxActor::set_global_pos(), PhysxActorDesc::set_global_pos(), PhysxJoint::set_limit_point(), PhysxJointDesc::set_local_anchor(), PhysxShape::set_local_pos(), PhysxBounds3::set_max(), PhysxBounds3::set_min(), PhysxRay::set_origin(), PhysxCapsule::set_origin_direction(), PhysxSegment::set_origin_direction(), PhysxForceFieldShape::set_pos(), PhysxPulleyJointDesc::set_pulley(), PhysxCcdSkeletonDesc::set_vertex(), PhysxClothMeshDesc::set_vertex(), PhysxConvexMeshDesc::set_vertex(), PhysxSoftBodyMeshDesc::set_vertex(), PhysxTriangleMeshDesc::set_vertex(), PhysxBounds3::transform(), and PhysxUtilLib::tri_box_intersect().

## ◆ quat_to_nxQuat()

NxQuat PhysxManager::quat_to_nxQuat | ( | const LQuaternionf & | q | ) |
| inline static

Converts from LQuaternionf to NxQuat.

Definition at line 98 of file physxManager.I.

Referenced by PhysxActor::move_global_hpr(), and PhysxActor::set_global_hpr().

## ◆ set_parameter()

void PhysxManager::set_parameter | ( | PhysxParameter | param,
|  | float | value )

Definition at line 381 of file physxManager.cxx.

## ◆ update_point3_from_nxVec3()

void PhysxManager::update_point3_from_nxVec3 | ( | LPoint3f & | p,
|  | const NxVec3 & | nVec )
| inline static

Definition at line 173 of file physxManager.I.

## ◆ update_vec3_from_nxVec3()

void PhysxManager::update_vec3_from_nxVec3 | ( | LVector3f & | v,
|  | const NxVec3 & | nVec )
| inline static

Definition at line 162 of file physxManager.I.

## ◆ vec3_to_nxExtVec3()

NxExtendedVec3 PhysxManager::vec3_to_nxExtVec3 | ( | const LVector3f & | v | ) |
| inline static

Converts from LVector3f to NxExtendedVec3.

Definition at line 44 of file physxManager.I.

## ◆ vec3_to_nxVec3()

NxVec3 PhysxManager::vec3_to_nxVec3 | ( | const LVector3f & | v | ) |
| inline static

Converts from LVector3f to NxVec3.

Definition at line 26 of file physxManager.I.

Referenced by PhysxCloth::add_directed_force_at_pos(), PhysxActor::add_force(), PhysxActor::add_force_at_local_pos(), PhysxActor::add_force_at_pos(), PhysxCloth::add_force_at_vertex(), PhysxJoint::add_limit_plane(), PhysxActor::add_local_force(), PhysxActor::add_local_force_at_local_pos(), PhysxActor::add_local_force_at_pos(), PhysxActor::add_local_torque(), PhysxActor::add_torque(), PhysxBounds3::bounds_of_obb(), PhysxUtilLib::box_box_intersect(), PhysxUtilLib::compute_box_density(), PhysxUtilLib::compute_box_mass(), PhysxUtilLib::compute_ellipsoid_density(), PhysxUtilLib::compute_ellipsoid_mass(), PhysxSphere::contains(), PhysxSphere::contains(), PhysxUtilLib::find_rotation_matrix(), mat4_to_nxMat34(), PhysxUtilLib::normal_to_tangents(), PhysxUtilLib::point_obb_sqr_dist(), PhysxUtilLib::ray_aabb_intersect(), PhysxUtilLib::ray_capsule_intersect(), PhysxUtilLib::ray_sphere_intersect(), PhysxUtilLib::ray_tri_intersect(), PhysxUtilLib::segment_obb_intersect(), PhysxActor::set_angular_momentum(), PhysxActor::set_angular_velocity(), PhysxBodyDesc::set_angular_velocity(), PhysxBox::set_center(), PhysxSphere::set_center(), PhysxBounds3::set_center_extents(), PhysxBoxForceFieldShape::set_dimensions(), PhysxBoxForceFieldShapeDesc::set_dimensions(), PhysxBoxShape::set_dimensions(), PhysxBoxShapeDesc::set_dimensions(), PhysxMaterial::set_dir_of_anisotropy(), PhysxMaterialDesc::set_dir_of_anisotropy(), PhysxRay::set_direction(), PhysxBox::set_extents(), PhysxBoxController::set_extents(), PhysxBoxControllerDesc::set_extents(), PhysxCloth::set_external_acceleration(), PhysxJoint::set_global_axis(), PhysxJointDesc::set_global_axis(), PhysxScene::set_gravity(), PhysxSceneDesc::set_gravity(), PhysxActor::set_linear_momentum(), PhysxActor::set_linear_velocity(), PhysxBodyDesc::set_linear_velocity(), PhysxJointDesc::set_local_axis(), PhysxJointDesc::set_local_normal(), PhysxBodyDesc::set_mass_space_inertia(), PhysxActor::set_mass_space_inertia_tensor(), PhysxCapsule::set_origin_direction(), PhysxSegment::set_origin_direction(), PhysxCapsule::set_p0(), PhysxSegment::set_p0(), PhysxCapsule::set_p1(), PhysxSegment::set_p1(), PhysxPlaneShape::set_plane(), PhysxPlaneShapeDesc::set_plane(), PhysxSphericalJointDesc::set_swing_axis(), PhysxCloth::set_wind_acceleration(), PhysxUtilLib::sweep_box_box(), PhysxUtilLib::sweep_box_capsule(), PhysxUtilLib::sweep_box_sphere(), PhysxUtilLib::sweep_capsule_capsule(), PhysxUtilLib::sweep_sphere_capsule(), and PhysxUtilLib::swept_spheres_intersect().

## Member Data Documentation

## ◆ _ccd_skeletons

PhysxObjectCollection<PhysxCcdSkeleton> PhysxManager::_ccd_skeletons

Definition at line 103 of file physxManager.h.

## ◆ _cloth_meshes

PhysxObjectCollection<PhysxClothMesh> PhysxManager::_cloth_meshes

Definition at line 101 of file physxManager.h.

## ◆ _convex_meshes

PhysxObjectCollection<PhysxConvexMesh> PhysxManager::_convex_meshes

Definition at line 99 of file physxManager.h.

## ◆ _heightfields

PhysxObjectCollection<PhysxHeightField> PhysxManager::_heightfields

Definition at line 98 of file physxManager.h.

## ◆ _scenes

PhysxObjectCollection<PhysxScene> PhysxManager::_scenes

Definition at line 97 of file physxManager.h.

## ◆ _softbody_meshes

PhysxObjectCollection<PhysxSoftBodyMesh> PhysxManager::_softbody_meshes

Definition at line 102 of file physxManager.h.

## ◆ _triangle_meshes

PhysxObjectCollection<PhysxTriangleMesh> PhysxManager::_triangle_meshes

Definition at line 100 of file physxManager.h.

## ◆ get_ccd_skeleton

PhysxCcdSkeleton * PhysxManager::get_ccd_skeleton

Definition at line 89 of file physxManager.h.

## ◆ get_cloth_mesh

PhysxClothMesh * PhysxManager::get_cloth_mesh

Definition at line 80 of file physxManager.h.

## ◆ get_convex_mesh

PhysxConvexMesh * PhysxManager::get_convex_mesh

Definition at line 72 of file physxManager.h.

## ◆ get_height_field

PhysxHeightField * PhysxManager::get_height_field

Definition at line 68 of file physxManager.h.

## ◆ get_num_ccd_skeletons

unsigned int PhysxManager::get_num_ccd_skeletons

Definition at line 89 of file physxManager.h.

## ◆ get_num_cloth_meshes

unsigned int PhysxManager::get_num_cloth_meshes

Definition at line 80 of file physxManager.h.

## ◆ get_num_convex_meshes

unsigned int PhysxManager::get_num_convex_meshes

Definition at line 72 of file physxManager.h.

## ◆ get_num_height_fields

unsigned int PhysxManager::get_num_height_fields

Definition at line 68 of file physxManager.h.

## ◆ get_num_scenes

unsigned int PhysxManager::get_num_scenes

Definition at line 63 of file physxManager.h.

## ◆ get_num_soft_body_meshes

unsigned int PhysxManager::get_num_soft_body_meshes

Definition at line 84 of file physxManager.h.

## ◆ get_num_triangle_meshes

unsigned int PhysxManager::get_num_triangle_meshes

Definition at line 76 of file physxManager.h.

## ◆ get_scene

PhysxScene * PhysxManager::get_scene

Definition at line 63 of file physxManager.h.

## ◆ get_soft_body_mesh

PhysxSoftBodyMesh * PhysxManager::get_soft_body_mesh

Definition at line 84 of file physxManager.h.

## ◆ get_triangle_mesh

PhysxTriangleMesh * PhysxManager::get_triangle_mesh

Definition at line 76 of file physxManager.h.

The documentation for this class was generated from the following files:

- panda/src/physx/physxManager.h
- panda/src/physx/physxManager.cxx
- panda/src/physx/physxManager.I