pub struct RapierContextMut<'a> {
pub simulation: Mut<'a, RapierContextSimulation>,
pub colliders: Mut<'a, RapierContextColliders>,
pub joints: Mut<'a, RapierContextJoints>,
pub rigidbody_set: Mut<'a, RapierRigidBodySet>,
}Expand description
A helper struct to avoid passing too many parameters to most rapier functions. This helps with reducing boilerplate, at the (small) price of maybe getting too much information from the ECS.
If you need more granular control over mutability of each component, use a regular Query
Fields§
§simulation: Mut<'a, RapierContextSimulation>The Rapier context, containing all the state of the physics engine.
colliders: Mut<'a, RapierContextColliders>The set of colliders part of the simulation.
joints: Mut<'a, RapierContextJoints>The sets of joints part of the simulation.
rigidbody_set: Mut<'a, RapierRigidBodySet>The set of rigid-bodies part of the simulation.
Implementations§
Source§impl RapierContextMut<'_>
RapierContextSimulation functions for mutable accesses
impl RapierContextMut<'_>
RapierContextSimulation functions for mutable accesses
Sourcepub fn step_simulation(
&mut self,
gravity: Vect,
simulation_mode: SimulationMode,
timestep_mode: TimestepMode,
events: Option<(&MessageWriter<'_, CollisionEvent>, &MessageWriter<'_, ContactForceEvent>)>,
hooks: &dyn PhysicsHooks,
time: &Time,
sim_to_render_time: &mut SimulationToRenderTime,
interpolation_query: Option<&mut Query<'_, '_, (&RapierRigidBodyHandle, &mut TransformInterpolation)>>,
)
pub fn step_simulation( &mut self, gravity: Vect, simulation_mode: SimulationMode, timestep_mode: TimestepMode, events: Option<(&MessageWriter<'_, CollisionEvent>, &MessageWriter<'_, ContactForceEvent>)>, hooks: &dyn PhysicsHooks, time: &Time, sim_to_render_time: &mut SimulationToRenderTime, interpolation_query: Option<&mut Query<'_, '_, (&RapierRigidBodyHandle, &mut TransformInterpolation)>>, )
Shortcut to RapierContextSimulation::step_simulation.
Sourcepub fn move_shape(
&mut self,
movement: Vect,
shape: &(impl AsShape + ?Sized),
shape_translation: Vect,
shape_rotation: Rot,
shape_mass: f32,
options: &MoveShapeOptions,
filter: QueryFilter<'_>,
events: impl FnMut(CharacterCollision),
) -> MoveShapeOutput
pub fn move_shape( &mut self, movement: Vect, shape: &(impl AsShape + ?Sized), shape_translation: Vect, shape_rotation: Rot, shape_mass: f32, options: &MoveShapeOptions, filter: QueryFilter<'_>, events: impl FnMut(CharacterCollision), ) -> MoveShapeOutput
Shortcut to RapierContextSimulation::move_shape.
The scene queries are filtered with filter, like the other scene queries of this
context.
Sourcepub fn contact_pair(
&self,
collider1: Entity,
collider2: Entity,
) -> Option<ContactPairView<'_>>
pub fn contact_pair( &self, collider1: Entity, collider2: Entity, ) -> Option<ContactPairView<'_>>
Shortcut to RapierContextSimulation::contact_pair.
Sourcepub fn contact_pairs_with(
&self,
collider: Entity,
) -> impl Iterator<Item = ContactPairView<'_>>
pub fn contact_pairs_with( &self, collider: Entity, ) -> impl Iterator<Item = ContactPairView<'_>>
Shortcut to RapierContextSimulation::contact_pairs_with.
Sourcepub fn intersection_pair(
&self,
collider1: Entity,
collider2: Entity,
) -> Option<bool>
pub fn intersection_pair( &self, collider1: Entity, collider2: Entity, ) -> Option<bool>
Shortcut to RapierContextSimulation::intersection_pair.
Sourcepub fn intersection_pairs_with(
&self,
collider: Entity,
) -> impl Iterator<Item = (Entity, Entity, bool)> + '_
pub fn intersection_pairs_with( &self, collider: Entity, ) -> impl Iterator<Item = (Entity, Entity, bool)> + '_
Shortcut to RapierContextSimulation::intersection_pairs_with.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn project_point_and_get_feature(
&self,
point: Vect,
max_dist: f32,
filter: QueryFilter<'_>,
) -> Option<(Entity, PointProjection, FeatureId)>
pub fn project_point_and_get_feature( &self, point: Vect, max_dist: f32, filter: QueryFilter<'_>, ) -> Option<(Entity, PointProjection, FeatureId)>
Shortcut to RapierQueryPipeline::project_point_and_get_feature.
Sourcepub fn cast_shape_nonlinear(
&self,
shape_motion: &NonlinearMotion,
shape: &(impl AsShape + ?Sized),
start_time: f32,
end_time: f32,
stop_at_penetration: bool,
filter: QueryFilter<'_>,
) -> Option<(Entity, ShapeCastHit)>
pub fn cast_shape_nonlinear( &self, shape_motion: &NonlinearMotion, shape: &(impl AsShape + ?Sized), start_time: f32, end_time: f32, stop_at_penetration: bool, filter: QueryFilter<'_>, ) -> Option<(Entity, ShapeCastHit)>
Shortcut to RapierQueryPipeline::cast_shape_nonlinear.
Sourcepub fn distance_to_shape(
&self,
shape_pos: Vect,
shape_rot: Rot,
shape: &(impl AsShape + ?Sized),
filter: QueryFilter<'_>,
) -> Option<(Entity, f32)>
pub fn distance_to_shape( &self, shape_pos: Vect, shape_rot: Rot, shape: &(impl AsShape + ?Sized), filter: QueryFilter<'_>, ) -> Option<(Entity, f32)>
Shortcut to RapierQueryPipeline::distance_to_shape.
Sourcepub fn closest_points_to_shape(
&self,
shape_pos: Vect,
shape_rot: Rot,
shape: &(impl AsShape + ?Sized),
max_dist: f32,
filter: QueryFilter<'_>,
) -> Option<(Entity, ShapeClosestPoints)>
pub fn closest_points_to_shape( &self, shape_pos: Vect, shape_rot: Rot, shape: &(impl AsShape + ?Sized), max_dist: f32, filter: QueryFilter<'_>, ) -> Option<(Entity, ShapeClosestPoints)>
Shortcut to RapierQueryPipeline::closest_points_to_shape.
Sourcepub fn contact_with_shape(
&self,
shape_pos: Vect,
shape_rot: Rot,
shape: &(impl AsShape + ?Sized),
prediction: f32,
filter: QueryFilter<'_>,
) -> Option<(Entity, ShapeContact)>
pub fn contact_with_shape( &self, shape_pos: Vect, shape_rot: Rot, shape: &(impl AsShape + ?Sized), prediction: f32, filter: QueryFilter<'_>, ) -> Option<(Entity, ShapeContact)>
Shortcut to RapierQueryPipeline::contact_with_shape.
Sourcepub fn bvh(&self) -> &Bvh
pub fn bvh(&self) -> &Bvh
Shortcut to RapierQueryPipeline::bvh.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn cast_ray(
&self,
ray_origin: Vect,
ray_dir: Vect,
max_toi: f32,
solid: bool,
filter: QueryFilter<'_>,
) -> Option<(Entity, f32)>
pub fn cast_ray( &self, ray_origin: Vect, ray_dir: Vect, max_toi: f32, solid: bool, filter: QueryFilter<'_>, ) -> Option<(Entity, f32)>
Shortcut to RapierQueryPipeline::cast_ray.
Sourcepub fn cast_ray_and_get_normal(
&self,
ray_origin: Vect,
ray_dir: Vect,
max_toi: f32,
solid: bool,
filter: QueryFilter<'_>,
) -> Option<(Entity, RayIntersection)>
pub fn cast_ray_and_get_normal( &self, ray_origin: Vect, ray_dir: Vect, max_toi: f32, solid: bool, filter: QueryFilter<'_>, ) -> Option<(Entity, RayIntersection)>
Shortcut to RapierQueryPipeline::cast_ray_and_get_normal.
Sourcepub fn intersect_point(
&self,
point: Vect,
filter: QueryFilter<'_>,
callback: impl FnMut(Entity, &RapierCollider) -> bool,
)
pub fn intersect_point( &self, point: Vect, filter: QueryFilter<'_>, callback: impl FnMut(Entity, &RapierCollider) -> bool, )
Shortcut to RapierQueryPipeline::intersect_point.
Stops the query if callback returns false.
Sourcepub fn intersect_ray(
&self,
ray_origin: Vect,
ray_dir: Vect,
max_toi: f32,
solid: bool,
filter: QueryFilter<'_>,
callback: impl FnMut(Entity, &RapierCollider, RayIntersection) -> bool,
)
pub fn intersect_ray( &self, ray_origin: Vect, ray_dir: Vect, max_toi: f32, solid: bool, filter: QueryFilter<'_>, callback: impl FnMut(Entity, &RapierCollider, RayIntersection) -> bool, )
Shortcut to RapierQueryPipeline::intersect_ray.
Stops the query if callback returns false.
Sourcepub fn intersect_shape(
&self,
shape_pos: Vect,
shape_rot: Rot,
shape: &(impl AsShape + ?Sized),
filter: QueryFilter<'_>,
callback: impl FnMut(Entity, &RapierCollider) -> bool,
)
pub fn intersect_shape( &self, shape_pos: Vect, shape_rot: Rot, shape: &(impl AsShape + ?Sized), filter: QueryFilter<'_>, callback: impl FnMut(Entity, &RapierCollider) -> bool, )
Shortcut to RapierQueryPipeline::intersect_shape.
Sourcepub fn intersect_aabb_conservative(
&self,
aabb: Aabb2d,
filter: QueryFilter<'_>,
callback: impl FnMut(Entity, &RapierCollider) -> bool,
)
pub fn intersect_aabb_conservative( &self, aabb: Aabb2d, filter: QueryFilter<'_>, callback: impl FnMut(Entity, &RapierCollider) -> bool, )
Shortcut to RapierQueryPipeline::intersect_aabb_conservative.
Sourcepub fn cast_shape(
&self,
shape_pos: Vect,
shape_rot: Rot,
shape_vel: Vect,
shape: &(impl AsShape + ?Sized),
options: ShapeCastOptions,
filter: QueryFilter<'_>,
) -> Option<(Entity, ShapeCastHit)>
pub fn cast_shape( &self, shape_pos: Vect, shape_rot: Rot, shape_vel: Vect, shape: &(impl AsShape + ?Sized), options: ShapeCastOptions, filter: QueryFilter<'_>, ) -> Option<(Entity, ShapeCastHit)>
Shortcut to RapierQueryPipeline::cast_shape.
Sourcepub fn project_point(
&self,
point: Vect,
max_dist: f32,
solid: bool,
filter: QueryFilter<'_>,
) -> Option<(Entity, PointProjection)>
pub fn project_point( &self, point: Vect, max_dist: f32, solid: bool, filter: QueryFilter<'_>, ) -> Option<(Entity, PointProjection)>
Shortcut to RapierQueryPipeline::project_point.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn with_query_pipeline<'a, T>(
&'a self,
filter: QueryFilter<'a>,
scoped_fn: impl FnOnce(RapierQueryPipeline<'_>) -> T,
) -> T
pub fn with_query_pipeline<'a, T>( &'a self, filter: QueryFilter<'a>, scoped_fn: impl FnOnce(RapierQueryPipeline<'_>) -> T, ) -> T
Shortcut to RapierQueryPipeline::new_scoped.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn propagate_modified_body_positions_to_colliders(&mut self)
pub fn propagate_modified_body_positions_to_colliders(&mut self)
Sourcepub fn entity2body(&self) -> &HashMap<Entity, RigidBodyHandle>
pub fn entity2body(&self) -> &HashMap<Entity, RigidBodyHandle>
Shortcut to RapierRigidBodySet::entity2body.
Sourcepub fn rigid_body_entity(&self, handle: RigidBodyHandle) -> Option<Entity>
pub fn rigid_body_entity(&self, handle: RigidBodyHandle) -> Option<Entity>
Shortcut to RapierRigidBodySet::rigid_body_entity.
Sourcepub fn impulse_revolute_joint_angle(&self, entity: Entity) -> Option<f32>
pub fn impulse_revolute_joint_angle(&self, entity: Entity) -> Option<f32>
Shortcut to RapierRigidBodySet::impulse_revolute_joint_angle.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn entity2soft_body(&self) -> &HashMap<Entity, SoftBodyHandle>
pub fn entity2soft_body(&self) -> &HashMap<Entity, SoftBodyHandle>
Shortcut to RapierRigidBodySet::entity2soft_body.
Sourcepub fn soft_body_entity(&self, handle: SoftBodyHandle) -> Option<Entity>
pub fn soft_body_entity(&self, handle: SoftBodyHandle) -> Option<Entity>
Shortcut to RapierRigidBodySet::soft_body_entity.
Sourcepub fn soft_body(&self, entity: Entity) -> Option<&RapierSoftBody>
pub fn soft_body(&self, entity: Entity) -> Option<&RapierSoftBody>
Shortcut to RapierRigidBodySet::soft_body.
Sourcepub fn soft_body_particle_positions(
&self,
entity: Entity,
) -> Option<impl ExactSizeIterator<Item = Vect> + '_>
pub fn soft_body_particle_positions( &self, entity: Entity, ) -> Option<impl ExactSizeIterator<Item = Vect> + '_>
Shortcut to RapierRigidBodySet::soft_body_particle_positions.
Sourcepub fn soft_body_particle_velocities(
&self,
entity: Entity,
) -> Option<impl ExactSizeIterator<Item = Vect> + '_>
pub fn soft_body_particle_velocities( &self, entity: Entity, ) -> Option<impl ExactSizeIterator<Item = Vect> + '_>
Shortcut to RapierRigidBodySet::soft_body_particle_velocities.
Sourcepub fn soft_body_volume(&self, entity: Entity) -> Option<f32>
pub fn soft_body_volume(&self, entity: Entity) -> Option<f32>
Shortcut to RapierRigidBodySet::soft_body_volume.
Sourcepub fn soft_body_mass(&self, entity: Entity) -> Option<f32>
pub fn soft_body_mass(&self, entity: Entity) -> Option<f32>
Shortcut to RapierRigidBodySet::soft_body_mass.
Sourcepub fn soft_body_center_of_mass(&self, entity: Entity) -> Option<Vect>
pub fn soft_body_center_of_mass(&self, entity: Entity) -> Option<Vect>
Shortcut to RapierRigidBodySet::soft_body_center_of_mass.
Sourcepub fn is_soft_body_sleeping(&self, entity: Entity) -> Option<bool>
pub fn is_soft_body_sleeping(&self, entity: Entity) -> Option<bool>
Shortcut to RapierRigidBodySet::is_soft_body_sleeping.
Sourcepub fn soft_body_whole_proxy(&self, entity: Entity) -> Option<RigidBodyHandle>
pub fn soft_body_whole_proxy(&self, entity: Entity) -> Option<RigidBodyHandle>
Shortcut to RapierRigidBodySet::soft_body_whole_proxy.
Sourcepub fn soft_body_cluster_index(
&self,
entity: Entity,
) -> Option<(SoftBodyHandle, u32)>
pub fn soft_body_cluster_index( &self, entity: Entity, ) -> Option<(SoftBodyHandle, u32)>
Shortcut to RapierRigidBodySet::soft_body_cluster_index.
Sourcepub fn soft_body_mut(&mut self, entity: Entity) -> Option<&mut RapierSoftBody>
pub fn soft_body_mut(&mut self, entity: Entity) -> Option<&mut RapierSoftBody>
Shortcut to RapierRigidBodySet::soft_body_mut.
Sourcepub fn wake_up_soft_body(&mut self, entity: Entity, strong: bool) -> bool
pub fn wake_up_soft_body(&mut self, entity: Entity, strong: bool) -> bool
Shortcut to RapierRigidBodySet::wake_up_soft_body.
Sourcepub fn tear_soft_body(
&mut self,
commands: &mut Commands<'_, '_>,
entity: Entity,
edges: &[u32],
cells: &[u32],
) -> Option<SoftBodyTearResult>
pub fn tear_soft_body( &mut self, commands: &mut Commands<'_, '_>, entity: Entity, edges: &[u32], cells: &[u32], ) -> Option<SoftBodyTearResult>
Shortcut to RapierContextSimulation::tear_soft_body.
Sourcepub fn cut_soft_body(
&mut self,
commands: &mut Commands<'_, '_>,
entity: Entity,
blade: &[Vect; 2],
) -> Option<SoftBodyTearResult>
pub fn cut_soft_body( &mut self, commands: &mut Commands<'_, '_>, entity: Entity, blade: &[Vect; 2], ) -> Option<SoftBodyTearResult>
Shortcut to RapierContextSimulation::cut_soft_body.
Source§impl RapierContextMut<'_>
impl RapierContextMut<'_>
Sourcepub fn impulse_joint_impulses(
&self,
entity: Entity,
) -> Option<ImpulseJointImpulses>
pub fn impulse_joint_impulses( &self, entity: Entity, ) -> Option<ImpulseJointImpulses>
Shortcut to RapierContextJoints::impulse_joint_impulses.
Sourcepub fn impulse_joints_between(
&self,
body1: Entity,
body2: Entity,
) -> impl Iterator<Item = Entity> + '_
pub fn impulse_joints_between( &self, body1: Entity, body2: Entity, ) -> impl Iterator<Item = Entity> + '_
Shortcut to RapierContextJoints::impulse_joints_between.
Sourcepub fn attached_impulse_joints(
&self,
body: Entity,
) -> impl Iterator<Item = Entity> + '_
pub fn attached_impulse_joints( &self, body: Entity, ) -> impl Iterator<Item = Entity> + '_
Shortcut to RapierContextJoints::attached_impulse_joints.
Sourcepub fn attached_enabled_impulse_joints(
&self,
body: Entity,
) -> impl Iterator<Item = Entity> + '_
pub fn attached_enabled_impulse_joints( &self, body: Entity, ) -> impl Iterator<Item = Entity> + '_
Shortcut to RapierContextJoints::attached_enabled_impulse_joints.
Sourcepub fn multibody(&self, entity: Entity) -> Option<(&Multibody, usize)>
pub fn multibody(&self, entity: Entity) -> Option<(&Multibody, usize)>
Shortcut to RapierContextJoints::multibody.
Sourcepub fn multibody_root(&self, entity: Entity) -> Option<Entity>
pub fn multibody_root(&self, entity: Entity) -> Option<Entity>
Shortcut to RapierContextJoints::multibody_root.
Sourcepub fn multibody_links(
&self,
entity: Entity,
) -> impl Iterator<Item = Entity> + '_
pub fn multibody_links( &self, entity: Entity, ) -> impl Iterator<Item = Entity> + '_
Shortcut to RapierContextJoints::multibody_links.
Sourcepub fn multibody_parent_link(&self, entity: Entity) -> Option<Entity>
pub fn multibody_parent_link(&self, entity: Entity) -> Option<Entity>
Shortcut to RapierContextJoints::multibody_parent_link.
Sourcepub fn multibody_joint_between(
&self,
body1: Entity,
body2: Entity,
) -> Option<Entity>
pub fn multibody_joint_between( &self, body1: Entity, body2: Entity, ) -> Option<Entity>
Shortcut to RapierContextJoints::multibody_joint_between.
Sourcepub fn attached_multibody_joints(
&self,
body: Entity,
) -> impl Iterator<Item = Entity> + '_
pub fn attached_multibody_joints( &self, body: Entity, ) -> impl Iterator<Item = Entity> + '_
Shortcut to RapierContextJoints::attached_multibody_joints.
Sourcepub fn multibody_link_dofs(&self, entity: Entity) -> Option<Range<usize>>
pub fn multibody_link_dofs(&self, entity: Entity) -> Option<Range<usize>>
Shortcut to RapierContextJoints::multibody_link_dofs.
Sourcepub fn multibody_generalized_velocity(&self, entity: Entity) -> Option<&[f32]>
pub fn multibody_generalized_velocity(&self, entity: Entity) -> Option<&[f32]>
Shortcut to RapierContextJoints::multibody_generalized_velocity.
Sourcepub fn multibody_joint_state(
&self,
entity: Entity,
) -> Option<MultibodyJointState>
pub fn multibody_joint_state( &self, entity: Entity, ) -> Option<MultibodyJointState>
Shortcut to RapierContextJoints::multibody_joint_state.
Sourcepub fn multibody_body_jacobian(&self, entity: Entity) -> Option<&Jacobian<f32>>
pub fn multibody_body_jacobian(&self, entity: Entity) -> Option<&Jacobian<f32>>
Shortcut to RapierContextJoints::multibody_body_jacobian.
Sourcepub fn multibody_inverse_kinematics(
&self,
link: Entity,
target: Transform,
options: &InverseKinematicsOption,
joint_can_move: impl Fn(Entity) -> bool,
displacements: &mut Vec<f32>,
) -> bool
pub fn multibody_inverse_kinematics( &self, link: Entity, target: Transform, options: &InverseKinematicsOption, joint_can_move: impl Fn(Entity) -> bool, displacements: &mut Vec<f32>, ) -> bool
Shortcut to RapierContextJoints::multibody_inverse_kinematics.
Sourcepub fn multibody_mut(
&mut self,
entity: Entity,
) -> Option<(&mut Multibody, usize)>
pub fn multibody_mut( &mut self, entity: Entity, ) -> Option<(&mut Multibody, usize)>
Shortcut to RapierContextJoints::multibody_mut.
Sourcepub fn multibody_generalized_velocity_mut(
&mut self,
entity: Entity,
) -> Option<&mut [f32]>
pub fn multibody_generalized_velocity_mut( &mut self, entity: Entity, ) -> Option<&mut [f32]>
Sourcepub fn multibody_joint_velocity_mut(
&mut self,
entity: Entity,
) -> Option<&mut [f32]>
pub fn multibody_joint_velocity_mut( &mut self, entity: Entity, ) -> Option<&mut [f32]>
Shortcut to RapierContextJoints::multibody_joint_velocity_mut.
Sourcepub fn multibody_apply_displacements(
&mut self,
entity: Entity,
displacements: &[f32],
) -> bool
pub fn multibody_apply_displacements( &mut self, entity: Entity, displacements: &[f32], ) -> bool
Shortcut to RapierContextJoints::multibody_apply_displacements.
Sourcepub fn multibody_forward_kinematics(
&mut self,
entity: Entity,
read_root_pose_from_rigid_body: bool,
) -> bool
pub fn multibody_forward_kinematics( &mut self, entity: Entity, read_root_pose_from_rigid_body: bool, ) -> bool
Shortcut to RapierContextJoints::multibody_forward_kinematics.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for RapierContextMut<'a>
impl<'a> !UnwindSafe for RapierContextMut<'a>
impl<'a> Freeze for RapierContextMut<'a>
impl<'a> Send for RapierContextMut<'a>
impl<'a> Sync for RapierContextMut<'a>
impl<'a> Unpin for RapierContextMut<'a>
impl<'a> UnsafeUnpin for RapierContextMut<'a>
Blanket Implementations§
Source§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
Source§fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<GpuImage>) -> U
T ShaderType for self. When used in AsBindGroup
derives, it is safe to assume that all images in self exist.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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ConditionalSend for Twhere
T: Send,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
impl<T> MaybeSync for T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Settings for T
Source§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.