29#include "rtabmap/core/rtabmap_core_export.h"
31#include <opencv2/highgui/highgui.hpp>
32#include <rtabmap/core/SensorCaptureInfo.h>
33#include "rtabmap/core/SensorData.h"
126 virtual bool init(
const std::string & calibrationFolder =
".",
const std::string & cameraName =
"") = 0;
172 virtual bool getPose(
double stamp,
Transform & pose, cv::Mat & covariance,
double maxWaitTime = 0.06) {
return false; }
Metadata structure for sensor data capture and processing.
Abstract base class for sensor data capture (cameras, lidars, etc.)
virtual ~SensorCapture()
Virtual destructor.
void setLocalTransform(const Transform &localTransform)
Sets the local transform from base frame to sensor frame.
virtual bool init(const std::string &calibrationFolder=".", const std::string &cameraName="")=0
Initializes the sensor.
void setFrameRate(float frameRate)
Sets the target frame rate.
virtual bool getPose(double stamp, Transform &pose, cv::Mat &covariance, double maxWaitTime=0.06)
Gets the sensor's pose estimate at a specific timestamp.
virtual std::string getSerial() const =0
Returns the sensor's serial number or unique identifier.
virtual SensorData captureData(SensorCaptureInfo *info=0)=0
Pure virtual method to capture sensor data.
const Transform & getLocalTransform() const
Returns the local transform from base frame to sensor frame.
SensorData takeData(SensorCaptureInfo *info=0)
Captures sensor data with frame rate control.
int getNextSeqID()
Gets the next sequence ID.
SensorCapture(float frameRate=0, const Transform &localTransform=Transform::getIdentity())
Protected constructor.
virtual bool odomProvided() const
Checks if the sensor provides odometry poses.
float getFrameRate() const
Returns the target frame rate.
void resetTimer()
Resets the frame rate timer.
Container class for all sensor data captured at a specific time.