Struct rubullet::SetPhysicsEngineParameterOptions[][src]

pub struct SetPhysicsEngineParameterOptions {
Show fields pub fixed_time_step: Option<Duration>, pub num_solver_iterations: Option<usize>, pub use_split_impulse: Option<bool>, pub split_impulse_penetration_threshold: Option<f64>, pub num_sub_steps: Option<usize>, pub collision_filter_mode: Option<usize>, pub contact_breaking_threshold: Option<f64>, pub max_num_cmd_per_1_ms: Option<i32>, pub enable_file_caching: Option<bool>, pub restitution_velocity_threshold: Option<f64>, pub erp: Option<f64>, pub contact_erp: Option<f64>, pub friction_erp: Option<f64>, pub enable_cone_friction: Option<bool>, pub deterministic_overlapping_pairs: Option<bool>, pub allowed_ccd_penetration: Option<f64>, pub joint_feedback_mode: Option<JointFeedbackMode>, pub solver_residual_threshold: Option<f64>, pub contact_slop: Option<f64>, pub enable_sat: Option<bool>, pub constraint_solver_type: Option<ConstraintSolverType>, pub global_cfm: Option<f64>, pub minimum_solver_island_size: Option<usize>, pub report_solver_analytics: Option<bool>, pub warm_starting_factor: Option<f64>, pub sparse_sdf_voxel_size: Option<f64>, pub num_non_contact_inner_iterations: Option<usize>,
}
Expand description

Options for the set_physics_engine_parameter method.

Fields

fixed_time_step: Option<Duration>

See the warning in the set_time_step section. physics engine time step, each time you call step_simulation simulated time will progress this amount. Same as set_time_step

num_solver_iterations: Option<usize>

Choose the maximum number of constraint solver iterations. If the solver_residual_threshold is reached, the solver may terminate before the num_solver_iterations.

use_split_impulse: Option<bool>

Advanced feature, only when using maximal coordinates: split the positional constraint solving and velocity constraint solving in two stages, to prevent huge penetration recovery forces.

split_impulse_penetration_threshold: Option<f64>

Related to use_split_impulse: if the penetration for a particular contact constraint is less than this specified threshold, no split impulse will happen for that contact.

num_sub_steps: Option<usize>

Subdivide the physics simulation step further by num_sub_steps. This will trade performance over accuracy.

collision_filter_mode: Option<usize>

Use 0 for default collision filter: (group A&maskB) AND (groupB&maskA). Use 1 to switch to the OR collision filter: (group A&maskB) OR (groupB&maskA)

contact_breaking_threshold: Option<f64>

Contact points with distance exceeding this threshold are not processed by the LCP solver. In addition, AABBs are extended by this number. Defaults to 0.02 in Bullet 2.x.

max_num_cmd_per_1_ms: Option<i32>

Experimental: add 1ms sleep if the number of commands executed exceed this threshold. setting the value to -1 disables the feature.

enable_file_caching: Option<bool>

Set to false to disable file caching, such as .obj wavefront file loading

restitution_velocity_threshold: Option<f64>

If relative velocity is below this threshold, restitution will be zero.

erp: Option<f64>

constraint error reduction parameter (non-contact, non-friction)

contact_erp: Option<f64>

contact error reduction parameter

friction_erp: Option<f64>

friction error reduction parameter (when positional friction anchors are enabled)

enable_cone_friction: Option<bool>

Set to false to disable implicit cone friction and use pyramid approximation (cone is default). NOTE: Although enabled by default, it is worth trying to disable this feature, in case there are friction artifacts.

deterministic_overlapping_pairs: Option<bool>

enables or disables sorting of overlapping pairs (backward compatibility setting).

allowed_ccd_penetration: Option<f64>

If continuous collision detection (CCD) is enabled, CCD will not be used if the penetration is below this threshold.

joint_feedback_mode: Option<JointFeedbackMode>

Specifcy joint feedback frame

solver_residual_threshold: Option<f64>

velocity threshold, if the maximum velocity-level error for each constraint is below this threshold the solver will terminate (unless the solver hits the numSolverIterations). Default value is 1e-7

contact_slop: Option<f64>

Position correction of contacts is not resolved below this threshold, to allow more stable contact.

enable_sat: Option<bool>

if true, enable separating axis theorem based convex collision detection, if features are available (instead of using GJK and EPA). Requires URDF_INITIALIZE_SAT_FEATURES in the UrdfOptions in load_urdf.

constraint_solver_type: Option<ConstraintSolverType>

Experimental (best to ignore): allow to use a direct LCP solver, such as Dantzig.

global_cfm: Option<f64>

Experimental (best to ignore) global default constraint force mixing parameter.

minimum_solver_island_size: Option<usize>

Experimental (best to ignore), minimum size of constraint solving islands, to avoid very small islands of independent constraints.

report_solver_analytics: Option<bool>

when true, additional solve analytics is available.

warm_starting_factor: Option<f64>

fraction of previous-frame force/impulse that is used to initialize the initial solver solution

sparse_sdf_voxel_size: Option<f64>num_non_contact_inner_iterations: Option<usize>

Trait Implementations

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more

Checks if self is actually part of its subset T (and can be converted to it).

Use with care! Same as self.to_subset but without any property checks. Always succeeds.

The inclusion map: converts self to the equivalent element of its superset.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.