[][src]Trait cv_core::Pose

pub trait Pose: From<IsometryMatrix3<f64>> + Clone + Copy {
    type InputPoint: Projective;
    type OutputPoint: Projective;
    type Inverse: Pose;
    fn isometry(self) -> IsometryMatrix3<f64>;

    fn identity() -> Self { ... }
fn inverse(self) -> Self::Inverse { ... }
fn scale(self, scale: f64) -> Self { ... }
fn from_parts(translation: Vector3<f64>, rotation: Rotation3<f64>) -> Self { ... }
fn homogeneous(self) -> Matrix4<f64> { ... }
fn se3(self) -> Vector6<f64> { ... }
fn from_se3(se3: Vector6<f64>) -> Self { ... }
fn transform_jacobians(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix4<f64>, Matrix4x6<f64>) { ... }
fn transform_jacobian_input(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix4<f64>) { ... }
fn transform_jacobian_self(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix4x6<f64>) { ... }
fn transform(self, input: Self::InputPoint) -> Self::OutputPoint { ... } }

This trait is implemented by all the different poses in this library:

Associated Types

Loading content...

Required methods

fn isometry(self) -> IsometryMatrix3<f64>

Retrieve the isometry.

Loading content...

Provided methods

fn identity() -> Self

Creates a pose with no change in position or orientation.

fn inverse(self) -> Self::Inverse

Takes the inverse of the pose.

fn scale(self, scale: f64) -> Self

Applies a scale factor to the pose (scales the translation component)

fn from_parts(translation: Vector3<f64>, rotation: Rotation3<f64>) -> Self

Create the pose from rotation and translation.

fn homogeneous(self) -> Matrix4<f64>

Retrieve the homogeneous matrix.

fn se3(self) -> Vector6<f64>

Retrieve the se(3) representation of the pose.

fn from_se3(se3: Vector6<f64>) -> Self

Set the se(3) representation of the pose.

fn transform_jacobians(
    self,
    input: Self::InputPoint
) -> (Self::OutputPoint, Matrix4<f64>, Matrix4x6<f64>)

Transform the given point to an output point, while also retrieving both Jacobians.

The following things are returned in this order:

  • The output point of the transformation
  • The Jacobian of the output in respect to the input point
  • The Jacobian of the output in respect to the pose in se(3) (with translation components before so(3) components)

fn transform_jacobian_input(
    self,
    input: Self::InputPoint
) -> (Self::OutputPoint, Matrix4<f64>)

Transform the given point to an output point, while also retrieving the input Jacobian.

The following things are returned in this order:

  • The output point of the transformation
  • The Jacobian of the output in respect to the input point

fn transform_jacobian_self(
    self,
    input: Self::InputPoint
) -> (Self::OutputPoint, Matrix4x6<f64>)

Transform the given point to an output point, while also retrieving the transform Jacobian.

The following things are returned in this order:

  • The output point of the transformation
  • The Jacobian of the output in respect to the pose in se(3) (with translation components before so(3) components)

fn transform(self, input: Self::InputPoint) -> Self::OutputPoint

Transform the given point to an output point, while also retrieving the transform Jacobian.

The following things are returned in this order:

  • The output point of the transformation
  • The Jacobian of the output in respect to the pose in se(3) (with translation components before so(3) components)
Loading content...

Implementors

Loading content...