Panda3D

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

Descriptor for PhysxScene. More...

`#include "physxSceneDesc.h"`

Inheritance diagram for PhysxSceneDesc:

## Public Member Functions
PhysxBroadPhaseType | get_bp_type () const
| Returns the type of broadphase to use.
PhysxPruningStructure | get_dynamic_structure () const
| Returns the subdivision level for acceleration structures used for scene queries.
bool | get_flag (PhysxSceneFlag flag) const
| Returns the specified scene flag.
LVector3f | get_gravity () const
| Get the gravity vector.
PhysxBounds3 | get_max_bounds () const
unsigned int | get_num_grid_cells_x () const
| Returns the number of broadphase cells along the grid x-axis.
unsigned int | get_num_grid_cells_y () const
| Returns the number of broadphase cells along the grid y-axis.
PhysxPruningStructure | get_static_structure () const
| Returns the structure used to store static objects.
unsigned int | get_subdivision_level () const
| Returns the subdivision level for acceleration structures used for scene queries.
bool | is_valid () const
| Returns true if the descriptor is valid.
void | set_bp_type (PhysxBroadPhaseType value)
| Defines which type of broadphase to use.
void | set_dynamic_structure (PhysxPruningStructure value)
| Defines the subdivision level for acceleration structures used for scene queries.
void | set_flag (PhysxSceneFlag flag, bool value)
| Raise or lower individual scene flags.
void | set_gravity (const LVector3f &gravity)
| Sets the gravity vector.
void | set_max_bounds (PhysxBounds3 &bounds)
| Set the max scene bounds.
void | set_num_grid_cells_x (unsigned int value)
| Defines the number of broadphase cells along the grid x-axis.
void | set_num_grid_cells_y (unsigned int value)
| Defines the number of broadphase cells along the grid y-axis.
void | set_static_structure (PhysxPruningStructure value)
| Defines the structure used to store static objects.
void | set_subdivision_level (unsigned int value)
| Defines the subdivision level for acceleration structures used for scene queries.
void | set_to_default ()
| (re)sets the structure to the default.

## Public Attributes
NxSceneDesc | _desc

## 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

Descriptor for PhysxScene.

Definition at line 28 of file physxSceneDesc.h.

## Constructor & Destructor Documentation

## ◆ PhysxSceneDesc()

PhysxSceneDesc::PhysxSceneDesc | ( |  | ) |
| inline

Definition at line 17 of file physxSceneDesc.I.

## ◆ ~PhysxSceneDesc()

PhysxSceneDesc::~PhysxSceneDesc | ( |  | ) |
| inline

Definition at line 25 of file physxSceneDesc.I.

## Member Function Documentation

## ◆ get_bp_type()

PhysxEnums::PhysxBroadPhaseType PhysxSceneDesc::get_bp_type | ( |  | ) | const

Returns the type of broadphase to use.

Definition at line 214 of file physxSceneDesc.cxx.

## ◆ get_dynamic_structure()

PhysxEnums::PhysxPruningStructure PhysxSceneDesc::get_dynamic_structure | ( |  | ) | const

Returns the subdivision level for acceleration structures used for scene queries.

Definition at line 121 of file physxSceneDesc.cxx.

## ◆ get_flag()

bool PhysxSceneDesc::get_flag | ( | PhysxSceneFlag | flag | ) | const

Returns the specified scene flag.

Definition at line 54 of file physxSceneDesc.cxx.

## ◆ get_gravity()

LVector3f PhysxSceneDesc::get_gravity | ( |  | ) | const

Get the gravity vector.

Definition at line 31 of file physxSceneDesc.cxx.

References PhysxManager::nxVec3_to_vec3().

## ◆ get_max_bounds()

PhysxBounds3 PhysxSceneDesc::get_max_bounds | ( |  | ) | const

Definition at line 81 of file physxSceneDesc.cxx.

## ◆ get_num_grid_cells_x()

unsigned int PhysxSceneDesc::get_num_grid_cells_x | ( |  | ) | const

Returns the number of broadphase cells along the grid x-axis.

Definition at line 172 of file physxSceneDesc.cxx.

## ◆ get_num_grid_cells_y()

unsigned int PhysxSceneDesc::get_num_grid_cells_y | ( |  | ) | const

Returns the number of broadphase cells along the grid y-axis.

Definition at line 181 of file physxSceneDesc.cxx.

## ◆ get_static_structure()

PhysxEnums::PhysxPruningStructure PhysxSceneDesc::get_static_structure | ( |  | ) | const

Returns the structure used to store static objects.

Definition at line 111 of file physxSceneDesc.cxx.

