SLAMTEC Aurora Public Remote SDK  1.2.0-rtm
rp::standalone::aurora::RemoteDataProvider Class Reference

The data provider class for accessing the data retrieved from the remote device. More...

#include <slamtec_remote_public.hxx>

Inheritance diagram for rp::standalone::aurora::RemoteDataProvider:
rp::standalone::aurora::Noncopyable

Public Member Functions

bool getCurrentPoseSE3 (slamtec_aurora_sdk_pose_se3_t &poseOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the current device pose in SE3 format. More...
 
bool getCurrentPose (slamtec_aurora_sdk_pose_t &poseOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the current device pose in Euler angles (Roll-Pitch-Yaw RPY order) format. More...
 
bool getMappingFlags (slamtec_aurora_sdk_mapping_flag_t &flagsOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the current mapping flags. More...
 
bool getLastDeviceStatus (slamtec_aurora_sdk_device_status_t &statusOut, uint64_t &timestamp_ns, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the last device status. More...
 
bool peekTrackingData (RemoteTrackingFrameInfo &infoOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Peek the tracking data. More...
 
bool peekVSLAMSystemStatus (slamtec_aurora_sdk_device_status_desc_t &statusOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 
bool peekRelocalizationStatus (slamtec_aurora_sdk_relocalization_status_t &statusOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 
bool peekRecentLIDARScanSingleLayer (SingleLayerLIDARScan &scanData, slamtec_aurora_sdk_pose_se3_t &scanPoseSE3, bool forceLatest=false, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Peek the recent LIDAR scan data in single layer mode. More...
 
bool peekIMUData (std::vector< slamtec_aurora_sdk_imu_data_t > &imuDataOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Peek the IMU data. More...
 
bool getIMUInfo (slamtec_aurora_sdk_imu_info_t &infoOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the IMU info. More...
 
bool getGlobalMappingInfo (slamtec_aurora_sdk_global_map_desc_t &descOut, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get the global mapping info. More...
 
bool getAllMapInfo (std::vector< slamtec_aurora_sdk_map_desc_t > &descBuffer, slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Get all map info. More...
 
bool accessMapData (const RemoteMapDataVisitor &visitor, std::vector< uint32_t > mapIDs=std::vector< uint32_t >(), slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Access the map data like keyframe and map points data. More...
 
bool accessMapData (const slamtec_aurora_sdk_map_data_visitor_t &visitor, std::vector< uint32_t > mapIDs=std::vector< uint32_t >(), slamtec_aurora_sdk_errorcode_t *errcode=nullptr)
 Access the map data like keyframe and map points data. More...
 

Protected Member Functions

 RemoteDataProvider (slamtec_aurora_sdk_session_handle_t &sdk)
 
- Protected Member Functions inherited from rp::standalone::aurora::Noncopyable
 Noncopyable (const Noncopyable &)=delete
 
Noncopyableoperator= (const Noncopyable &)=delete
 
 Noncopyable (Noncopyable &&)=default
 
Noncopyableoperator= (Noncopyable &&)=default
 

Protected Attributes

slamtec_aurora_sdk_session_handle_t _sdk
 

Friends

class RemoteSDK
 

Detailed Description

The data provider class for accessing the data retrieved from the remote device.

Use this class to access the data retrieved from the remote device

Member Function Documentation

◆ accessMapData() [1/2]

bool rp::standalone::aurora::RemoteDataProvider::accessMapData ( const RemoteMapDataVisitor visitor,
std::vector< uint32_t >  mapIDs = std::vector<uint32_t>(),
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Access the map data like keyframe and map points data.

Caller can use this function to access the map data like keyframe and map points data.

A visitor object contains data callback listeners must be provided

those callbacks set to NULL will be ignored

the SDK will enter stall state during the data accessing,

i.e. the background data sync will paused

if all map data should be accessed, simply pass an empty vector to the map_ids

Parameters
[in]visitorThe visitor to visit the map data
[in]mapIDsThe map IDs to access, set to empty vector if access all maps
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the map data is accessed successfully, false otherwise

◆ accessMapData() [2/2]

bool rp::standalone::aurora::RemoteDataProvider::accessMapData ( const slamtec_aurora_sdk_map_data_visitor_t visitor,
std::vector< uint32_t >  mapIDs = std::vector<uint32_t>(),
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Access the map data like keyframe and map points data.

Caller can use this function to access the map data like keyframe and map points data.

A visitor object contains data callback listeners must be provided

those callbacks set to NULL will be ignored

the SDK will enter stall state during the data accessing,

i.e. the background data sync will paused

if all map data should be accessed, simply pass an empty vector to the map_ids

Parameters
[in]visitorThe visitor to visit the map data
[in]mapIDsThe map IDs to access, set to empty vector if access all maps
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the map data is accessed successfully, false otherwise

◆ getAllMapInfo()

bool rp::standalone::aurora::RemoteDataProvider::getAllMapInfo ( std::vector< slamtec_aurora_sdk_map_desc_t > &  descBuffer,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get all map info.

Caller can use this function to get all map description info.

Parameters
[out]descBufferThe buffer to store the map info
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the map info is retrieved successfully, false otherwise

◆ getCurrentPose()

bool rp::standalone::aurora::RemoteDataProvider::getCurrentPose ( slamtec_aurora_sdk_pose_t poseOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the current device pose in Euler angles (Roll-Pitch-Yaw RPY order) format.

Caller can use this function to get the current pose in Euler angles format.

The pose data retrieved is the cached data from previous fetched by the background data sync thread.

The pose data may be outdated. If caller needs the latest pose data, it should using the SDK listener to get the pose update event.

WARNING: gimbal lock may happen, please use the SE3 pose if possible.

Parameters
[out]poseOutThe current pose in Euler angles format
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the pose is retrieved successfully, false otherwise

◆ getCurrentPoseSE3()

bool rp::standalone::aurora::RemoteDataProvider::getCurrentPoseSE3 ( slamtec_aurora_sdk_pose_se3_t poseOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the current device pose in SE3 format.

Caller can use this function to get the current pose in SE3 format.

The pose data retrieved is the cached data from previous fetched by the background data sync thread.

The pose data may be outdated. If caller needs the latest pose data, it should using the SDK listener to get the pose update event.

Parameters
[out]poseOutThe current pose in SE3 format
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the pose is retrieved successfully, false otherwise

◆ getGlobalMappingInfo()

bool rp::standalone::aurora::RemoteDataProvider::getGlobalMappingInfo ( slamtec_aurora_sdk_global_map_desc_t descOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the global mapping info.

Caller can use this function to get the global mapping info.

Parameters
[out]descOutThe global mapping info
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the global mapping info is retrieved successfully, false otherwise

◆ getIMUInfo()

bool rp::standalone::aurora::RemoteDataProvider::getIMUInfo ( slamtec_aurora_sdk_imu_info_t infoOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the IMU info.

Caller can use this function to get the IMU info.

Parameters
[out]infoOutThe IMU info
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the IMU info is retrieved successfully, false otherwise

◆ getLastDeviceStatus()

bool rp::standalone::aurora::RemoteDataProvider::getLastDeviceStatus ( slamtec_aurora_sdk_device_status_t statusOut,
uint64_t &  timestamp_ns,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the last device status.

Caller can use this function to get the last device status.

Parameters
[out]statusOutThe last device status
[out]timestamp_nsThe timestamp of the last device status
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the status is retrieved successfully, false otherwise

◆ getMappingFlags()

bool rp::standalone::aurora::RemoteDataProvider::getMappingFlags ( slamtec_aurora_sdk_mapping_flag_t flagsOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Get the current mapping flags.

Caller can use this function to get the current SLAM working flags, e.g. whether Loop Closure is disabled or not

Parameters
[out]flagsOutThe current mapping flags
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the flags are retrieved successfully, false otherwise

◆ peekIMUData()

bool rp::standalone::aurora::RemoteDataProvider::peekIMUData ( std::vector< slamtec_aurora_sdk_imu_data_t > &  imuDataOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Peek the IMU data.

Caller can use this function to peek the IMU data

The IMU data is the cached data from previous fetched by the background data sync thread.

The IMU data may be outdated. If caller needs the latest IMU data, it should using the SDK listener to get the IMU update event.

Parameters
[out]imuDataOutThe IMU data
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the IMU data is retrieved successfully, false otherwise

◆ peekRecentLIDARScanSingleLayer()

bool rp::standalone::aurora::RemoteDataProvider::peekRecentLIDARScanSingleLayer ( SingleLayerLIDARScan scanData,
slamtec_aurora_sdk_pose_se3_t scanPoseSE3,
bool  forceLatest = false,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Peek the recent LIDAR scan data in single layer mode.

Caller can use this function to peek the recent LIDAR scan data along with its pose.

The pose is estimated by the tracking pose at the time of the scan.

The LIDAR scan data is the cached data from previous fetched by the background data sync thread.

The LIDAR scan data may be outdated. If caller needs the latest LIDAR scan data, it should using the SDK listener to get the LIDAR scan update event.

Parameters
[out]scanDataThe LIDAR scan data
[out]scanPoseSE3The pose of the LIDAR scan data
[in]forceLatestWhether to force the latest LIDAR scan data, set to false to use the cached data
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the LIDAR scan data is retrieved successfully, false otherwise

◆ peekTrackingData()

bool rp::standalone::aurora::RemoteDataProvider::peekTrackingData ( RemoteTrackingFrameInfo infoOut,
slamtec_aurora_sdk_errorcode_t errcode = nullptr 
)
inline

Peek the tracking data.

Caller can use this function to peek the tracking data

The tracking data is the cached data from previous fetched by the background data sync thread.

The tracking data may be outdated. If caller needs the latest tracking data, it should using the SDK listener to get the tracking update event.

Parameters
[out]infoOutThe tracking data
[out]errcodeThe error code, set to nullptr if not interested
Returns
True if the tracking data is retrieved successfully, false otherwise

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