pub trait WithPhysics {
// Required methods
fn with_dynamic_physical_entity<P, Y, R, V, A, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
velocity: Velocity<V, A>,
physical_entity: PhysicalEntity<V::Scalar>,
mass: Mass<V::Scalar, I>,
) -> Self
where T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = V::Scalar> + Send + Sync + 'static,
V::Scalar: BaseFloat + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
V: VectorSpace + Zero + Clone + Send + Sync + 'static,
A: Copy + Zero + Clone + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static;
fn with_static_physical_entity<S, P, Y, R, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
physical_entity: PhysicalEntity<S>,
mass: Mass<S, I>,
) -> Self
where T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
S: BaseFloat + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = S> + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static;
}Expand description
Adds physical entity builder functions to EntityBuilder
Required Methods§
Sourcefn with_dynamic_physical_entity<P, Y, R, V, A, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
velocity: Velocity<V, A>,
physical_entity: PhysicalEntity<V::Scalar>,
mass: Mass<V::Scalar, I>,
) -> Selfwhere
T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = V::Scalar> + Send + Sync + 'static,
V::Scalar: BaseFloat + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
V: VectorSpace + Zero + Clone + Send + Sync + 'static,
A: Copy + Zero + Clone + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static,
fn with_dynamic_physical_entity<P, Y, R, V, A, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
velocity: Velocity<V, A>,
physical_entity: PhysicalEntity<V::Scalar>,
mass: Mass<V::Scalar, I>,
) -> Selfwhere
T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = V::Scalar> + Send + Sync + 'static,
V::Scalar: BaseFloat + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
V: VectorSpace + Zero + Clone + Send + Sync + 'static,
A: Copy + Zero + Clone + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static,
Add dynamic physical entity components to entity
§Type parameters:
P: Collision PrimitiveY: ColliderR: Rotational quantityV: VectorA: Angular velocityI: InertiaB: Bounding volumeT: Transform
Sourcefn with_static_physical_entity<S, P, Y, R, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
physical_entity: PhysicalEntity<S>,
mass: Mass<S, I>,
) -> Selfwhere
T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
S: BaseFloat + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = S> + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static,
fn with_static_physical_entity<S, P, Y, R, I, B, T>(
self,
shape: CollisionShape<P, T, B, Y>,
pose: T,
physical_entity: PhysicalEntity<S>,
mass: Mass<S, I>,
) -> Selfwhere
T: Pose<P::Point, R> + Clone + Component + Send + Sync + 'static,
S: BaseFloat + Send + Sync + 'static,
P: Primitive + Send + Sync + 'static,
B: Bound<Point = P::Point> + Send + Sync + 'static,
P::Point: EuclideanSpace<Scalar = S> + Send + Sync + 'static,
R: Rotation<P::Point> + Send + Sync + 'static,
Y: Send + Sync + 'static,
I: Send + Sync + 'static,
Add static physical entity components to entity
§Type parameters:
S: Scalar (f32 or f64)P: Collision PrimitiveY: ColliderR: Rotational quantityI: InertiaB: Bounding volumeT: Transform
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.