## ◆ get_subdivision_level()

unsigned int PhysxSceneDesc::get_subdivision_level | ( |  | ) | const

Returns the subdivision level for acceleration structures used for scene queries.

Definition at line 163 of file physxSceneDesc.cxx.

## ◆ is_valid()

bool PhysxSceneDesc::is_valid | ( |  | ) | const
| inline

Returns true if the descriptor is valid.

Definition at line 42 of file physxSceneDesc.I.

## ◆ set_bp_type()

void PhysxSceneDesc::set_bp_type | ( | PhysxBroadPhaseType | value | ) |

Defines which type of broadphase to use.

(1) BPT_sap_single: A sweep-and-prune (SAP) algorithm to find pairs of potentially colliding shapes.

(2) BPT_sap_multi: A multi sweep-and-prune algorithm to find pairs of potentially colliding shapes. Uses a configurable 2D grid to divide the scene space into cells. The potentially overlapping shape pairs are detected in each cell and the information is merged together. This approach is usually faster than BPT_sap_single in scenarios with many shapes and a high creation/deletion rate of shapes. However, the amount of memory required is considerably higher depending on the number of grid cells used. The following extra parameters need to be defined: - PhysxSceneDesc.set_max_bounds - PhysxSceneDesc.set_num_grid_cells_x - PhysxSceneDesc.set_num_grid_cells_y (the scene up direction is set via config options)

Definition at line 205 of file physxSceneDesc.cxx.

## ◆ set_dynamic_structure()

void PhysxSceneDesc::set_dynamic_structure | ( | PhysxPruningStructure | value | ) |

Defines the subdivision level for acceleration structures used for scene queries.

This is only used when maxBounds are defined!

Definition at line 102 of file physxSceneDesc.cxx.

## ◆ set_flag()

void PhysxSceneDesc::set_flag | ( | PhysxSceneFlag | flag,
|  | bool | value )

Raise or lower individual scene flags.

Definition at line 40 of file physxSceneDesc.cxx.

## ◆ set_gravity()

void PhysxSceneDesc::set_gravity | ( | const LVector3f & | gravity | ) |

Sets the gravity vector.

Definition at line 21 of file physxSceneDesc.cxx.

References PhysxManager::vec3_to_nxVec3().

## ◆ set_max_bounds()

void PhysxSceneDesc::set_max_bounds | ( | PhysxBounds3 & | bounds | ) |

Set the max scene bounds.

If scene bounds are provided (maxBounds in the descriptor), the SDK takes advantage of this information to accelerate scene-level collision queries (e.g. raycasting). When using maxBounds, you have to make sure created objects stay within the scene bounds. In particular, the position of dynamic shapes should stay within the provided bounds. Otherwise the shapes outside the bounds will not be taken into account by all scene queries (raycasting, sweep tests, overlap tests, etc). They will nonetheless still work correctly for the main physics simulation.

Definition at line 72 of file physxSceneDesc.cxx.

## ◆ set_num_grid_cells_x()

void PhysxSceneDesc::set_num_grid_cells_x | ( | unsigned int | value | ) |

Defines the number of broadphase cells along the grid x-axis.

Must be power of two. Max is 8 at the moment. The broadphase type must be set to BPT_sap_multi for this parameter to have an effect.

Definition at line 142 of file physxSceneDesc.cxx.

## ◆ set_num_grid_cells_y()

void PhysxSceneDesc::set_num_grid_cells_y | ( | unsigned int | value | ) |

Defines the number of broadphase cells along the grid y-axis.

Must be power of two. Max is 8 at the moment. The broadphase type must be set to BPT_sap_multi for this parameter to have an effect.

Definition at line 153 of file physxSceneDesc.cxx.

## ◆ set_static_structure()

void PhysxSceneDesc::set_static_structure | ( | PhysxPruningStructure | value | ) |

Defines the structure used to store static objects.

Definition at line 92 of file physxSceneDesc.cxx.

## ◆ set_subdivision_level()

void PhysxSceneDesc::set_subdivision_level | ( | unsigned int | value | ) |

Defines the subdivision level for acceleration structures used for scene queries.

This is only used when maxBounds are defined!

Definition at line 131 of file physxSceneDesc.cxx.

## ◆ set_to_default()

void PhysxSceneDesc::set_to_default | ( |  | ) |
| inline

(re)sets the structure to the default.

Definition at line 33 of file physxSceneDesc.I.

## Member Data Documentation

## ◆ _desc

NxSceneDesc PhysxSceneDesc::_desc

Definition at line 58 of file physxSceneDesc.h.

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

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