Struct mori::orientations::rmat::RMat[][src]

pub struct RMat { /* fields omitted */ }

A structure that holds an array of rotation/orientation matrices

Methods

impl RMat
[src]

Creates a series of identity matrices for the initial rotation matrix when the data is not fed into it

Creates a rotation matrix type with the supplied data as long as the supplied data is in the following format shape (3, 3, nelems), memory order = fortran/column major. If it doesn't fit those standards it will fail. The data is also being assummed to be orthogonal, but it's currently not checked to see if that is the case.

Return a ndarray view of the orientation data

Return a ndarray mutable view of the orientation data

Returns the transpose of the rotation matrix.

Trait Implementations

impl Clone for RMat
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for RMat
[src]

Formats the value using the given formatter. Read more

impl OriConv for RMat
[src]

The orientation conversions of a series of rotation matrices to a number of varying different orientation representations commonly used in material orientation processing.

Converts the rotation matrices to the equivalent bunge angles which has the following properties shape (3, nelems), memory order = fortran/column major.

Returns a copy of the initial rotation matrix data structure

Converts the rotation matrix over to an angle-axis representation which has the following properties shape (4, nelems), memory order = fortran/column major.

Converts the rotation matrix over to a compact angle-axis representation which has the following properties shape (3, nelems), memory order = fortran/column major.

Converts the rotation matrix over to a Rodrigues vector representation which has the following properties shape (4, nelems), memory order = fortran/column major.

Converts the rotation matrix over to a compact Rodrigues vector representation which has the following properties shape (3, nelems), memory order = fortran/column major.

Converts the rotation matrix over to a unit quaternion representation which has the following properties shape (4, nelems), memory order = fortran/column major.

Converts the rotation matrix representation over to a homochoric representation which has the following properties shape (4, nelems), memory order = fortran/column major.

Converts the rotation matrices to the equivalent bunge angles which has the following properties shape (3, nelems), memory order = fortran/column major. This operation is done inplace and does not create a new structure

Returns a copy of the initial rotation matrix data structure This operation is done inplace and does not create a new structure

Converts the rotation matrix over to an angle-axis representation which has the following properties shape (4, nelems), memory order = fortran/column major. This operation is done inplace and does not create a new structure

Converts the rotation matrix over to a compact angle-axis representation which has the following properties shape (3, nelems), memory order = fortran/column major. This operation is done inplace and does not create a new structure

Converts the rotation matrix over to a Rodrigues vector representation which has the following properties shape (4, nelems), memory order = fortran/column major. This operation is done inplace and does not create a new structure

Converts the rotation matrix over to a compact Rodrigues vector representation which has the following properties shape (4, nelems), memory order = fortran/column major. This operation is done inplace and does not create a new structure

This operation is done inplace and does not create a new structure

This operation is done inplace and does not create a new structure

impl RotVector for RMat
[src]

A series of commonly used operations to rotate vector data by a given rotation

rot_vector takes in a 2D array view of a series of vectors. It then rotates these vectors using the given rotation matrices. The newly rotated vectors are then returned. This function requires the number of elements in the rotation matrix to be either 1 or nelems. It also requires that the number of elements in the unrotated vector be 1 or nelems. If this condition is not met the function will error out. vec - the vector to be rotated must have dimensions 3xnelems or 3x1. Output - the rotated vector and has dimensions 3xnelems.

rot_vector_mut takes in a 2D array view of a series of vectors and a mutable 2D ArrayView of the rotated vector. It then rotates these vectors using the given rotation matrices. The newly rotated vectors are assigned to the supplied rotated vector, rvec. This function requires the number of elements in the rotation matrix to be either 1 or nelems where rvec has nelems in it. It also requires that the number of elements in the unrotated vector be 1 or nelems. If these conditions are not met the function will error out. vec - the vector to be rotated must have dimensions 3xnelems or 3x1. rvec - the rotated vector and has dimensions 3xnelems.

rot_vector_inplace takes in a mutable 2D array view of a series of vectors. It then rotates these vectors using the given rotation matrices. The newly rotated vectors are assigned to original vector. This function requires the number of elements in the rotation matrix to be either 1 or nelems where vec has nelems in it. If this condition is not met the function will error out. vec - the vector to be rotated must have dimensions 3xnelems.

impl RotTensor for RMat
[src]

A series of commonly used operations to rotate 2nd order 3x3 tensor data by a given rotation

rot_tensor takes in a 3D array view of a series of tensors. It then rotates these tensors using the given rotation matrices. The newly rotated tensors are then returned. This function requires the number of elements in the rotation matrix to be either 1 or nelems where tensor has nelems in it. If this condition is not met the function will error out. tensor - the tensors to be rotated must have dimensions 3x3xnelems. Output - the rotated tensors and has dimensions 3x3xnelems.

rot_tensor_mut takes in a 3D array view of a series of tensors and a mutable 3D ArrayView of the rotated tensors. It then rotates these tensors using the given rotation matrices. The newly rotated tensors are assigned to the supplied rotated tensors, rtensor. This function requires the number of elements in the rotation matrix to be either 1 or nelems where tensor has nelems in it. It also requires the number of elements in rtensor and tensor to be equal. tensor - the tensors to be rotated must have dimensions 3x3xnelems. rtensor - the rotated tensors and has dimensions 3x3xnelems.

rot_tensor_inplace takes in a mutable 3D array view of a series of tensors. It then rotates these tensors using the given rotation matrices. The newly rotated tensors are assigned in place of the supplied variable tensor. This function requires the number of elements in the rotation matrix to be either 1 or nelems where tensor has nelems in it. tensor - the tensors to be rotated must have dimensions 3x3xnelems.

Auto Trait Implementations

impl Send for RMat

impl Sync for RMat