A scene is a collection of bodies, constraints, and effectors which can interact.
More...
Public Member Functions |
|
NxControllerManager * | cm () const |
|
PhysxActor * | create_actor (PhysxActorDesc &desc) |
| PhysxCloth * | create_cloth (PhysxClothDesc &desc) |
| | Creates a cloth in this scene.
|
| PhysxController * | create_controller (PhysxControllerDesc &controllerDesc) |
| | Creates a new character controller.
|
| PhysxForceField * | create_force_field (PhysxForceFieldDesc &desc) |
| | Creates a force field in this scene.
|
| PhysxForceFieldShapeGroup * | create_force_field_shape_group (PhysxForceFieldShapeGroupDesc &desc) |
| | Creates a new force field shape group in this scene.
|
| PhysxJoint * | create_joint (PhysxJointDesc &desc) |
| | Creates a joint in this scene.
|
| PhysxMaterial * | create_material (PhysxMaterialDesc &desc) |
| | Creates a new PhysxMaterial.
|
| PhysxMaterial * | create_material () |
| | Creates a new PhysxMaterial using the default settings of PhysxMaterialDesc.
|
| PhysxSoftBody * | create_soft_body (PhysxSoftBodyDesc &desc) |
| | Creates a soft body in this scene.
|
| PhysxVehicle * | create_vehicle (PhysxVehicleDesc &desc) |
| | Creates a vehicle in this scene.
|
|
void | enable_contact_reporting (bool enabled) |
|
void | enable_controller_reporting (bool enabled) |
|
void | enable_trigger_reporting (bool enabled) |
| void | fetch_results () |
| | Waits until the simulation has finished, and then updates the scene graph with with simulation results.
|
|
virtual TypeHandle | force_init_type () |
|
PhysxActor * | get_actor (unsigned int idx) const |
| bool | get_actor_group_pair_flag (unsigned int g1, unsigned int g2, PhysxContactPairFlag flag) |
| | Retrieves a single flag set with PhysxScene::set_actor_group_pair_flag()
|
| bool | get_actor_pair_flag (PhysxActor &actorA, PhysxActor &actorB, PhysxContactPairFlag flag) |
| | Retrieves a single flag for the given pair of actors.
|
| PhysxCloth * | get_cloth (unsigned int idx) const |
| | Returns the n-th cloth from the array of all the cloths in the scene.
|
| PhysxController * | get_controller (unsigned int idx) const |
| | Retrieves the n-th controller within the scene.
|
| PhysxDebugGeomNode * | get_debug_geom_node () |
| | Retrieves the debug geom node for this scene.
|
| PhysxConstraintDominance | get_dominance_group_pair (unsigned int g1, unsigned int g2) |
| | Samples the dominance matrix.
|
| bool | get_filter_bool () const |
| | Retrieves filtering's boolean value.
|
| PhysxGroupsMask | get_filter_constant0 () const |
| | Gets filtering constant K0.
|
| PhysxGroupsMask | get_filter_constant1 () const |
| | Gets filtering constant K1.
|
| PhysxFilterOp | get_filter_op0 () const |
| | Retrieves the op0 filtering operation.
|
| PhysxFilterOp | get_filter_op1 () const |
| | Retrieves the op1 filtering operation.
|
| PhysxFilterOp | get_filter_op2 () const |
| | Retrieves the op2 filtering operation.
|
| bool | get_flag (PhysxSceneFlag flag) const |
| | Return the specified scene flag flag.
|
| PhysxForceField * | get_force_field (unsigned int idx) const |
| | Returns the n-th force field from the array of all the force fields in the scene.
|
| PhysxForceFieldShapeGroup * | get_force_field_shape_group (unsigned int idx) const |
| | Returns the n-th force field shape group in this scene.
|
| LVector3f | get_gravity () const |
| | Retrieves the current gravity setting.
|
| bool | get_group_collision_flag (unsigned int g1, unsigned int g2) |
| | Determines if collision detection is performed between a pair of groups.
|
| unsigned int | get_hightest_material_index () const |
| | Returns current highest valid material index.
|
| PhysxJoint * | get_joint (unsigned int idx) const |
| | Retrieve the n-th joint from the array of all the joints in the scene.
|
| PhysxMaterial * | get_material (unsigned int idx) const |
| | Retrieves the n-th material from the array of materials.
|
| PhysxMaterial * | get_material_from_index (unsigned int idx) const |
| | Retrieves the material with the given material index.
|
|
unsigned int | get_num_actors () const |
| unsigned int | get_num_cloths () const |
| | Gets the number of cloths in the scene.
|
| unsigned int | get_num_controllers () const |
| | Return the number of controllers in the scene.
|
| unsigned int | get_num_force_field_shape_groups () const |
| | Gets the number of force field shape groups in the scene.
|
| unsigned int | get_num_force_fields () const |
| | Gets the number of force fields in the scene.
|
| unsigned int | get_num_joints () const |
| | Returns the number of joints in the scene (excluding "dead" joints).
|
| unsigned int | get_num_materials () const |
| | Return the number of materials in the scene.
|
| unsigned int | get_num_soft_bodies () const |
| | Gets the number of soft bodies in the scene.
|
| unsigned int | get_num_vehicles () const |
| | Returns the number of vehicles in the scene.
|
| bool | get_shape_pair_flag (PhysxShape &shapeA, PhysxShape &shapeB) |
| | Returns /true/ if contact generation between a pair of shapes is enabled, and /false/ if contact generation is disables.
|
| PhysxSoftBody * | get_soft_body (unsigned int idx) const |
| | Returns the n-th soft body from the array of all the soft bodies in the scene.
|
|
PhysxSceneStats2 | get_stats2 () const |
|
virtual TypeHandle | get_type () const |
| PhysxVehicle * | get_vehicle (unsigned int idx) const |
| | Returns the n-th vehicle from the array of all the vehicles in the scene.
|
| PhysxMaterial * | get_wheel_shape_material () |
| | Gets the shared material for all wheel shapes.
|
|
bool | is_contact_reporting_enabled () const |
|
bool | is_controller_reporting_enabled () const |
| bool | is_hardware_scene () const |
| | Returns TRUE if the the scene is simulated in hardware.
|
|
bool | is_trigger_reporting_enabled () const |
|
void | link (NxScene *ptr) |
|
void | ls (ostream &out, int indent_level=0) const |
|
void | ls () const |
|
| MAKE_SEQ (get_materials, get_num_materials, get_material) |
|
| MAKE_SEQ (get_force_field_shape_groups, get_num_force_field_shape_groups, get_force_field_shape_group) |
|
| MAKE_SEQ (get_joints, get_num_joints, get_joint) |
|
| MAKE_SEQ (get_soft_bodies, get_num_soft_bodies, get_soft_body) |
|
| MAKE_SEQ (get_controllers, get_num_controllers, get_controller) |
|
| MAKE_SEQ (get_force_fields, get_num_force_fields, get_force_field) |
|
| MAKE_SEQ (get_cloths, get_num_cloths, get_cloth) |
|
| MAKE_SEQ (get_vehicles, get_num_vehicles, get_vehicle) |
|
| MAKE_SEQ (get_actors, get_num_actors, get_actor) |
| PhysxOverlapReport | overlap_capsule_shapes (const LPoint3f &p0, const LPoint3f &p1, float radius, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), bool accurateCollision=true) const |
| | Returns the set of shapes overlapped by the world-space capsule.
|
| PhysxOverlapReport | overlap_sphere_shapes (const LPoint3f ¢er, float radius, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), bool accurateCollision=true) const |
| | Returns the set of shapes overlapped by the world-space sphere.
|
|
NxScene * | ptr () const |
| PhysxRaycastReport | raycast_all_bounds (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL, bool smoothNormal=true) const |
| | Returns a PhysxRaycastReport object which can be used to iterate over all shapes that have been enclosed by axis aligned bounding boxes hit by the ray.
|
| PhysxRaycastReport | raycast_all_shapes (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL, bool smoothNormal=true) const |
| | Returns a PhysxRaycastReport object which can be used to iterate over all shapes that have been hit by the ray.
|
| bool | raycast_any_bounds (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL) const |
| | Returns true if any axis aligned bounding box enclosing a shape is intersected by the ray.
|
| bool | raycast_any_shape (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL) const |
| | Returns true if any shape is intersected by the ray.
|
| PhysxRaycastHit | raycast_closest_bounds (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL, bool smoothNormal=true) const |
| | Returns the first axis aligned bounding box enclosing a shape that is hit along the ray.
|
| PhysxRaycastHit | raycast_closest_shape (const PhysxRay &ray, PhysxShapesType shapesType=ST_all, PhysxMask mask=PhysxMask::all_on(), PhysxGroupsMask *groups=NULL, bool smoothNormal=true) const |
| | Returns the first shape that is hit along the ray.
|
|
void | release () |
| void | set_actor_group_pair_flag (unsigned int g1, unsigned int g2, PhysxContactPairFlag flag, bool value) |
| | With this method one can set contact reporting flags between actors belonging to a pair of groups.
|
| void | set_actor_pair_flag (PhysxActor &actorA, PhysxActor &actorB, PhysxContactPairFlag flag, bool value) |
| | Sets the pair flags for the given pair of actors.
|
| void | set_dominance_group_pair (unsigned int g1, unsigned int g2, PhysxConstraintDominance dominance) |
| | Specifies the dominance behavior of constraints between two actors with two certain dominance groups.
|
| void | set_filter_bool (bool flag) |
| | Setups filtering's boolean value.
|
| void | set_filter_constant0 (const PhysxGroupsMask &mask) |
| | Setups filtering's K0 value.
|
| void | set_filter_constant1 (const PhysxGroupsMask &mask) |
| | Setups filtering's K1 value.
|
| void | set_filter_ops (PhysxFilterOp op0, PhysxFilterOp op1, PhysxFilterOp op2) |
| | Setups filtering operations.
|
| void | set_gravity (const LVector3f &gravity) |
| | Sets a constant gravity for the entire scene.
|
| void | set_group_collision_flag (unsigned int g1, unsigned int g2, bool enable) |
| | Specifies if collision should be performed by a pair of shape groups.
|
| void | set_shape_pair_flag (PhysxShape &shapeA, PhysxShape &shapeB, bool value) |
| | Disables or enables contact generation for a pair of shapes.
|
| void | set_timing_fixed (float maxTimestep=1.0f/60.0f, unsigned int maxIter=8) |
| | Sets simulation timing parameters used in simulate.
|
| void | set_timing_variable () |
| | Sets simulation timing parameters used in simulate.
|
| void | simulate (float dt) |
| | Advances the simulation by an elapsedTime time.
|
|
void | unlink () |
Static Public Member Functions |
|
static TypeHandle | get_class_type () |
| static void | init_type () |
| | This function is declared non-inline to work around a compiler bug in g++ 2.96.
|
Public Attributes |
|
PhysxObjectCollection< PhysxActor > | _actors |
|
PhysxObjectCollection< PhysxCloth > | _cloths |
PhysxObjectCollection
< PhysxController > | _controllers |
PhysxObjectCollection
< PhysxForceFieldShapeGroup > | _ffgroups |
PhysxObjectCollection
< PhysxForceField > | _forcefields |
|
PhysxObjectCollection< PhysxJoint > | _joints |
PhysxObjectCollection
< PhysxMaterial > | _materials |
PhysxObjectCollection
< PhysxSoftBody > | _softbodies |
PhysxObjectCollection
< PhysxVehicle > | _vehicles |
A scene is a collection of bodies, constraints, and effectors which can interact.
The scene simulates the behavior of these objects over time. Several scenes may exist at the same time, but each body, constraint, or effector object is specific to a scene -- they may not be shared.
For example, attempting to create a joint in one scene and then using it to attach bodies from a different scene results in undefined behavior.
Definition at line 72 of file physxScene.h.