Struct despero::physics::physics_handler::PhysicsHandler
source · pub struct PhysicsHandler {
pub render_pipeline: DebugRenderPipeline,
pub physics_pipeline: PhysicsPipeline,
pub gravity: Vector3<f32>,
pub integration_parameters: IntegrationParameters,
pub island_manager: IslandManager,
pub broad_phase: BroadPhase,
pub narrow_phase: NarrowPhase,
pub impulse_joint_set: ImpulseJointSet,
pub multibody_joint_set: MultibodyJointSet,
pub ccd_solver: CCDSolver,
pub physics_hooks: (),
pub event_handler: (),
/* private fields */
}
Expand description
Collection for physics simulations
Fields§
§render_pipeline: DebugRenderPipeline
§physics_pipeline: PhysicsPipeline
§gravity: Vector3<f32>
§integration_parameters: IntegrationParameters
§island_manager: IslandManager
§broad_phase: BroadPhase
§narrow_phase: NarrowPhase
§impulse_joint_set: ImpulseJointSet
§multibody_joint_set: MultibodyJointSet
§ccd_solver: CCDSolver
§physics_hooks: ()
§event_handler: ()
Implementations§
source§impl PhysicsHandler
impl PhysicsHandler
sourcepub fn new() -> Self
pub fn new() -> Self
Create new PhysicsHandler
instance
It’s usually not necessary, as it’s part of the Despero
application
sourcepub fn new_instance(
&mut self,
rigidbody: RigidBody,
collider: Collider
) -> BodyHandle
pub fn new_instance( &mut self, rigidbody: RigidBody, collider: Collider ) -> BodyHandle
sourcepub fn rigidbody(&self, handle: BodyHandle) -> DesperoResult<&RigidBody>
pub fn rigidbody(&self, handle: BodyHandle) -> DesperoResult<&RigidBody>
Get RigidBody from set
sourcepub fn collider(&self, handle: BodyHandle) -> DesperoResult<&Collider>
pub fn collider(&self, handle: BodyHandle) -> DesperoResult<&Collider>
Get Collider from set
sourcepub fn rigidbody_mut(
&mut self,
handle: BodyHandle
) -> DesperoResult<&mut RigidBody>
pub fn rigidbody_mut( &mut self, handle: BodyHandle ) -> DesperoResult<&mut RigidBody>
Mutably get RigidBody from set
sourcepub fn collider_mut(
&mut self,
handle: BodyHandle
) -> DesperoResult<&mut Collider>
pub fn collider_mut( &mut self, handle: BodyHandle ) -> DesperoResult<&mut Collider>
Mutably get Collider from set
sourcepub fn remove_instance(
&mut self,
handle: BodyHandle
) -> DesperoResult<(RigidBody, Collider)>
pub fn remove_instance( &mut self, handle: BodyHandle ) -> DesperoResult<(RigidBody, Collider)>
Destroy physical instance and return attached RigidBody and Collider as tuple
let (rigidbody, collider) = physics_handler.remove_instance(handle).unwrap();
sourcepub fn set_debug_renderer(
&mut self,
style: DebugRenderStyle,
mode: DebugRenderMode
)
pub fn set_debug_renderer( &mut self, style: DebugRenderStyle, mode: DebugRenderMode )
Set physics debug rendering style and mode
Trait Implementations§
source§impl Default for PhysicsHandler
impl Default for PhysicsHandler
source§impl<'de> Deserialize<'de> for PhysicsHandler
impl<'de> Deserialize<'de> for PhysicsHandler
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for PhysicsHandler
impl Send for PhysicsHandler
impl Sync for PhysicsHandler
impl Unpin for PhysicsHandler
impl !UnwindSafe for PhysicsHandler
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&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> 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>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for Pwhere
R: Read + ReadEndian<P>,
P: Default,
impl<R, P> ReadPrimitive<R> for Pwhere R: Read + ReadEndian<P>, P: Default,
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.source§impl<T> Serialize for Twhere
T: Serialize + ?Sized,
impl<T> Serialize for Twhere T: Serialize + ?Sized,
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.