Solar
Public Member Functions | List of all members
SolAR::api::storage::IPointCloudManager Class Referenceabstract

Allows to store a point cloud. UUID: 264d4406-b726-4ce9-a430-35d8b5e70331 More...

#include <IPointCloudManager.h>

Inheritance diagram for SolAR::api::storage::IPointCloudManager:
Inheritance graph
[legend]
Collaboration diagram for SolAR::api::storage::IPointCloudManager:
Collaboration graph
[legend]

Public Member Functions

 IPointCloudManager ()=default
 IPointCloudStorage default constructor.
 
virtual ~IPointCloudManager ()=default
 IPointCloudStorage default destructor.
 
virtual FrameworkReturnCode addPoint (const SRef< SolAR::datastructure::CloudPoint > point)=0
 This method allow to add a 3D point to the point cloud. More...
 
virtual FrameworkReturnCode addPoints (const std::vector< SRef< SolAR::datastructure::CloudPoint > > &points)=0
 This method allow to add a vector of 3D points to the point cloud. More...
 
virtual FrameworkReturnCode addPoint (const SolAR::datastructure::CloudPoint &point)=0
 This method allow to add a 3D point to the point cloud. More...
 
virtual FrameworkReturnCode addPoints (const std::vector< SolAR::datastructure::CloudPoint > &points)=0
 This method allow to add a vector of 3D points to the point cloud. More...
 
virtual FrameworkReturnCode getPoint (const uint32_t id, SRef< SolAR::datastructure::CloudPoint > &point) const =0
 This method allows to get a 3D point stored in the point cloud by its id. More...
 
virtual FrameworkReturnCode getPoints (const std::vector< uint32_t > &ids, std::vector< SRef< SolAR::datastructure::CloudPoint > > &points) const =0
 This method allows to get a set of 3D points stored in the point cloud by their ids. More...
 
virtual FrameworkReturnCode getAllPoints (std::vector< SRef< SolAR::datastructure::CloudPoint > > &points) const =0
 This method allows to get all 3D points stored in the point cloud. More...
 
virtual FrameworkReturnCode suppressPoint (const uint32_t id)=0
 This method allow to suppress a point stored in the point cloud by its id. More...
 
virtual FrameworkReturnCode suppressPoints (const std::vector< uint32_t > &ids)=0
 This method allow to suppress a vector of points stored in the point cloud by their ids. More...
 
virtual SolAR::datastructure::DescriptorType getDescriptorType () const =0
 This method allows to get the descriptor type used to extract descriptor for each cloud point. More...
 
virtual FrameworkReturnCode setDescriptorType (const SolAR::datastructure::DescriptorType &type)=0
 This method allows to set the descriptor type used to extract descriptor for each cloud point. More...
 
virtual bool isExistPoint (const uint32_t id) const =0
 This method allows to know if a point is already stored in the component. More...
 
virtual int getNbPoints () const =0
 This method allows to get the number of points stored in the point cloud. More...
 
virtual FrameworkReturnCode saveToFile (const std::string &file) const =0
 This method allows to save the point cloud to the external file. More...
 
virtual FrameworkReturnCode loadFromFile (const std::string &file)=0
 This method allows to load the point cloud from the external file. More...
 
virtual const SRef< SolAR::datastructure::PointCloud > & getConstPointCloud () const =0
 This method returns the point cloud. More...
 
virtual std::unique_lock< std::mutex > getPointCloud (SRef< SolAR::datastructure::PointCloud > &pointCloud)=0
 This method returns the point cloud. More...
 
virtual void setPointCloud (const SRef< SolAR::datastructure::PointCloud > pointCloud)=0
 This method is to set the point cloud. More...
 

Detailed Description

Allows to store a point cloud. UUID: 264d4406-b726-4ce9-a430-35d8b5e70331

This storage component can be accessed by processing components to share persistent data.

Member Function Documentation

◆ addPoint() [1/2]

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::addPoint ( const SolAR::datastructure::CloudPoint point)
pure virtual

This method allow to add a 3D point to the point cloud.

Parameters
[in]pointthe 3D point to add to the persistent point cloud
Returns
FrameworkReturnCode::SUCCESS if the addition succeed, else FrameworkReturnCode::_ERROR.

◆ addPoint() [2/2]

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::addPoint ( const SRef< SolAR::datastructure::CloudPoint point)
pure virtual

This method allow to add a 3D point to the point cloud.

Parameters
[in]pointthe 3D point to add to the persistent point cloud
Returns
FrameworkReturnCode::SUCCESS if the addition succeed, else FrameworkReturnCode::_ERROR.

