# Struct rhusics::BodyPose
[−]
[src]

pub struct BodyPose<P, R> { /* fields omitted */ }

Transform component used throughout the library

## Methods

`impl<P, R> BodyPose<P, R> where`

P: EuclideanSpace,

P::Scalar: BaseFloat,

R: Rotation<P>,

[src]

P: EuclideanSpace,

P::Scalar: BaseFloat,

R: Rotation<P>,

`fn new(position: P, rotation: R) -> Self`

[src]

Create a new `BodyPose`

with initial state given by the supplied
position and rotation.

`fn set_rotation(&mut self, rotation: R)`

[src]

Set the rotation. Will also compute the inverse rotation. Sets the dirty flag.

`fn set_position(&mut self, position: P)`

[src]

Set the position. Sets the dirty flag.

`fn position(&self) -> &P`

[src]

Borrows the position attribute

`fn rotation(&self) -> &R`

[src]

Borrows the rotation attribute

`fn clear(&mut self)`

[src]

Clear the dirty flag

## Trait Implementations

`impl<P: Clone, R: Clone> Clone for BodyPose<P, R>`

[src]

`fn clone(&self) -> BodyPose<P, R>`

[src]

Returns a copy of the value. Read more

`fn clone_from(&mut self, source: &Self)`

1.0.0[src]

Performs copy-assignment from `source`

. Read more

`impl<P: Debug, R: Debug> Debug for BodyPose<P, R>`

[src]

`impl<P: PartialEq, R: PartialEq> PartialEq for BodyPose<P, R>`

[src]

`fn eq(&self, __arg_0: &BodyPose<P, R>) -> bool`

[src]

This method tests for `self`

and `other`

values to be equal, and is used by `==`

. Read more

`fn ne(&self, __arg_0: &BodyPose<P, R>) -> bool`

[src]

This method tests for `!=`

.

`impl<P, R> Transform<P> for BodyPose<P, R> where`

P: EuclideanSpace,

P::Scalar: BaseFloat,

R: Rotation<P>,

[src]

P: EuclideanSpace,

P::Scalar: BaseFloat,

R: Rotation<P>,

`fn one() -> Self`

[src]

Create an identity transformation. That is, a transformation which does nothing. Read more

`fn look_at(eye: P, center: P, up: P::Diff) -> Self`

[src]

Create a transformation that rotates a vector to look at `center`

from `eye`

, using `up`

for orientation. Read more

`fn transform_vector(&self, vec: P::Diff) -> P::Diff`

[src]

Transform a vector using this transform.

`fn transform_point(&self, point: P) -> P`

[src]

Transform a point using this transform.

`fn concat(&self, other: &Self) -> Self`

[src]

Combine this transform with another, yielding a new transformation which has the effects of both. Read more

`fn inverse_transform(&self) -> Option<Self>`

[src]

Create a transform that "un-does" this one.

`fn inverse_transform_vector(&self, vec: P::Diff) -> Option<P::Diff>`

[src]

Inverse transform a vector using this transform

`fn concat_self(&mut self, other: &Self)`

[src]

Combine this transform with another, in-place.

`impl<P, R> TranslationInterpolate<P::Scalar> for BodyPose<P, R> where`

P: EuclideanSpace,

P::Scalar: BaseFloat,

P::Diff: VectorSpace + InnerSpace,

R: Rotation<P> + Clone,

[src]

P: EuclideanSpace,

P::Scalar: BaseFloat,

P::Diff: VectorSpace + InnerSpace,

R: Rotation<P> + Clone,

`fn translation_interpolate(&self, other: &Self, amount: P::Scalar) -> Self`

[src]

Interpolate between `self`

and `other`

, using amount to calculate how much of other to use. Read more

`impl<P, R> Interpolate<P::Scalar> for BodyPose<P, R> where`

P: EuclideanSpace,

P::Scalar: BaseFloat,

P::Diff: VectorSpace + InnerSpace,

R: Rotation<P> + Interpolate<P::Scalar>,

[src]

P: EuclideanSpace,

P::Scalar: BaseFloat,

P::Diff: VectorSpace + InnerSpace,

R: Rotation<P> + Interpolate<P::Scalar>,

`fn interpolate(&self, other: &Self, amount: P::Scalar) -> Self`

[src]

Interpolate between `self`

and `other`

, using amount to calculate how much of other to use. Read more