Panda3D
Classes | 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:
PhysxEnums

Public Member Functions

PhysxCcdSkeletoncreate_ccd_skeleton (PhysxCcdSkeletonDesc &desc)
 
PhysxHeightFieldcreate_height_field (PhysxHeightFieldDesc &desc)
 
PhysxScenecreate_scene (PhysxSceneDesc &desc)
 
PhysxCcdSkeletonget_ccd_skeleton (unsigned int idx)
 
PhysxClothMeshget_cloth_mesh (unsigned int idx)
 
PhysxConvexMeshget_convex_mesh (unsigned int idx)
 
PhysxHeightFieldget_height_field (unsigned int idx)
 
unsigned int get_hw_version ()
 Reports the available revision of the PhysX Hardware. More...
 
const char * get_internal_version ()
 Reports the internal API version number of the SDK. More...
 
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. More...
 
unsigned int get_num_scenes () const
 
unsigned int get_num_soft_body_meshes ()
 
unsigned int get_num_triangle_meshes ()
 
float get_parameter (PhysxParameter param)
 
PhysxSceneget_scene (unsigned int idx) const
 
NxPhysicsSDK * get_sdk () const
 Returns a pointer to the NxPhysicsSDK. More...
 
PhysxSoftBodyMeshget_soft_body_mesh (unsigned int idx)
 
PhysxTriangleMeshget_triangle_mesh (unsigned int idx)
 
bool is_hardware_available ()
 Returns TRUE if a physcis hardware is available on the host system. More...
 
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 PhysxManagerget_global_ptr ()
 Returns a pointer to the global PhysxManager object. More...
 
static NxMat33 mat3_to_nxMat33 (const LMatrix3f &m)
 Converts from LMatrix3f to NxMat33. More...
 
static NxMat34 mat4_to_nxMat34 (const LMatrix4f &m)
 Converts from LMatrix4f to NxMat34. More...
 
static LPoint3f nxExtVec3_to_point3 (const NxExtendedVec3 &p)
 Converts from NxExtendedVec3 to LPoint3f. More...
 
static LVector3f nxExtVec3_to_vec3 (const NxExtendedVec3 &v)
 Converts from NxExtendedVec3 to LVector3f. More...
 
static LMatrix3f nxMat33_to_mat3 (const NxMat33 &m)
 Converts from NxMat33 to LMatrix3f. More...
 
static LMatrix4f nxMat34_to_mat4 (const NxMat34 &m)
 Converts from NxMat34 to LMatrix4f. More...
 
static LQuaternionf nxQuat_to_quat (const NxQuat &q)
 Converts from NxQuat to LQuaternionf. More...
 
static LPoint3f nxVec3_to_point3 (const NxVec3 &p)
 Converts from NxVec3 to LPoint3f. More...
 
static LVector3f nxVec3_to_vec3 (const NxVec3 &v)
 Converts from NxVec3 to LVector3f. More...
 
static NxExtendedVec3 point3_to_nxExtVec3 (const LPoint3f &p)
 Converts from LPoint3f to NxExtendedVec3. More...
 
static NxVec3 point3_to_nxVec3 (const LPoint3f &p)
 Converts from LPoint3f to NxVec3. More...
 
static NxQuat quat_to_nxQuat (const LQuaternionf &q)
 Converts from LQuaternionf to NxQuat. More...
 
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. More...
 
static NxVec3 vec3_to_nxVec3 (const LVector3f &v)
 Converts from LVector3f to NxVec3. More...
 

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.

Member Function Documentation

◆ get_global_ptr()

PhysxManager * PhysxManager::get_global_ptr ( )
static

Returns a pointer to the global PhysxManager object.

Definition at line 98 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 351 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 360 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 340 of file physxManager.cxx.

◆ get_sdk()

NxPhysicsSDK * PhysxManager::get_sdk ( ) const
inline

Returns a pointer to the NxPhysicsSDK.