◆ addPoints() [1/2]

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::addPoints ( const std::vector< SolAR::datastructure::CloudPoint > &  points)
pure virtual

This method allow to add a vector of 3D points to the point cloud.

Parameters
[in]pointsa vector of the 3D points to add to the persistent point cloud
Returns
FrameworkReturnCode::SUCCESS if the addition succeed, else FrameworkReturnCode::_ERROR.

◆ addPoints() [2/2]

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::addPoints ( const std::vector< SRef< SolAR::datastructure::CloudPoint > > &  points)
pure virtual

This method allow to add a vector of 3D points to the point cloud.

Parameters
[in]pointsa vector of the 3D points to add to the persistent point cloud
Returns
FrameworkReturnCode::SUCCESS if the addition succeed, else FrameworkReturnCode::_ERROR.

◆ getAllPoints()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::getAllPoints ( std::vector< SRef< SolAR::datastructure::CloudPoint > > &  points) const
pure virtual

This method allows to get all 3D points stored in the point cloud.

Parameters
[out]pointsthe set of 3D point stored in the point cloud
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR.

◆ getConstPointCloud()

virtual const SRef< SolAR::datastructure::PointCloud > & SolAR::api::storage::IPointCloudManager::getConstPointCloud ( ) const
pure virtual

This method returns the point cloud.

Returns
the point cloud

◆ getDescriptorType()

virtual SolAR::datastructure::DescriptorType SolAR::api::storage::IPointCloudManager::getDescriptorType ( ) const
pure virtual

This method allows to get the descriptor type used to extract descriptor for each cloud point.

Returns
Descriptor type

◆ getNbPoints()

virtual int SolAR::api::storage::IPointCloudManager::getNbPoints ( ) const
pure virtual

This method allows to get the number of points stored in the point cloud.

Returns
The number of points

◆ getPoint()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::getPoint ( const uint32_t  id,
SRef< SolAR::datastructure::CloudPoint > &  point 
) const
pure virtual

This method allows to get a 3D point stored in the point cloud by its id.

Parameters
[in]idid of the point to get
[out]pointa 3D point stored in the point cloud
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR.

◆ getPointCloud()

virtual std::unique_lock< std::mutex > SolAR::api::storage::IPointCloudManager::getPointCloud ( SRef< SolAR::datastructure::PointCloud > &  pointCloud)
pure virtual

This method returns the point cloud.

Parameters
[out]pointCloudthe point cloud
Returns
the point cloud

◆ getPoints()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::getPoints ( const std::vector< uint32_t > &  ids,
std::vector< SRef< SolAR::datastructure::CloudPoint > > &  points 
) const
pure virtual

This method allows to get a set of 3D points stored in the point cloud by their ids.

Parameters
[in]idsa vector of ids of the points to get
[out]pointsa vector of 3D points stored in the point cloud
Returns
FrameworkReturnCode::SUCCESS if succeed, else FrameworkReturnCode::_ERROR.

◆ isExistPoint()

virtual bool SolAR::api::storage::IPointCloudManager::isExistPoint ( const uint32_t  id) const
pure virtual

This method allows to know if a point is already stored in the component.

Parameters
[in]idid of this point
Returns
true if exist, else false

◆ loadFromFile()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::loadFromFile ( const std::string &  file)
pure virtual

This method allows to load the point cloud from the external file.

Parameters
[in]filethe file name
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ saveToFile()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::saveToFile ( const std::string &  file) const
pure virtual

This method allows to save the point cloud to the external file.

Parameters
[in]filethe file name
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ setDescriptorType()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::setDescriptorType ( const SolAR::datastructure::DescriptorType &  type)
pure virtual

This method allows to set the descriptor type used to extract descriptor for each cloud point.

Parameters
[in]typeDescriptor type
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ setPointCloud()

virtual void SolAR::api::storage::IPointCloudManager::setPointCloud ( const SRef< SolAR::datastructure::PointCloud pointCloud)
pure virtual

This method is to set the point cloud.

Parameters
[in]pointCloudthe point cloud

◆ suppressPoint()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::suppressPoint ( const uint32_t  id)
pure virtual

This method allow to suppress a point stored in the point cloud by its id.

Parameters
[in]idof the point to suppress
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

◆ suppressPoints()

virtual FrameworkReturnCode SolAR::api::storage::IPointCloudManager::suppressPoints ( const std::vector< uint32_t > &  ids)
pure virtual

This method allow to suppress a vector of points stored in the point cloud by their ids.

Parameters
[in]idsthe vector of ids of the point to suppress
Returns
FrameworkReturnCode::SUCCESS if the suppression succeed, else FrameworkReturnCode::_ERROR.

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