pub struct PyWorld {
pub bodies: PyRigidBodySet,
pub joints: PyJointSet,
pub gravity: [f64; 3],
pub time: f64,
/* private fields */
}Expand description
A self-contained physics world managing bodies, colliders, and joints.
Fields§
§bodies: PyRigidBodySetAll rigid bodies.
joints: PyJointSetAll joints.
gravity: [f64; 3]Gravity vector.
time: f64Elapsed simulation time.
Implementations§
Source§impl PyWorld
impl PyWorld
Sourcepub fn earth_gravity() -> Self
pub fn earth_gravity() -> Self
Create a world with Earth gravity.
Sourcepub fn create_body(&mut self, mass: f64, position: [f64; 3]) -> u32
pub fn create_body(&mut self, mass: f64, position: [f64; 3]) -> u32
Add a dynamic body; returns handle.
Sourcepub fn create_static_body(&mut self, position: [f64; 3]) -> u32
pub fn create_static_body(&mut self, position: [f64; 3]) -> u32
Add a static body; returns handle.
Sourcepub fn create_collider(&mut self, collider_desc: PyCollider) -> u32
pub fn create_collider(&mut self, collider_desc: PyCollider) -> u32
Add a collider to a body; returns collider handle.
Sourcepub fn query_ray(
&self,
origin: [f64; 3],
direction: [f64; 3],
max_dist: f64,
) -> Vec<PyRayResult>
pub fn query_ray( &self, origin: [f64; 3], direction: [f64; 3], max_dist: f64, ) -> Vec<PyRayResult>
Cast a ray and return all hits sorted by distance.
Sourcepub fn query_overlap(&self) -> Vec<(u32, u32)>
pub fn query_overlap(&self) -> Vec<(u32, u32)>
Query all pairs of overlapping colliders.
Sourcepub fn get_contacts(&self) -> &[PyContact]
pub fn get_contacts(&self) -> &[PyContact]
Return contacts from the last step.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PyWorld
impl<'de> Deserialize<'de> for PyWorld
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 Freeze for PyWorld
impl RefUnwindSafe for PyWorld
impl Send for PyWorld
impl Sync for PyWorld
impl Unpin for PyWorld
impl UnsafeUnpin for PyWorld
impl UnwindSafe for PyWorld
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§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).Source§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.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.