Volume Cartographer 2.27.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | List of all members
volcart::IdentityTransform Class Reference

Identity transform. More...

#include <vc/core/types/Transforms.hpp>

Inheritance diagram for volcart::IdentityTransform:
[legend]
Collaboration diagram for volcart::IdentityTransform:
[legend]

Public Types

using Pointer = std::shared_ptr< IdentityTransform >
 
- Public Types inherited from volcart::Transform3D
using Pointer = std::shared_ptr< Transform3D >
 
using Identifier = std::string
 

Public Member Functions

auto type () const -> std::string_view final
 Return a string representation of the transform type. More...
 
auto clone () const -> Transform3D::Pointer final
 Clone the transform. More...
 
auto invertible () const -> bool final
 Return whether the underlying transform is invertible. More...
 
auto invert () const -> Transform3D::Pointer final
 Return the inverted transform. More...
 
auto composable () const -> bool final
 Return whether the underlying transform is composable. More...
 
void reset () final
 Reset the transform parameters. More...
 
auto applyPoint (const cv::Vec3d &point) const -> cv::Vec3d final
 Transform a 3D point. More...
 
auto applyVector (const cv::Vec3d &vector) const -> cv::Vec3d final
 Transform a 3D direction vector. More...
 
- Public Member Functions inherited from volcart::Transform3D
virtual ~Transform3D ()=default
 
 Transform3D (Transform3D &&)=delete
 
auto operator= (Transform3D &&other) -> Transform3D &=delete
 
virtual auto type () const -> std::string_view=0
 Return a string representation of the transform type. More...
 
virtual auto clone () const -> Pointer=0
 Clone the transform. More...
 
virtual auto invertible () const -> bool
 Return whether the underlying transform is invertible. More...
 
virtual auto invert () const -> Pointer
 Return the inverted transform. More...
 
virtual auto composable () const -> bool
 Return whether the underlying transform is composable. More...
 
virtual void reset ()=0
 Reset the transform parameters. More...
 
void clear ()
 Clears all parameters and properties of the transform.
 
void source (const std::string &src)
 Set the identifier for the source space. More...
 
auto source () const -> std::string
 Get the source space identifier. More...
 
void target (const std::string &tgt)
 Set the identifier for the target space. More...
 
auto target () const -> std::string
 Set the identifier for the target space. More...
 
virtual auto applyPoint (const cv::Vec3d &point) const -> cv::Vec3d=0
 Transform a 3D point. More...
 
virtual auto applyVector (const cv::Vec3d &vector) const -> cv::Vec3d=0
 Transform a 3D direction vector. More...
 
auto applyUnitVector (const cv::Vec3d &vector) const -> cv::Vec3d
 Transform a 3D direction unit vector. More...
 
auto applyPointAndNormal (const cv::Vec6d &ptN, bool normalize=true) const -> cv::Vec6d
 Transform a 3D point and surface normal stored in a cv::Vec6d. More...
 

Static Public Member Functions

static auto New () -> Pointer
 Create a new IdentityTransform.
 
- Static Public Member Functions inherited from volcart::Transform3D
static auto Compose (const Pointer &lhs, const Pointer &rhs) -> std::pair< Pointer, Pointer >
 Compose two transforms into a single new transform. More...
 
static void Save (const filesystem::path &path, const Pointer &transform)
 Save a transform to a JSON file.
 
static auto Load (const filesystem::path &path) -> Pointer
 Load a transform from a JSON file.
 

Static Public Attributes

static constexpr std::string_view TYPE {"IdentityTransform"}
 Transform type string constant. More...
 
- Static Public Attributes inherited from volcart::Transform3D
static constexpr std::string_view TYPE {"Transform3D"}
 Transform type string constant. More...
 

Private Member Functions

 IdentityTransform ()=default
 
auto compose_ (const Transform3D::Pointer &rhs) const -> Transform3D::Pointer final
 
void to_meta_ (Metadata &meta) final
 
void from_meta_ (const Metadata &meta) final
 

