The data provider class for accessing the data retrieved from the remote device. More...
#include <slamtec_remote_public.hxx>
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 ×tamp_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) | |
![]() | |
Noncopyable (const Noncopyable &)=delete | |
Noncopyable & | operator= (const Noncopyable &)=delete |
Noncopyable (Noncopyable &&)=default | |
Noncopyable & | operator= (Noncopyable &&)=default |
Protected Attributes | |
slamtec_aurora_sdk_session_handle_t | _sdk |
Friends | |
class | RemoteSDK |
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
|
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
[in] | visitor | The visitor to visit the map data |
[in] | mapIDs | The map IDs to access, set to empty vector if access all maps |
[out] | errcode | The error code, set to nullptr if not interested |
|
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
[in] | visitor | The visitor to visit the map data |
[in] | mapIDs | The map IDs to access, set to empty vector if access all maps |
[out] | errcode | The error code, set to nullptr if not interested |
|
inline |
Get all map info.
Caller can use this function to get all map description info.
[out] | descBuffer | The buffer to store the map info |
[out] | errcode | The error code, set to nullptr if not interested |
|
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.
[out] | poseOut | The current pose in Euler angles format |
[out] | errcode | The error code, set to nullptr if not interested |
|
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.
[out] | poseOut | The current pose in SE3 format |
[out] | errcode | The error code, set to nullptr if not interested |
|
inline |
Get the global mapping info.
Caller can use this function to get the global mapping info.
[out] | descOut | The global mapping info |
[out] | errcode | The error code, set to nullptr if not interested |
|
inline |
Get the IMU info.
Caller can use this function to get the IMU info.
[out] | infoOut | The IMU info |
[out] | errcode | The error code, set to nullptr if not interested |
|
inline |
Get the last device status.
Caller can use this function to get the last device status.
[out] | statusOut | The last device status |
[out] | timestamp_ns | The timestamp of the last device status |
[out] | errcode | The error code, set to nullptr if not interested |
|
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
[out] | flagsOut | The current mapping flags |
[out] | errcode | The error code, set to nullptr if not interested |
|
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.
[out] | imuDataOut | The IMU data |
[out] | errcode | The error code, set to nullptr if not interested |
|
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.
[out] | scanData | The LIDAR scan data |
[out] | scanPoseSE3 | The pose of the LIDAR scan data |
[in] | forceLatest | Whether to force the latest LIDAR scan data, set to false to use the cached data |
[out] | errcode | The error code, set to nullptr if not interested |
|
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.
[out] | infoOut | The tracking data |
[out] | errcode | The error code, set to nullptr if not interested |