xvsdk  3.2.0
xv-sdk.h
1 #pragma once
2 
3 #include <map>
4 #include <functional>
5 #if defined( __ANDROID__ )
6 #include "jni.h"
7 #endif
8 #include "xv-types.h"
9 
10 namespace xv {
11 
12 class Device;
13 
14 
18 template <typename T>
19 class Stream {
20 public:
21 
22  using Data = T;
23 
27  virtual bool start() = 0;
31  virtual bool stop() = 0;
32 
36  virtual int registerCallback(std::function<void (T)>) = 0;
40  virtual bool unregisterCallback(int callbackId) = 0;
41 
42 };
43 
47 class Camera {
48 public:
49 
55  virtual const std::vector<Calibration>& calibration();
56 
57  // TODO add more settings like AWB in later release
58  virtual bool setResolution( int resolution );
59  virtual bool setFramerate( float framerate );
60  // aecMode 0:auto 1:manual
67  virtual bool setExposure( int aecMode = 0, int exposureGain = 0, float exposureTimeMs = 0.0 );
68 
73  virtual bool setBrightness( int brightness );
74 
75  virtual ~Camera(){}
76 };
77 
81 class ImuSensor : virtual public Stream<Imu const &> {
82 public:
83 
84  virtual ~ImuSensor(){}
85 };
86 
128 class EventStream : virtual public Stream<Event const &> {
129 public:
130 
131  virtual ~EventStream(){}
132 };
133 
137 class OrientationStream : virtual public Stream<Orientation const &> {
138 public:
139 
149  virtual bool get(Orientation& pose, double prediction = 0.) = 0;
150 
160  virtual bool getAt(Orientation& pose, double timestamp) = 0;
161  virtual ~OrientationStream(){}
162 };
163 
169 class FisheyeCameras : virtual public Stream<FisheyeImages const &>, virtual public Camera {
170 public:
171  virtual int registerAntiDistortionCallback(std::function<void (FisheyeImages const &)> cb ) = 0;
172  virtual bool unregisterAntiDistortionCallback( int callbackID ) = 0;
173 
174  virtual bool checkAntiDistortionSupport() = 0;
175 
176  virtual ~FisheyeCameras(){}
177 };
178 
182 class Display {
183 public:
184 
190  virtual const std::vector<Calibration>& calibration() = 0;
191 
195  virtual bool open() = 0;
196 
200  virtual bool close() = 0;
201 
207  virtual bool setBrightnessLevel( int level ) = 0;
208 };
209 
213 class ColorCamera : virtual public Stream<ColorImage const &>, virtual public Camera {
214 public:
215  enum class Resolution {
216  RGB_1920x1080 = 0,
217  RGB_1280x720 = 1,
218  RGB_640x480 = 2,
219  RGB_320x240 = 3,
220  RGB_2560x1920 = 4,
221  RGB_3840x2160 = 5,
222  };
223 
224  enum class Mode {
225  AF,
226  MF,
227  Unknown
228  };
229 
230  virtual bool setCompensation(int compensation) = 0;
231  virtual bool setAwb(int awb) = 0;
232  virtual bool setResolution( const Resolution &resolution ) = 0;
233  virtual bool isSupportAFRGB() = 0;
234  virtual bool setRGBMode(const Mode &mode) = 0;
235  virtual bool setRGBFocalDistance(unsigned char distance) = 0;
236  virtual bool startCameras(int camIndex = 1) = 0;
237  virtual bool stopCameras(int camIndex = 1) = 0;
238  virtual bool setCamsResolution(const xv::ColorCamera::Resolution & resolution, int camIndex = 1) = 0;
239  virtual bool setCamsFramerate(float framerate, int camIndex = 1) = 0;
240  virtual int registerCam2Callback(std::function<void (ColorImage const &)> c ) = 0;
241  virtual bool unregisterCam2Callback( int callbackID ) = 0;
242 
243  virtual ~ColorCamera(){}
244 };
245 
249 class TofCamera : virtual public Stream<DepthImage const &>, virtual public Camera {
250 public:
251  enum class StreamMode { DepthOnly = 0, CloudOnly, DepthAndCloud, None, CloudOnLeftHandSlam};
252  enum class DistanceMode { Short = 0, Middle, Long };
253  enum class SonyTofLibMode { IQMIX_DF ,IQMIX_SF, LABELIZE_DF ,LABELIZE_SF ,M2MIX_DF ,M2MIX_SF };
254  enum class Framerate{ FPS_5 ,FPS_10 ,FPS_15 ,FPS_20 ,FPS_25 ,FPS_30 };
255  enum class Resolution{ Unknown = -1,VGA = 0 ,QVGA ,HQVGA};
256  enum class Manufacturer {Unknown = -1, Pmd = 0, Sony};
257 
261  virtual int registerColorDepthImageCallback(std::function<void(const DepthColorImage&)>) = 0;
262  virtual bool unregisterColorDepthImageCallback(int callbackId) = 0;
263 
269  virtual std::shared_ptr<PointCloud> depthImageToPointCloud(DepthImage const &) const = 0;
270 
275  virtual std::shared_ptr<PointCloud> formatPmdCloudToPointCloudStruct(DepthImage const &) const = 0;
276 
280  virtual bool setStreamMode(StreamMode mode) = 0;
281 
292  virtual bool setDistanceMode(DistanceMode mode) = 0;
293 
298  virtual Resolution getResolution() = 0;
299 
304  virtual Manufacturer getManufacturer() = 0;
305 
316  virtual bool setLibWorkMode(SonyTofLibMode mode) = 0;
317 
321  virtual bool enableTofIr(bool enable) = 0;
322 
326  virtual bool setMode(int mode) = 0;
327 
331  virtual bool setSonyTofSetting(SonyTofLibMode mode, Resolution resolution, Framerate frameRate) = 0;
332 
333  virtual void setTofIrGamma(double gamma) = 0;
334 
338  virtual void setFilterFile(std::string filePath) = 0;
339 
340  virtual ~TofCamera() {}
341 };
342 
348 class Slam : virtual public Stream<Pose const&> {
349 
350 public:
351  enum class Mode { Edge = 0, Mixed, EdgeFusionOnHost };
352 
357  virtual Mode mode() const = 0;
358 
362  virtual bool start() override = 0;
363 
369  virtual bool start(Mode mode) = 0;
370 
375  virtual bool reset() = 0;
376 
381  virtual bool pause() = 0;
382 
387  virtual bool resume() = 0;
388 
399  virtual bool getPose(Pose& pose, double prediction = 0.) = 0;
400 
411  virtual bool getPoseAt(Pose& pose, double timestamp) = 0;
412 
417  virtual int registerVisualPoseCallback(std::function<void (const Pose&)> lostCallback) = 0;
418  virtual bool unregisterVisualPoseCallback(int callbackId) = 0;
419  #define XVSDK_HAS_SLAM_VISUAL_POSE_CALLBACK
420 
425  virtual int registerLostCallback(std::function<void ()> lostCallback) = 0;
426  virtual bool unregisterLostCallback(int callbackId) = 0;
427 
435  virtual int registerStereoPlanesCallback(std::function<void (std::shared_ptr<const std::vector<Plane>>)> planeCallback) = 0;
436  virtual bool unregisterStereoPlanesCallback(int callbackId) = 0;
437  virtual bool clearStereoPlanes() = 0;
438 
452  virtual int registerTofPlanesCallback(std::function<void (std::shared_ptr<const std::vector<Plane>>)> planeCallback) = 0;
453  virtual bool unregisterTofPlanesCallback(int callbackId) = 0;
454  virtual bool clearTofPlanes() = 0;
455 
456 
461  virtual int registerMapCallback(std::function<void (std::shared_ptr<const xv::SlamMap>)> mapCallback) = 0;
462  virtual bool unregisterMapCallback(int callbackId) = 0;
463 
474  virtual bool loadMapAndSwitchToCslam(std::streambuf& mapStream, std::function<void(int /* status of load map */)> done_callback, std::function<void(float)> localized_on_reference_map={}) = 0;
485  virtual bool saveMapAndSwitchToCslam(std::streambuf& mapStream, std::function<void(int /* status of save map */, int /* map quality */)> done_callback, std::function<void(float)> localized_on_reference_map={}) = 0;
486 
493  virtual Pose poseScaleCalibration(const Pose& pose) = 0;
494 
498  virtual void poseReset() = 0;
499 
500  virtual ~Slam() {}
501 };
502 
506 class ObjectDetector : virtual public Stream<std::vector<Object> const&> {
507 public:
508  enum class Source { LEFT = 0, RIGHT, RGB, TOF };
509 
510  virtual bool setDescriptor( const std::string &filepath ) = 0;
511  virtual bool setModel( const std::string &filepath ) = 0;
512  virtual bool setSource( const Source &source ) = 0;
513  virtual xv::ObjectDetector::Source getSource() const = 0;
514  virtual xv::ObjectDescriptor getDescriptor() const = 0;
515 
516  virtual int registerCnnRawCallback(std::function<void (std::shared_ptr<CnnRawWrapper> const&)> poseCallback) = 0;
517  virtual bool unregisterCnnRawCallback(int callbackId) = 0;
518 
519  virtual ~ObjectDetector() {}
520 };
521 
525 class ObjectDetectorRKNN3588 : virtual public Stream<std::vector<Det2dObject> const&> {
526 public:
527  virtual bool setModel( const std::string &filepath ) = 0;
528  virtual ~ObjectDetectorRKNN3588() {}
529 };
530 
534 class SgbmCamera : virtual public Stream<SgbmImage const &>, virtual public Camera {
535 public:
536  enum class Resolution {
537  SGBM_640x480 = 0,
538  SGBM_1280x720 = 1,
539  };
540  enum class Mode { Hardware = 0, Software };
544  virtual Mode mode() const = 0;
545 
546  virtual bool start(const std::string &sgbmConfig) = 0;
547  virtual bool start(const sgbm_config &sgbmConfig) = 0;
548  virtual bool setConfig(const std::string &sgbmConfig) = 0;
549  virtual bool setSgbmResolution(const xv::SgbmCamera::Resolution & resolution) = 0;
550  virtual xv::SgbmCamera::Resolution getSgbmResolution() = 0;
559  virtual std::shared_ptr<PointCloud> depthImageToPointCloud(SgbmImage const &sgbmImage) const = 0;
560  virtual ~SgbmCamera() {}
561 };
562 
566 class ThermalCamera : virtual public Stream<ThermalImage const &>, virtual public Camera {
567 public:
568 
569  enum class Mode { TEMPERATURE = 0, TEMPERTURE = 0, GREY };
570  virtual bool setMode( Mode mode ) = 0;
571  virtual ~ThermalCamera() {}
572 };
573 
577 class EyetrackingCamera : virtual public Stream<EyetrackingImage const &>, virtual public Camera {
578 public:
579 
588  virtual bool setExposure( int leftGain, float leftTimeMs, int rightGain, float rightTimeMs ) = 0;
589 
597  virtual bool setLedBrighness( int eye, int led, int brightness ) = 0;
598 
599  virtual ~EyetrackingCamera() {}
600 };
601 
605 class GazeStream : virtual public Stream<XV_ET_EYE_DATA_EX const &>{
606 public:
607 
613  virtual void setConfigPath(std::string config) = 0;
614 
615  virtual ~GazeStream() {}
616 };
617 
621 class IrisStream : virtual public Stream<XV_IRIS_DATA const &>{
622 public:
623 
624 #if defined( __ANDROID__ )
625  virtual bool start(JNIEnv* env, jobject thiz, std::string offlineS) = 0;
626 
627  virtual const char* onlineActive(JNIEnv *env, jobject context, const char* initLicense, const char* userId, const char* secret, int &activeResult) = 0;
628 #endif
629 
634  virtual void setUserName(std::string name) = 0;
635 
641  virtual int registerEnrollCallback(std::function<void (XV_IRIS_DATA const &)>) = 0;
642  virtual bool UnregisterEnrollCallback(int callbackID) = 0;
643 
649  virtual int registerIdentifyCallback(std::function<void (XV_IRIS_DATA const &)>) = 0;
650  virtual bool UnregisterIdentifyCallback(int callbackID) = 0;
651 
657  virtual bool loadIrisInfo(unsigned char* iris_features, int size) = 0;
658 
664  virtual void setConfigPath(std::string config) = 0;
665 
666  virtual ~IrisStream() {}
667 };
668 
672 class GestureStream : virtual public Stream<GestureData const &> {
673 public:
674 
680  virtual int registerDynamicGestureCallback(std::function<void (GestureData const &)>) = 0;
681  virtual bool UnregisterDynamicGestureCallback(int callbackID) = 0;
682 
690  virtual int registerKeypointsCallback(std::function<void (std::shared_ptr<const std::vector<keypoint>>)> callback) = 0;
691  virtual bool unregisterKeypointsCallback(int callbackId) = 0;
692 
700  virtual int registerSlamKeypointsCallback(std::function<void (std::shared_ptr<const xv::HandPose>)> callback) = 0;
701  virtual bool unregisterSlamKeypointsCallback(int callbackId) = 0;
702 
703  virtual ~GestureStream() {}
704 
705  virtual bool setPlatform( int platform , bool ego) = 0;
706 };
707 
711 class GPSStream : virtual public Stream<std::vector<unsigned char> const &>{
712 public:
713  virtual ~GPSStream() {}
714 };
715 
719 class GPSDistanceStream : virtual public Stream<GPSDistanceData const &>{
720 public:
721 
722  virtual ~GPSDistanceStream() {}
723 };
724 
728 class TerrestrialMagnetismStream : virtual public Stream<TerrestrialMagnetismData const &>{
729 public:
730 
731  virtual ~TerrestrialMagnetismStream() {}
732 };
733 
737 class ExternalStream : virtual public Stream<xv::Pose const &>{
738 public:
739 
740  virtual int registerRawCallback( std::function<void (xv::ExternalData const &)> rawExternalCallback) = 0;
741  virtual bool unregisterRawCallback( int callbackId ) = 0;
742 
743  virtual int registerFixedPoseCallback( std::function<void (xv::Pose const &)> fixedExternalCallback) = 0;
744  virtual bool unregisterFixedPoseCallback( int callbackId ) = 0;
745 
746  virtual int registerRuntimePoseCallback( std::function<void (xv::Pose const&)> runtimeExternalCallback) = 0;
747  virtual bool unregisterRuntimePoseCallback(int callbackId) = 0;
748 
749  virtual int registerScaledPoseCallback( std::function<void (xv::Pose const&)> scaledExternalCallback) = 0;
750  virtual bool unregisterScaledPoseCallback(int callbackId) = 0;
751 
752  virtual bool getPose(Pose& pose) = 0;
753 
754  virtual void SetScaleArrayRange(int range) = 0;
755  virtual void setScaleRange(double low, double high) = 0;
756 
757  virtual Vector3d rotationToEuler(Matrix3d const& rot) = 0;
758 
759  virtual void setResetStatus(bool status) = 0;
760  virtual void setDeviceStopStatus(bool status) = 0;
761 
762  virtual void setTransform(const xv::Transform& transform) = 0;
763 
764  virtual void resumeLastPose(xv::Pose pose) = 0;
765 
766  virtual ~ExternalStream() {}
767 };
768 
772 class MicStream : virtual public Stream<MicData const &> {
773 public:
774 
775  virtual ~MicStream() {}
776 };
777 
781 class Speaker {
782 public:
783 
784  virtual bool enable() = 0;
785  virtual bool disable() = 0;
789  virtual int send(const std::uint8_t *data, int len) = 0;
790 
794  virtual bool play(const std::string &path) = 0;
798  virtual bool play(const std::uint8_t *data, int len) = 0;
802  virtual bool isPlaying() = 0;
806  virtual int registerPlayEndCallback( std::function<void ()> ) = 0;
807  virtual bool unregisterPlayEndCallback( int callbackId ) = 0;
808 
809  virtual ~Speaker() {}
810 };
811 
1138 class DeviceStatusStream : virtual public Stream<std::vector<unsigned char> const &> {
1139 public:
1140 
1141  virtual ~DeviceStatusStream(){}
1142 };
1143 
1144 
1162 class Device {
1163 
1164 public:
1165 
1166 
1171  virtual std::map<std::string, std::string> info() = 0;
1172 
1176  virtual std::shared_ptr<Slam> slam() = 0;
1177 
1181  virtual std::shared_ptr<ImuSensor> imuSensor() = 0;
1182 
1186  virtual std::shared_ptr<EventStream> eventStream() = 0;
1187 
1191  virtual std::shared_ptr<OrientationStream> orientationStream() = 0;
1192 
1196  virtual std::shared_ptr<FisheyeCameras> fisheyeCameras() = 0;
1197 
1201  virtual std::shared_ptr<ColorCamera> colorCamera() = 0;
1202 
1206  virtual std::shared_ptr<TofCamera> tofCamera() = 0;
1207 
1211  virtual std::shared_ptr<SgbmCamera> sgbmCamera() = 0;
1212 
1216  virtual std::shared_ptr<ThermalCamera> thermalCamera() = 0;
1217 
1221  virtual std::shared_ptr<EyetrackingCamera> eyetracking() = 0;
1222 
1226  virtual std::shared_ptr<GazeStream> gaze() = 0;
1227 
1231  virtual std::shared_ptr<IrisStream> iris() = 0;
1232 
1236  virtual std::shared_ptr<GestureStream> gesture() = 0;
1237 
1241  virtual std::shared_ptr<GPSStream> gpsModule() = 0;
1242 
1246  virtual std::shared_ptr<GPSDistanceStream> gpsDistanceModule() = 0;
1247 
1251  virtual std::shared_ptr<TerrestrialMagnetismStream> terrestrialMagnetismModule() = 0;
1252 
1256  virtual std::shared_ptr<ExternalStream> externalSensor() = 0;
1257 
1261  virtual std::shared_ptr<MicStream> mic() = 0;
1262 
1266  virtual std::shared_ptr<Speaker> speaker() = 0;
1267 
1271  virtual std::shared_ptr<Display> display() = 0;
1272 
1276  virtual std::shared_ptr<ObjectDetector> objectDetector() = 0;
1277 
1281  virtual std::shared_ptr<ObjectDetectorRKNN3588> objectDetectorRKNN3588() = 0;
1282 
1286  virtual std::shared_ptr<DeviceStatusStream> deviceStatus() = 0;
1287 
1291  virtual bool sleep(int level = 0) = 0;
1295  virtual bool wakeup() = 0;
1296 
1300  virtual bool control(const DeviceSetting &setting) = 0;
1301 
1715  virtual bool hidWriteAndRead(const std::vector<unsigned char> &command, std::vector<unsigned char> &result) = 0;
1719  virtual bool uvcWriteAndRead(const std::vector<unsigned char> &command, std::vector<unsigned char> &result) = 0;
1723  virtual bool vscWriteAndRead(const std::vector<unsigned char> &command, std::vector<unsigned char> &result) = 0;
1724 
1728  virtual bool enableSync(bool isEnable) = 0;
1729 
1733  virtual std::string id() const = 0;
1734 
1735  virtual ~Device(){}
1736 
1737 };
1738 
1739 
1748 Version version();
1749 
1758 std::map<std::string,std::shared_ptr<Device>> getDevices(double timeOut = 0., const std::string& desc = "", bool* stopWaiting = nullptr, xv::SlamStartMode slamStartMode = xv::SlamStartMode::Normal, xv::DeviceSupport deviceSupport = xv::DeviceSupport ::ONLYUSB);
1759 
1767 std::map<std::string,std::shared_ptr<Device>> getDevicesUntilTimeout(double timeOut = 0., const std::string& desc = "", xv::SlamStartMode slamStartMode = xv::SlamStartMode::Normal, xv::DeviceSupport deviceSupport = xv::DeviceSupport ::ONLYUSB);
1768 
1772 void setLogLevel(LogLevel l);
1773 
1778 int registerPlugEventCallback(const std::function<void (std::shared_ptr<Device> device, PlugEventType type)> &Callback, const std::string& desc = "");
1782 bool unregisterHotplugCallback( int callbackID );
1783 
1798 std::shared_ptr<Device> getDevice(int fd);
1805 std::shared_ptr<Device> getDevice(int fd, std::string const& desc, xv::SlamStartMode slamStartMode = xv::SlamStartMode::Normal);
1806 
1810 bool detachDevice(int fd );
1811 
1815 std::string getDefaultDescription();
1816 
1820 void getUTCTIme(DateTime* utc);
1821 
1833 bool savePointCloudToPcd(const std::string &path, std::shared_ptr<PointCloud> const & point, int precision = 8, bool removeInvalidPoints = true);
1834 
1835 
1836 }
The class to represent the component doing the 6dof tracking with SLAM algorithm on host...
Definition: xv-sdk.h:348
SGBM CONFIG STRUCT.
Definition: xv-types.h:1065
A class to handle device status event stream.
Definition: xv-sdk.h:1138
A class to handle MIC. Adjust volumn through source.
Definition: xv-sdk.h:772
void getUTCTIme(DateTime *utc)
Get UTC time.
A class to handle callbacks of the terrestrial magnetism data.
Definition: xv-sdk.h:728
Resolution
Definition: xv-sdk.h:536
A class to handle callbacks of the object detector (CNN)
Definition: xv-sdk.h:506
Class to get tracking results and raw outputs with a connected device.
Definition: xv-sdk.h:1162
The class to give access to data provided by the IMU sensor.
Definition: xv-sdk.h:81
A class to handle callbacks of the thermal camera.
Definition: xv-sdk.h:566
A class to handle callbacks of the gaze data.
Definition: xv-sdk.h:605
A class to handle gusture.
Definition: xv-sdk.h:672
A class to handle external stream data. Only support in Arm now.
Definition: xv-sdk.h:737
Definition: xv-types.h:1124
A class to handle speaker. Adjust the sound source(PCM) volume to adjust the volume.
Definition: xv-sdk.h:781
void setLogLevel(LogLevel l)
Change the log level.
A class to handle callbacks of the SGBM.
Definition: xv-sdk.h:534
An image provided by a TOF camera.
Definition: xv-types.h:1108
virtual bool stop()=0
stop streaming.
A class to handle callbacks of the Iris data.
Definition: xv-sdk.h:621
Definition: xv-types.h:1513
A class to handle callbacks of the eyetracking camera.
Definition: xv-sdk.h:577
The class to handle informations about the display (if device can display like a HMD) ...
Definition: xv-sdk.h:182
Definition: xv-types.h:1572
Represents a transformation (or pose) with translation and rotation matrix.
Definition: xv-types.h:639
A class to handle callbacks of the GPS data.
Definition: xv-sdk.h:711
Definition: xv-types.h:1192
Images coming from xv::FisheyeCameras sensor system used for visual SLAM.
Definition: xv-types.h:1027
virtual int registerCallback(std::function< void(T)>)=0
Register callback to receive data.
bool detachDevice(int fd)
Tell sdk device has disconnected. Only for Android.
Camera interface.
Definition: xv-sdk.h:47
A class to handle callbacks of events.
Definition: xv-sdk.h:128
std::shared_ptr< Device > getDevice(int fd, std::string const &desc, xv::SlamStartMode slamStartMode=xv::SlamStartMode::Normal)
Retrieve #Device by given descriptor. Only for Android.
Class representing a 6dof pose at a timestamp with a linear model for prediction. ...
Definition: xv-types.h:796
virtual bool unregisterCallback(int callbackId)=0
Unregister callback.
A class to handle callbacks of the color image.
Definition: xv-sdk.h:213
Stream interface.
Definition: xv-sdk.h:19
bool unregisterHotplugCallback(int callbackID)
Unregister a plug callback.
A color image given by xv::ColorCamera.
Definition: xv-types.h:1047
A class to handle callbacks of the object detector (CNN) in RKNN3588 platform.
Definition: xv-sdk.h:525
Definition: xv-sdk.h:10
Definition: xv-types.h:1525
std::map< std::string, std::shared_ptr< Device > > getDevicesUntilTimeout(double timeOut=0., const std::string &desc="", xv::SlamStartMode slamStartMode=xv::SlamStartMode::Normal, xv::DeviceSupport deviceSupport=xv::DeviceSupport ::ONLYUSB)
Retrieve all the detected XVisio devices. If no device is found after the timeout is reached...
The Version struct.
Definition: xv-types.h:126
Resolution
Definition: xv-sdk.h:215
virtual bool start()=0
start streaming.
SGBM data.
Definition: xv-types.h:1207
std::string getDefaultDescription()
Retrieve default device description.
int registerPlugEventCallback(const std::function< void(std::shared_ptr< Device > device, PlugEventType type)> &Callback, const std::string &desc="")
Register the callback for hotplug.
A class to handle callbacks of the ToF camera.
Definition: xv-sdk.h:249
A class to handle callbacks of the GPS distance data.
Definition: xv-sdk.h:719
Gesture data.
Definition: xv-types.h:1271
The class to handle callbacks of the multi cameras for the visual SLAM.
Definition: xv-sdk.h:169
The class to give access to 3dof data which converted from raw IMU data.
Definition: xv-sdk.h:137
Orientation only (3dof) of the pose.
Definition: xv-types.h:852
Device setting.
Definition: xv-types.h:85
std::map< std::string, std::shared_ptr< Device > > getDevices(double timeOut=0., const std::string &desc="", bool *stopWaiting=nullptr, xv::SlamStartMode slamStartMode=xv::SlamStartMode::Normal, xv::DeviceSupport deviceSupport=xv::DeviceSupport ::ONLYUSB)
Retrieve all the detected XVisio devices. If no device is found after the timeout is reached...
Version version()
Get xvsdk version.