Definition at line 18 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 331 of file physxManager.cxx.

◆ mat3_to_nxMat33()

NxMat33 PhysxManager::mat3_to_nxMat33 ( const LMatrix3f &  m)
inlinestatic

Converts from LMatrix3f to NxMat33.

Definition at line 139 of file physxManager.I.

Referenced by PhysxActorDesc::set_global_hpr().

◆ mat4_to_nxMat34()

NxMat34 PhysxManager::mat4_to_nxMat34 ( const LMatrix4f &  m)
inlinestatic

Converts from LMatrix4f to NxMat34.

Definition at line 119 of file physxManager.I.

Referenced by PhysxHeightFieldShapeDesc::set_to_default(), and PhysxWheelShapeDesc::set_to_default().

◆ nxExtVec3_to_point3()

LPoint3f PhysxManager::nxExtVec3_to_point3 ( const NxExtendedVec3 &  p)
inlinestatic

Converts from NxExtendedVec3 to LPoint3f.

Definition at line 90 of file physxManager.I.

Referenced by PhysxControllerDesc::get_pos().

◆ nxExtVec3_to_vec3()

LVector3f PhysxManager::nxExtVec3_to_vec3 ( const NxExtendedVec3 &  v)
inlinestatic

Converts from NxExtendedVec3 to LVector3f.

Definition at line 54 of file physxManager.I.

◆ nxMat33_to_mat3()

LMatrix3f PhysxManager::nxMat33_to_mat3 ( const NxMat33 &  m)
inlinestatic

Converts from NxMat33 to LMatrix3f.

Definition at line 150 of file physxManager.I.

Referenced by PhysxUtilLib::find_rotation_matrix(), PhysxBox::get_rot(), and nxMat34_to_mat4().

◆ nxMat34_to_mat4()

LMatrix4f PhysxManager::nxMat34_to_mat4 ( const NxMat34 &  m)
inlinestatic

Converts from NxMat34 to LMatrix4f.

Definition at line 130 of file physxManager.I.

References nxMat33_to_mat3(), and nxVec3_to_vec3().

Referenced by PhysxActorDesc::get_global_mat(), and PhysxBodyDesc::get_mass_local_mat().

◆ nxQuat_to_quat()

LQuaternionf PhysxManager::nxQuat_to_quat ( const NxQuat &  q)
inlinestatic

Converts from NxQuat to LQuaternionf.

Definition at line 110 of file physxManager.I.

◆ nxVec3_to_point3()

LPoint3f PhysxManager::nxVec3_to_point3 ( const NxVec3 &  p)
inlinestatic

◆ nxVec3_to_vec3()

LVector3f PhysxManager::nxVec3_to_vec3 ( const NxVec3 &  v)
inlinestatic

◆ point3_to_nxExtVec3()

NxExtendedVec3 PhysxManager::point3_to_nxExtVec3 ( const LPoint3f &  p)
inlinestatic

Converts from LPoint3f to NxExtendedVec3.

Definition at line 81 of file physxManager.I.

Referenced by PhysxControllerDesc::set_pos().

◆ point3_to_nxVec3()

NxVec3 PhysxManager::point3_to_nxVec3 ( const LPoint3f &  p)
inlinestatic

◆ quat_to_nxQuat()

NxQuat PhysxManager::quat_to_nxQuat ( const LQuaternionf &  q)
inlinestatic

Converts from LQuaternionf to NxQuat.

Definition at line 99 of file physxManager.I.

◆ vec3_to_nxExtVec3()

NxExtendedVec3 PhysxManager::vec3_to_nxExtVec3 ( const LVector3f &  v)
inlinestatic

Converts from LVector3f to NxExtendedVec3.

Definition at line 45 of file physxManager.I.

◆ vec3_to_nxVec3()

NxVec3 PhysxManager::vec3_to_nxVec3 ( const LVector3f &  v)
inlinestatic

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