Struct heron::rapier_plugin::rapier::dynamics::RevoluteJoint[]

pub struct RevoluteJoint {
    pub local_anchor1: Point<f32, U3>,
    pub local_anchor2: Point<f32, U3>,
    pub local_axis1: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
    pub local_axis2: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
    pub basis1: [Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>; 2],
    pub basis2: [Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>; 2],
    pub impulse: Matrix<f32, U5, U1, <DefaultAllocator as Allocator<f32, U5, U1>>::Buffer>,
}

A joint that removes all relative motion between two bodies, except for the rotations along one axis.

Fields

local_anchor1: Point<f32, U3>

Where the revolute joint is attached on the first body, expressed in the local space of the first attached body.

local_anchor2: Point<f32, U3>

Where the revolute joint is attached on the second body, expressed in the local space of the second attached body.

local_axis1: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>

The rotation axis of this revolute joint expressed in the local space of the first attached body.

local_axis2: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>

The rotation axis of this revolute joint expressed in the local space of the second attached body.

basis1: [Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>; 2]

The basis orthonormal to local_axis1, expressed in the local space of the first attached body.

basis2: [Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>; 2]

The basis orthonormal to local_axis2, expressed in the local space of the second attached body.

impulse: Matrix<f32, U5, U1, <DefaultAllocator as Allocator<f32, U5, U1>>::Buffer>

The impulse applied by this joint on the first body.

The impulse applied to the second body is given by -impulse.

Implementations

impl RevoluteJoint

pub fn new(
    local_anchor1: Point<f32, U3>,
    local_axis1: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>,
    local_anchor2: Point<f32, U3>,
    local_axis2: Unit<Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>>
) -> RevoluteJoint

Creates a new revolute joint with the given point of applications and axis, all expressed in the local-space of the affected bodies.

Trait Implementations

impl Clone for RevoluteJoint

impl Copy for RevoluteJoint

impl From<RevoluteJoint> for JointParams

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Clone + Any

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Resource for T where
    T: 'static + Send + Sync

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Slottable for T where
    T: Copy
[src]

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> TypeData for T where
    T: 'static + Send + Sync + Clone

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,