[−][src]Struct oxygengine_physics_2d::prelude::algebra::Force2
A force with a linear and angular (torque) component.
Fields
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
The linear force.
angular: N
The torque.
Implementations
impl<N> Force2<N> where
N: RealField,
[src]
N: RealField,
pub fn new(
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
angular: N
) -> Force2<N>
[src]
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
angular: N
) -> Force2<N>
Creates a force from its linear and angular components.
pub fn zero() -> Force2<N>
[src]
A zero force.
pub fn from_slice(data: &[N]) -> Force2<N>
[src]
Create a force from a slice where the entries 0 and 1 are for the linear part and 2 for the angular part.
pub fn from_vector<S>(data: &Matrix<N, U3, U1, S>) -> Force2<N> where
S: Storage<N, U3, U1>,
[src]
S: Storage<N, U3, U1>,
Create a force from a vector where the entries 0 and 1 are for the linear part and 2 for the angular part.
pub fn from_vectors(
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
angular: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
) -> Force2<N>
[src]
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
angular: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
) -> Force2<N>
Creates a force from its linear and angular components, both in vector form.
pub fn torque(torque: N) -> Force2<N>
[src]
Create a pure torque.
pub fn torque_from_vector(
torque: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
) -> Force2<N>
[src]
torque: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
) -> Force2<N>
Create a pure torque.
pub fn linear(
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Force2<N>
[src]
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Force2<N>
Create a pure linear force.
pub fn linear_at_point(
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>
) -> Force2<N>
[src]
linear: Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
point: &Point<N, U2>
) -> Force2<N>
Creates the resultant of a linear force applied at the given point (relative to the center of mass).
pub fn torque_at_point(torque: N, point: &Point<N, U2>) -> Force2<N>
[src]
Creates the resultant of a torque applied at the given point (relative to the center of mass).
pub fn torque_from_vector_at_point(
torque: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>,
point: &Point<N, U2>
) -> Force2<N>
[src]
torque: Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>,
point: &Point<N, U2>
) -> Force2<N>
Creates the resultant of a torque applied at the given point (relative to the center of mass).
pub fn angular_vector(
&self
) -> Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
[src]
&self
) -> Matrix<N, U1, U1, <DefaultAllocator as Allocator<N, U1, U1>>::Buffer>
The angular part of the force.
pub fn transform_by(&self, m: &Isometry<N, U2, Unit<Complex<N>>>) -> Force2<N>
[src]
Apply the given transformation to this force.
pub fn as_slice(&self) -> &[N]ⓘ
[src]
This force seen as a slice.
The two first entries contain the linear part and the third entry contais the angular part.
pub fn as_vector(
&self
) -> &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>
[src]
&self
) -> &Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>
This force seen as a vector.
The two first entries contain the linear part and the third entry contais the angular part.
pub fn as_vector_mut(
&mut self
) -> &mut Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>
[src]
&mut self
) -> &mut Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>
This force seen as a mutable vector.
The two first entries contain the linear part and the third entry contais the angular part.
Trait Implementations
impl<N> Add<Force2<N>> for Force2<N> where
N: RealField,
[src]
N: RealField,
type Output = Force2<N>
The resulting type after applying the +
operator.
fn add(self, rhs: Force2<N>) -> Force2<N>
[src]
impl<N> AddAssign<Force2<N>> for Force2<N> where
N: RealField,
[src]
N: RealField,
fn add_assign(&mut self, rhs: Force2<N>)
[src]
impl<N> Clone for Force2<N> where
N: Clone + RealField,
[src]
N: Clone + RealField,
impl<N> Copy for Force2<N> where
N: Copy + RealField,
[src]
N: Copy + RealField,
impl<N> Debug for Force2<N> where
N: Debug + RealField,
[src]
N: Debug + RealField,
impl<N> Mul<Force2<N>> for Inertia2<N> where
N: RealField,
[src]
N: RealField,
type Output = Velocity2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Force2<N>) -> Velocity2<N>
[src]
impl<N> Mul<N> for Force2<N> where
N: RealField,
[src]
N: RealField,
type Output = Force2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: N) -> Force2<N>
[src]
impl<N> Neg for Force2<N> where
N: RealField,
[src]
N: RealField,
type Output = Force2<N>
The resulting type after applying the -
operator.
fn neg(self) -> Force2<N>
[src]
impl<N> Sub<Force2<N>> for Force2<N> where
N: RealField,
[src]
N: RealField,
type Output = Force2<N>
The resulting type after applying the -
operator.
fn sub(self, rhs: Force2<N>) -> Force2<N>
[src]
impl<N> SubAssign<Force2<N>> for Force2<N> where
N: RealField,
[src]
N: RealField,
fn sub_assign(&mut self, rhs: Force2<N>)
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for Force2<N> where
N: RefUnwindSafe + Scalar,
N: RefUnwindSafe + Scalar,
impl<N> Send for Force2<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for Force2<N> where
N: Scalar,
N: Scalar,
impl<N> Unpin for Force2<N> where
N: Scalar + Unpin,
N: Scalar + Unpin,
impl<N> UnwindSafe for Force2<N> where
N: Scalar + UnwindSafe,
N: Scalar + UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
fn get_type_id(&self) -> TypeId
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
T: Neg<Output = T>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
T: Sub<Right, Output = T> + SubAssign<Right>,
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> Event for T where
T: Send + Sync + 'static,
T: Send + Sync + 'static,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Resource for T where
T: Any,
T: Any,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Slottable for T where
T: Copy,
[src]
T: Copy,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> UserData for T where
T: Clone + Send + Sync + Any,
[src]
T: Clone + Send + Sync + Any,
fn clone_boxed(&self) -> Box<dyn UserData + 'static>
[src]
fn to_any(&self) -> Box<dyn Any + 'static + Sync + Send>
[src]
fn as_any(&self) -> &(dyn Any + 'static + Sync + Send)
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,