Solar
Public Member Functions | Protected Attributes | List of all members
SolAR::api::pipeline::IAsyncRelocalizationPipeline Class Referenceabstract

Defines an asynchronous relocalization pipeline. UUID: 58389ff0-5695-11ec-bf63-0242ac130002 More...

#include <IAsyncRelocalizationPipeline.h>

Inheritance diagram for SolAR::api::pipeline::IAsyncRelocalizationPipeline:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::pipeline::IAsyncRelocalizationPipeline:
Collaboration graph
[legend]

Public Member Functions

 IAsyncRelocalizationPipeline ()=default
 IAsyncRelocalizationPipeline default constructor.
 
virtual ~IAsyncRelocalizationPipeline ()=default
 IAsyncRelocalizationPipeline default destructor.
 
virtual FrameworkReturnCode init (PipelineMode pipelineMode)=0
 Init the pipeline and specify the mode for the pipeline processing. More...
 
PipelineMode getProcessingMode () const
 Return the current mode used for the pipeline processing. More...
 
virtual FrameworkReturnCode setCameraParameters (const SolAR::datastructure::CameraParameters &cameraParams)=0
 Set the camera parameters. More...
 
virtual FrameworkReturnCode getCameraParameters (SolAR::datastructure::CameraParameters &cameraParams) const =0
 Get the camera parameters. More...
 
virtual FrameworkReturnCode relocalizeProcessRequest (const SRef< SolAR::datastructure::Image > image, const SolAR::datastructure::Transform3Df &pose, const std::chrono::system_clock::time_point &timestamp, TransformStatus &transform3DStatus, SolAR::datastructure::Transform3Df &transform3D, float_t &confidence)=0
 Request the asynchronous relocalization pipeline to process a new image to calculate the corresponding 3D transformation to the SolAR coordinates system. More...
 
virtual FrameworkReturnCode get3DTransformRequest (TransformStatus &transform3DStatus, SolAR::datastructure::Transform3Df &transform3D, float_t &confidence)=0
 Request the asynchronous relocalization pipeline to get the 3D transform offset between the device coordinate system and the SolAR coordinate system. More...
 
virtual FrameworkReturnCode getLastPose (SolAR::datastructure::Transform3Df &pose, const PoseType poseType=SOLAR_POSE) const =0
 Return the last pose processed by the pipeline. More...
 
virtual FrameworkReturnCode resetMap () const =0
 Reset the map stored by the map update pipeline. More...
 
virtual FrameworkReturnCode init ()=0
 Initialization of the pipeline. More...
 
- Public Member Functions inherited from SolAR::api::pipeline::IPipeline
virtual FrameworkReturnCode start ()=0
 Start the pipeline. More...
 
virtual FrameworkReturnCode stop ()=0
 Stop the pipeline. More...
 

Protected Attributes

PipelineMode m_PipelineMode = RELOCALIZATION_AND_MAPPING
 Mode to use for the pipeline processing (Relocalization and Mapping by default)
 

Detailed Description

Defines an asynchronous relocalization pipeline. UUID: 58389ff0-5695-11ec-bf63-0242ac130002

This class provides the interface to define an asynchronous relocalization processing pipeline.

Member Function Documentation

◆ get3DTransformRequest()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::get3DTransformRequest ( TransformStatus &  transform3DStatus,
SolAR::datastructure::Transform3Df transform3D,
float_t &  confidence 
)
pure virtual

Request the asynchronous relocalization pipeline to get the 3D transform offset between the device coordinate system and the SolAR coordinate system.

Parameters
[out]transform3DStatusthe status of the current 3D transformation matrix
[out]transform3D: the current 3D transformation matrix (if available)
[out]confidencethe confidence score of the 3D transformation matrix
Returns
FrameworkReturnCode::SUCCESS if the 3D transform is available, else FrameworkReturnCode::_ERROR

◆ getCameraParameters()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::getCameraParameters ( SolAR::datastructure::CameraParameters cameraParams) const
pure virtual

Get the camera parameters.

Parameters
[out]cameraParamsthe camera parameters (its resolution and its focal)
Returns
FrameworkReturnCode::SUCCESS if the camera parameters are correctly returned, else FrameworkReturnCode::_ERROR

◆ getLastPose()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::getLastPose ( SolAR::datastructure::Transform3Df pose,
const PoseType  poseType = SOLAR_POSE 
) const
pure virtual

Return the last pose processed by the pipeline.

Parameters
[out]posethe last pose if available
[in]poseTypethe type of the requested pose
  • in the SolAR coordinate system (by default)
  • in the device coordinate system
Returns
FrameworkReturnCode::SUCCESS if the last pose is available, else FrameworkReturnCode::_ERROR

◆ getProcessingMode()

PipelineMode SolAR::api::pipeline::IAsyncRelocalizationPipeline::getProcessingMode ( ) const
inline

Return the current mode used for the pipeline processing.

Returns
current mode

◆ init() [1/2]

virtual FrameworkReturnCode SolAR::api::pipeline::IPipeline::init ( )
virtual

Initialization of the pipeline.

Returns
FrameworkReturnCode::SUCCESS if the init succeed, else FrameworkReturnCode::_ERROR

Implements SolAR::api::pipeline::IPipeline.

◆ init() [2/2]

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::init ( PipelineMode  pipelineMode)
pure virtual

Init the pipeline and specify the mode for the pipeline processing.

Parameters
[in]pipelineModemode to use for pipeline processing
Returns
FrameworkReturnCode::SUCCESS if the mode is correctly initialized, else FrameworkReturnCode::_ERROR

◆ relocalizeProcessRequest()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::relocalizeProcessRequest ( const SRef< SolAR::datastructure::Image image,
const SolAR::datastructure::Transform3Df pose,
const std::chrono::system_clock::time_point &  timestamp,
TransformStatus &  transform3DStatus,
SolAR::datastructure::Transform3Df transform3D,
float_t &  confidence 
)
pure virtual

Request the asynchronous relocalization pipeline to process a new image to calculate the corresponding 3D transformation to the SolAR coordinates system.

Parameters
[in]imagethe image to process
[in]posethe original pose in the client coordinates system
[in]timestampthe timestamp of the image
[out]transform3DStatusthe status of the current 3D transformation matrix
[out]transform3Dthe current 3D transformation matrix (if available)
[out]confidencethe confidence score of the 3D transformation matrix
Returns
FrameworkReturnCode::SUCCESS if the data are ready to be processed, else FrameworkReturnCode::_ERROR

◆ resetMap()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::resetMap ( ) const
pure virtual

Reset the map stored by the map update pipeline.

Returns
FrameworkReturnCode::SUCCESS if the map is correctly reset, else FrameworkReturnCode::_ERROR

◆ setCameraParameters()

virtual FrameworkReturnCode SolAR::api::pipeline::IAsyncRelocalizationPipeline::setCameraParameters ( const SolAR::datastructure::CameraParameters cameraParams)
pure virtual

Set the camera parameters.

Parameters
[in]cameraParamsthe camera parameters (its resolution and its focal)
Returns
FrameworkReturnCode::SUCCESS if the camera parameters are correctly set, else FrameworkReturnCode::_ERROR

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