Additional Inherited Members

- Protected Types inherited from volcart::Transform3D
using Metadata = nlohmann::ordered_json
 
- Protected Member Functions inherited from volcart::Transform3D
 Transform3D ()=default
 
 Transform3D (const Transform3D &)=default
 
auto operator= (const Transform3D &other) -> Transform3D &=default
 
virtual auto compose_ (const Pointer &rhs) const -> Pointer
 
virtual void to_meta_ (Metadata &meta)=0
 
virtual void from_meta_ (const Metadata &meta)=0
 
- Static Protected Member Functions inherited from volcart::Transform3D
static auto Serialize (const Pointer &transform) -> Metadata
 
static auto Deserialize (const Metadata &meta) -> Pointer
 

Detailed Description

Identity transform.

Identity transform that simply returns input parameters. Useful for creating explicit mappings between a source and a target which share the same coordinate space.

auto pt = tfm->applyPoint({0, 1, 0}); // {0, 1, 0}
static auto New() -> Pointer
Create a new IdentityTransform.

Definition at line 354 of file Transforms.hpp.

Member Typedef Documentation

◆ Pointer

Pointer type

Definition at line 361 of file Transforms.hpp.

Constructor & Destructor Documentation

◆ IdentityTransform()

volcart::IdentityTransform::IdentityTransform ( )
privatedefault

Don't allow construction on the stack

Member Function Documentation

◆ applyPoint()

auto volcart::IdentityTransform::applyPoint ( const cv::Vec3d &  point) const -> cv::Vec3d
finalvirtual

Transform a 3D point.

Implements volcart::Transform3D.

◆ applyVector()

auto volcart::IdentityTransform::applyVector ( const cv::Vec3d &  vector) const -> cv::Vec3d
finalvirtual

Transform a 3D direction vector.

Implements volcart::Transform3D.

◆ clone()

auto volcart::IdentityTransform::clone ( ) const -> Transform3D::Pointer
finalvirtual

Clone the transform.

Implements volcart::Transform3D.

◆ composable()

auto volcart::IdentityTransform::composable ( ) const -> bool
finalvirtual

Return whether the underlying transform is composable.

Reimplemented from volcart::Transform3D.

◆ compose_()

auto volcart::IdentityTransform::compose_ ( const Transform3D::Pointer rhs) const -> Transform3D::Pointer
finalprivatevirtual

Helper compose function. The base implementation returns a nullptr. Implementing derived classes should set the returned transform's source to this->source() and the target to rhs->target().

Reimplemented from volcart::Transform3D.

◆ from_meta_()

void volcart::IdentityTransform::from_meta_ ( const Metadata meta)
finalprivatevirtual

Deserialize the derived class parameters

Implements volcart::Transform3D.

◆ invert()

auto volcart::IdentityTransform::invert ( ) const -> Transform3D::Pointer
finalvirtual

Return the inverted transform.

Reimplemented from volcart::Transform3D.

◆ invertible()

auto volcart::IdentityTransform::invertible ( ) const -> bool
finalvirtual

Return whether the underlying transform is invertible.

Reimplemented from volcart::Transform3D.

◆ reset()

void volcart::IdentityTransform::reset ( )
finalvirtual

Reset the transform parameters.

Resets all parameters controlled by the derived transform. Does not reset base transform properties like source and target.

See also
Transform3D::clear()

Implements volcart::Transform3D.

◆ to_meta_()

void volcart::IdentityTransform::to_meta_ ( Metadata meta)
finalprivatevirtual

Serialize the derived class parameters

Implements volcart::Transform3D.

◆ type()

auto volcart::IdentityTransform::type ( ) const -> std::string_view
finalvirtual

Return a string representation of the transform type.

Implements volcart::Transform3D.

Member Data Documentation

◆ TYPE

constexpr std::string_view volcart::IdentityTransform::TYPE {"IdentityTransform"}
staticconstexpr

Transform type string constant.

Definition at line 358 of file Transforms.hpp.


The documentation for this class was generated from the following file: