pub struct PhysicsEngineParametersUpdate {Show 27 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§
Source§impl Default for PhysicsEngineParametersUpdate
impl Default for PhysicsEngineParametersUpdate
Source§fn default() -> PhysicsEngineParametersUpdate
fn default() -> PhysicsEngineParametersUpdate
Auto Trait Implementations§
impl Freeze for PhysicsEngineParametersUpdate
impl RefUnwindSafe for PhysicsEngineParametersUpdate
impl Send for PhysicsEngineParametersUpdate
impl Sync for PhysicsEngineParametersUpdate
impl Unpin for PhysicsEngineParametersUpdate
impl UnwindSafe for PhysicsEngineParametersUpdate
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<X> Pipe for X
impl<X> Pipe for X
Source§fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
fn pipe_ref<'a, Return, Function>(&'a self, f: Function) -> Returnwhere
Function: FnOnce(&'a Self) -> Return,
Source§fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
fn pipe_mut<'a, Return, Function>(&'a mut self, f: Function) -> Returnwhere
Function: FnOnce(&'a mut Self) -> Return,
Source§fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_as_ref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait AsRef<Param>. Read moreSource§fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
fn pipe_as_mut<'a, Param, Return, Function>(&'a mut self, f: Function) -> Return
f to &mut self where f takes a single parameter of type Param
and Self implements trait AsMut<Param>. Read moreSource§fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_deref<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait Deref<Target = Param>. Read moreSource§fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
fn pipe_deref_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Returnwhere
Self: DerefMut<Target = Param>,
Param: 'a + ?Sized,
Function: FnOnce(&'a mut Param) -> Return,
f to &mut self where f takes a single parameter of type Param
and Self implements trait DerefMut<Target = Param>. Read moreSource§fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
fn pipe_borrow<'a, Param, Return, Function>(&'a self, f: Function) -> Return
f to &self where f takes a single parameter of type Param
and Self implements trait Borrow<Param>. Read moreSource§fn pipe_borrow_mut<'a, Param, Return, Function>(
&'a mut self,
f: Function,
) -> Return
fn pipe_borrow_mut<'a, Param, Return, Function>( &'a mut self, f: Function, ) -> Return
f to &mut self where f takes a single parameter of type Param
and Self implements trait BorrowMut<Param>. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.