CVB++ 15.0

Base calibration class to apply 3D calibration to point clouds. More...

#include <cvb/calibrator_3d.hpp>

Inherited by LaserPlaneCalibrator3D, MatrixCalibrator3D, and PinholeCameraCalibrator3D.

Public Member Functions

Cvb::optional< double > RangeMapIgnoreValue () const
 Gets value to be ignored in range map.
 
void SetRangeMapIgnoreValue (Cvb::optional< double > rangeMapIgnoreValue)
 Sets value to be ignored in range map in the calibrator.
 
AffineMatrix3D ExtrinsicMatrix () const
 Gets the extrinsic transformation matrix (rigid body transformation) of the calibrator.
 
void SetExtrinsicMatrix (const AffineMatrix3D &transformation)
 Sets the extrinsic transformation matrix (rigid body transformation with rotation and translation) of the calibrator.
 
void Save (const String &fileName) const
 Write the current content calibrator to a file.
 
void * Handle () const noexcept
 Returns C-API style handle to Node Object.
 

Static Public Member Functions

template<class T>
static std::shared_ptr< T > Load (const String &fileName)
 Loads a 3D calibration from file.
 
static Calibrator3DPtr FromHandle (HandleGuard< Calibrator3D > &&guard)
 Creates a calibrator from a classic API handle.
 

Detailed Description

Base calibration class to apply 3D calibration to point clouds.

Member Function Documentation

◆ ExtrinsicMatrix()

AffineMatrix3D ExtrinsicMatrix ( ) const
inline

Gets the extrinsic transformation matrix (rigid body transformation) of the calibrator.

Returns
The variable to receive the extrinsic transformation matrix.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ FromHandle()

CVB_BEGIN_INLINE_NS Calibrator3DPtr FromHandle ( HandleGuard< Calibrator3D > && guard)
inlinestatic

Creates a calibrator from a classic API handle.

Parameters
[in]guardLife time guard for C-API handle.
Returns
The calibrator created from the classic API handle.
Exceptions
Anyexception derived from std::exception including CvbException.

The calibrator takes ownership of the handle, so you must share it before using this function.

◆ Handle()

void * Handle ( ) const
inlinenoexcept

Returns C-API style handle to Node Object.

Returns
C-API handle

◆ Load()

template<class T>
std::shared_ptr< T > Load ( const String & fileName)
static

Loads a 3D calibration from file.

Template Parameters
TThe wanted calibrator type to load.
Parameters
[in]fileNameFull path to the file to load.
Returns
Pointer to created calibration object.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ RangeMapIgnoreValue()

Cvb::optional< double > RangeMapIgnoreValue ( ) const
inline

Gets value to be ignored in range map.

Returns
Value to be ignored in range map.

◆ Save()

void Save ( const String & fileName) const
inline

Write the current content calibrator to a file.

Parameters
[in]fileNameFile name into which to save the calibrator.
Exceptions
Anyexception derived from std::exception including CvbException.

Writes the calibrator information in json format.

◆ SetExtrinsicMatrix()

void SetExtrinsicMatrix ( const AffineMatrix3D & transformation)
inline

Sets the extrinsic transformation matrix (rigid body transformation with rotation and translation) of the calibrator.

Parameters
[in]transformationVariable to receive the extrinsic transformation matrix.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ SetRangeMapIgnoreValue()

void SetRangeMapIgnoreValue ( Cvb::optional< double > rangeMapIgnoreValue)
inline

Sets value to be ignored in range map in the calibrator.

Parameters
[in]rangeMapIgnoreValueValue to be ignored in range map segmenting faces.