[][src]Trait cv::Pose

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

    fn identity() -> Self { ... }
fn inverse(self) -> Self::Inverse { ... }
fn scale(self, scale: f64) -> Self { ... }
fn from_parts(
        translation: Matrix<f64, U3, U1, <DefaultAllocator as Allocator<f64, U3, U1>>::Buffer>,
        rotation: Rotation<f64, U3>
    ) -> Self { ... }
fn homogeneous(
        self
    ) -> Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer> { ... }
fn se3(
        self
    ) -> Matrix<f64, U6, U1, <DefaultAllocator as Allocator<f64, U6, U1>>::Buffer> { ... }
fn from_se3(
        se3: Matrix<f64, U6, U1, <DefaultAllocator as Allocator<f64, U6, U1>>::Buffer>
    ) -> Self { ... }
fn transform_jacobians(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer>, Matrix<f64, U4, U6, <DefaultAllocator as Allocator<f64, U4, U6>>::Buffer>) { ... }
fn transform_jacobian_input(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer>) { ... }
fn transform_jacobian_self(
        self,
        input: Self::InputPoint
    ) -> (Self::OutputPoint, Matrix<f64, U4, U6, <DefaultAllocator as Allocator<f64, U4, U6>>::Buffer>) { ... }
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) -> Isometry<f64, U3, Rotation<f64, U3>>

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: Matrix<f64, U3, U1, <DefaultAllocator as Allocator<f64, U3, U1>>::Buffer>,
    rotation: Rotation<f64, U3>
) -> Self

Create the pose from rotation and translation.

fn homogeneous(
    self
) -> Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer>

Retrieve the homogeneous matrix.

fn se3(
    self
) -> Matrix<f64, U6, U1, <DefaultAllocator as Allocator<f64, U6, U1>>::Buffer>

Retrieve the se(3) representation of the pose.

fn from_se3(
    se3: Matrix<f64, U6, U1, <DefaultAllocator as Allocator<f64, U6, U1>>::Buffer>
) -> Self

Set the se(3) representation of the pose.

fn transform_jacobians(
    self,
    input: Self::InputPoint
) -> (Self::OutputPoint, Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer>, Matrix<f64, U4, U6, <DefaultAllocator as Allocator<f64, U4, U6>>::Buffer>)

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, Matrix<f64, U4, U4, <DefaultAllocator as Allocator<f64, U4, U4>>::Buffer>)

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, Matrix<f64, U4, U6, <DefaultAllocator as Allocator<f64, U4, U6>>::Buffer>)

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...