5 #if defined( __ANDROID__ )
58 virtual bool setResolution(
int resolution );
59 virtual bool setFramerate(
float framerate );
67 virtual bool setExposure(
int aecMode = 0,
int exposureGain = 0,
float exposureTimeMs = 0.0 );
171 virtual int registerAntiDistortionCallback(std::function<
void (
FisheyeImages const &)> cb ) = 0;
172 virtual bool unregisterAntiDistortionCallback(
int callbackID ) = 0;
174 virtual bool checkAntiDistortionSupport() = 0;
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;
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;
243 virtual ~ColorCamera(){}
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};
262 virtual bool unregisterColorDepthImageCallback(
int callbackId) = 0;
331 virtual bool setSonyTofSetting(SonyTofLibMode mode, Resolution resolution, Framerate frameRate) = 0;
333 virtual void setTofIrGamma(
double gamma) = 0;
351 enum class Mode { Edge = 0, Mixed, EdgeFusionOnHost };
418 virtual bool unregisterVisualPoseCallback(
int callbackId) = 0;
419 #define XVSDK_HAS_SLAM_VISUAL_POSE_CALLBACK
426 virtual bool unregisterLostCallback(
int callbackId) = 0;
436 virtual bool unregisterStereoPlanesCallback(
int callbackId) = 0;
437 virtual bool clearStereoPlanes() = 0;
453 virtual bool unregisterTofPlanesCallback(
int callbackId) = 0;
454 virtual bool clearTofPlanes() = 0;
461 virtual int registerMapCallback(std::function<
void (std::shared_ptr<const xv::SlamMap>)> mapCallback) = 0;
462 virtual bool unregisterMapCallback(
int callbackId) = 0;
474 virtual bool loadMapAndSwitchToCslam(std::streambuf& mapStream, std::function<
void(
int )> done_callback, std::function<
void(
float)> localized_on_reference_map={}) = 0;
485 virtual bool saveMapAndSwitchToCslam(std::streambuf& mapStream, std::function<
void(
int ,
int )> done_callback, std::function<
void(
float)> localized_on_reference_map={}) = 0;
508 enum class Source { LEFT = 0, RIGHT, RGB, TOF };
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;
516 virtual int registerCnnRawCallback(std::function<
void (std::shared_ptr<CnnRawWrapper>
const&)> poseCallback) = 0;
517 virtual bool unregisterCnnRawCallback(
int callbackId) = 0;
527 virtual bool setModel(
const std::string &filepath ) = 0;
540 enum class Mode { Hardware = 0, Software };
546 virtual bool start(
const std::string &sgbmConfig) = 0;
548 virtual bool setConfig(
const std::string &sgbmConfig) = 0;
569 enum class Mode { TEMPERATURE = 0, TEMPERTURE = 0, GREY };
570 virtual bool setMode( Mode mode ) = 0;
588 virtual bool setExposure(
int leftGain,
float leftTimeMs,
int rightGain,
float rightTimeMs ) = 0;
624 #if defined( __ANDROID__ )
625 virtual bool start(JNIEnv* env, jobject thiz, std::string offlineS) = 0;
627 virtual const char* onlineActive(JNIEnv *env, jobject context,
const char* initLicense,
const char* userId,
const char* secret,
int &activeResult) = 0;
642 virtual bool UnregisterEnrollCallback(
int callbackID) = 0;
650 virtual bool UnregisterIdentifyCallback(
int callbackID) = 0;
681 virtual bool UnregisterDynamicGestureCallback(
int callbackID) = 0;
691 virtual bool unregisterKeypointsCallback(
int callbackId) = 0;
701 virtual bool unregisterSlamKeypointsCallback(
int callbackId) = 0;
705 virtual bool setPlatform(
int platform ,
bool ego) = 0;
740 virtual int registerRawCallback( std::function<
void (
xv::ExternalData const &)> rawExternalCallback) = 0;
741 virtual bool unregisterRawCallback(
int callbackId ) = 0;
743 virtual int registerFixedPoseCallback( std::function<
void (
xv::Pose const &)> fixedExternalCallback) = 0;
744 virtual bool unregisterFixedPoseCallback(
int callbackId ) = 0;
746 virtual int registerRuntimePoseCallback( std::function<
void (
xv::Pose const&)> runtimeExternalCallback) = 0;
747 virtual bool unregisterRuntimePoseCallback(
int callbackId) = 0;
749 virtual int registerScaledPoseCallback( std::function<
void (
xv::Pose const&)> scaledExternalCallback) = 0;
750 virtual bool unregisterScaledPoseCallback(
int callbackId) = 0;
752 virtual bool getPose(
Pose& pose) = 0;
754 virtual void SetScaleArrayRange(
int range) = 0;
755 virtual void setScaleRange(
double low,
double high) = 0;
757 virtual Vector3d rotationToEuler(Matrix3d
const& rot) = 0;
759 virtual void setResetStatus(
bool status) = 0;
760 virtual void setDeviceStopStatus(
bool status) = 0;
762 virtual void setTransform(
const xv::Transform& transform) = 0;
764 virtual void resumeLastPose(
xv::Pose pose) = 0;
784 virtual bool enable() = 0;
785 virtual bool disable() = 0;
789 virtual int send(
const std::uint8_t *data,
int len) = 0;
794 virtual bool play(
const std::string &path) = 0;
798 virtual bool play(
const std::uint8_t *data,
int len) = 0;
807 virtual bool unregisterPlayEndCallback(
int callbackId ) = 0;
1171 virtual std::map<std::string, std::string>
info() = 0;
1176 virtual std::shared_ptr<Slam>
slam() = 0;
1226 virtual std::shared_ptr<GazeStream>
gaze() = 0;
1231 virtual std::shared_ptr<IrisStream>
iris() = 0;
1236 virtual std::shared_ptr<GestureStream>
gesture() = 0;
1261 virtual std::shared_ptr<MicStream>
mic() = 0;
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;
1733 virtual std::string
id()
const = 0;
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);
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);
1778 int registerPlugEventCallback(
const std::function<
void (std::shared_ptr<Device> device, PlugEventType type)> &Callback,
const std::string& desc =
"");
1805 std::shared_ptr<Device>
getDevice(
int fd, std::string
const& desc, xv::SlamStartMode slamStartMode = xv::SlamStartMode::Normal);
1833 bool savePointCloudToPcd(
const std::string &path, std::shared_ptr<PointCloud>
const & point,
int precision = 8,
bool removeInvalidPoints =
true);
Camera interface.
Definition: xv-sdk.h:47
virtual const std::vector< Calibration > & calibration()
Get the camera calibration.
virtual bool setExposure(int aecMode=0, int exposureGain=0, float exposureTimeMs=0.0)
Exposure setting.
virtual bool setBrightness(int brightness)
Set output image brightness. Only valid in auto exposure mode.
A class to handle callbacks of the color image.
Definition: xv-sdk.h:213
Resolution
Definition: xv-sdk.h:215
@ RGB_320x240
RGB QVGA (not supported now)
@ RGB_1920x1080
RGB 1080p.
@ RGB_2560x1920
RGB 5m (not supported now)
A class to handle device status event stream.
Definition: xv-sdk.h:1138
Class to get tracking results and raw outputs with a connected device.
Definition: xv-sdk.h:1162
virtual std::shared_ptr< Display > display()=0
Get the display component.
virtual std::shared_ptr< EyetrackingCamera > eyetracking()=0
Get the eyetracking component of the device.
virtual std::shared_ptr< ObjectDetector > objectDetector()=0
Get the object detection component.
virtual std::shared_ptr< FisheyeCameras > fisheyeCameras()=0
Get the stereo cameras component of the device.
virtual std::shared_ptr< Speaker > speaker()=0
Get the speaker component of the device.
virtual std::shared_ptr< ObjectDetectorRKNN3588 > objectDetectorRKNN3588()=0
Get the object detection component. in RKNN3588 platform.
virtual bool uvcWriteAndRead(const std::vector< unsigned char > &command, std::vector< unsigned char > &result)=0
Write UVC control command and read result.
virtual bool sleep(int level=0)=0
Let device sleep.
virtual std::shared_ptr< TerrestrialMagnetismStream > terrestrialMagnetismModule()=0
Get the terrestrial magnetism data of the device.
virtual bool control(const DeviceSetting &setting)=0
Control device.
virtual bool vscWriteAndRead(const std::vector< unsigned char > &command, std::vector< unsigned char > &result)=0
Write VSC control command and read result.
virtual std::shared_ptr< GestureStream > gesture()=0
Get the gesture component.
virtual std::map< std::string, std::string > info()=0
Get informations (Serial Number, version ...) about the device.
virtual std::shared_ptr< MicStream > mic()=0
Get the MIC component of the device.
virtual std::shared_ptr< DeviceStatusStream > deviceStatus()=0
Get the device status component.
virtual std::string id() const =0
Return the serial number of the device.
virtual bool wakeup()=0
Wake up device.
virtual std::shared_ptr< Slam > slam()=0
Get the SLAM component.
virtual std::shared_ptr< GPSDistanceStream > gpsDistanceModule()=0
Get the GPS distance data of the device.
virtual std::shared_ptr< ImuSensor > imuSensor()=0
Get the IMU sensor of the device.
virtual std::shared_ptr< OrientationStream > orientationStream()=0
Get the 3dof component.
virtual bool hidWriteAndRead(const std::vector< unsigned char > &command, std::vector< unsigned char > &result)=0
Write HID control command and read result. HID command list:
virtual std::shared_ptr< EventStream > eventStream()=0
Get the event component.
virtual std::shared_ptr< SgbmCamera > sgbmCamera()=0
Get the SGBM component of the device.
virtual std::shared_ptr< IrisStream > iris()=0
Get the iris data of the device.
virtual std::shared_ptr< GPSStream > gpsModule()=0
Get the GPS data of the device.
virtual bool enableSync(bool isEnable)=0
set enable camera synchronize.
virtual std::shared_ptr< TofCamera > tofCamera()=0
Get the ToF component of the device.
virtual std::shared_ptr< ColorCamera > colorCamera()=0
Get the color camera component of the device.
virtual std::shared_ptr< ExternalStream > externalSensor()=0
Get the external stream component.
virtual std::shared_ptr< GazeStream > gaze()=0
Get the gaze data of the device.
virtual std::shared_ptr< ThermalCamera > thermalCamera()=0
Get the thermal component of the device.
The class to handle informations about the display (if device can display like a HMD)
Definition: xv-sdk.h:182
virtual bool close()=0
Turn off the display.
virtual const std::vector< Calibration > & calibration()=0
Get calibrations.
virtual bool setBrightnessLevel(int level)=0
Set brightness level.
virtual bool open()=0
Turn on the display.
A class to handle callbacks of events.
Definition: xv-sdk.h:128
A class to handle external stream data. Only support in Arm now.
Definition: xv-sdk.h:737
A class to handle callbacks of the eyetracking camera.
Definition: xv-sdk.h:577
virtual bool setLedBrighness(int eye, int led, int brightness)=0
Set eyetracking led brightness (in s)
virtual bool setExposure(int leftGain, float leftTimeMs, int rightGain, float rightTimeMs)=0
Set eyetracking exposure.
The class to handle callbacks of the multi cameras for the visual SLAM.
Definition: xv-sdk.h:169
A class to handle callbacks of the GPS distance data.
Definition: xv-sdk.h:719
A class to handle callbacks of the GPS data.
Definition: xv-sdk.h:711
A class to handle callbacks of the gaze data.
Definition: xv-sdk.h:605
virtual void setConfigPath(std::string config)=0
Set coe configuration file path.
A class to handle gusture.
Definition: xv-sdk.h:672
virtual int registerDynamicGestureCallback(std::function< void(GestureData const &)>)=0
Callback to get the dynamic gesture information.
virtual int registerSlamKeypointsCallback(std::function< void(std::shared_ptr< const xv::HandPose >)> callback)=0
Callback to get the keypoints 21Dof information based on slam position.
virtual int registerKeypointsCallback(std::function< void(std::shared_ptr< const std::vector< keypoint >>)> callback)=0
Callback to get the keypoints 21Dof information.
The class to give access to data provided by the IMU sensor.
Definition: xv-sdk.h:81
A class to handle callbacks of the Iris data.
Definition: xv-sdk.h:621
virtual bool loadIrisInfo(unsigned char *iris_features, int size)=0
Load the iris features the identify information.
virtual void setUserName(std::string name)=0
Set user name.
virtual void setConfigPath(std::string config)=0
Set coe configuration file path.
virtual int registerEnrollCallback(std::function< void(XV_IRIS_DATA const &)>)=0
Callback to get the enroll information.
virtual int registerIdentifyCallback(std::function< void(XV_IRIS_DATA const &)>)=0
Callback to get the identify information.
A class to handle MIC. Adjust volumn through source.
Definition: xv-sdk.h:772
A class to handle callbacks of the object detector (CNN) in RKNN3588 platform.
Definition: xv-sdk.h:525
A class to handle callbacks of the object detector (CNN)
Definition: xv-sdk.h:506
The class to give access to 3dof data which converted from raw IMU data.
Definition: xv-sdk.h:137
virtual bool getAt(Orientation &pose, double timestamp)=0
Get the orientation of the device at a given timestamp.
virtual bool get(Orientation &pose, double prediction=0.)=0
Get the current orientation of the device.
Orientation only (3dof) of the pose.
Definition: xv-types.h:852
A class to handle callbacks of the SGBM.
Definition: xv-sdk.h:534
virtual Mode mode() const =0
Must be called befor start.
Resolution
Definition: xv-sdk.h:536
@ SGBM_1280x720
SGBM 720p.
virtual std::shared_ptr< PointCloud > depthImageToPointCloud(SgbmImage const &sgbmImage) const =0
convert DepthImage to pointCloud .
The class to represent the component doing the 6dof tracking with SLAM algorithm on host.
Definition: xv-sdk.h:348
virtual bool start(Mode mode)=0
Start slam of specific mode.
virtual int registerStereoPlanesCallback(std::function< void(std::shared_ptr< const std::vector< Plane >>)> planeCallback)=0
Callback to get the detected planes using stereo cameras and SLAM.
virtual bool getPoseAt(Pose &pose, double timestamp)=0
Get the 6dof pose of the device at a given timestamp.
virtual bool resume()=0
Resume the 6dof tracker (SLAM)
virtual int registerMapCallback(std::function< void(std::shared_ptr< const xv::SlamMap >)> mapCallback)=0
Callback to get the SLAM map updates.
virtual bool saveMapAndSwitchToCslam(std::streambuf &mapStream, std::function< void(int, int)> done_callback, std::function< void(float)> localized_on_reference_map={})=0
Save a SLAM map and use it as an immutable reference map.
virtual bool start() override=0
Start slam of current mode.
virtual int registerTofPlanesCallback(std::function< void(std::shared_ptr< const std::vector< Plane >>)> planeCallback)=0
Callback to get the detected planes using ToF camera and SLAM.
virtual Mode mode() const =0
Get #Mode.
virtual bool getPose(Pose &pose, double prediction=0.)=0
Get the current 6dof pose of the device.
virtual bool pause()=0
Pause the 6dof tracker (SLAM)
virtual int registerVisualPoseCallback(std::function< void(const Pose &)> lostCallback)=0
Register a callback called when visual SLAM compute a new unfiltered pose.
virtual Pose poseScaleCalibration(const Pose &pose)=0
slam pose scale calibration.
virtual void poseReset()=0
Reset the 6dof pose coordinate (SLAM)
virtual bool loadMapAndSwitchToCslam(std::streambuf &mapStream, std::function< void(int)> done_callback, std::function< void(float)> localized_on_reference_map={})=0
Load a SLAM map and use it as an immutable reference map.
virtual int registerLostCallback(std::function< void()> lostCallback)=0
Register a callback called when SLAM is lost.
virtual bool reset()=0
Reset the 6dof tracker (SLAM)
A class to handle speaker. Adjust the sound source(PCM) volume to adjust the volume.
Definition: xv-sdk.h:781
virtual bool play(const std::string &path)=0
Async play sound file in new thread.
virtual bool play(const std::uint8_t *data, int len)=0
Async play buffer in new thread.
virtual bool isPlaying()=0
If async playing.
virtual int registerPlayEndCallback(std::function< void()>)=0
Rigster a callback for async play end.
virtual int send(const std::uint8_t *data, int len)=0
Send a small time slice of sound data.
Stream interface.
Definition: xv-sdk.h:19
virtual bool unregisterCallback(int callbackId)=0
Unregister callback.
virtual bool start()=0
start streaming.
virtual int registerCallback(std::function< void(T)>)=0
Register callback to receive data.
virtual bool stop()=0
stop streaming.
A class to handle callbacks of the terrestrial magnetism data.
Definition: xv-sdk.h:728
A class to handle callbacks of the thermal camera.
Definition: xv-sdk.h:566
A class to handle callbacks of the ToF camera.
Definition: xv-sdk.h:249
virtual bool setDistanceMode(DistanceMode mode)=0
Set distance mode.
virtual bool setStreamMode(StreamMode mode)=0
Set which stream will be reported. Not work with sony TOF.
virtual std::shared_ptr< PointCloud > depthImageToPointCloud(DepthImage const &) const =0
Convert a depth image to point cloud for sony TOF.
virtual bool setMode(int mode)=0
Set work mode.
virtual int registerColorDepthImageCallback(std::function< void(const DepthColorImage &)>)=0
Gives access to composed image with RBG color on depth images.
virtual Resolution getResolution()=0
Get current resolution.
virtual Manufacturer getManufacturer()=0
Get tof Manufacturer.
virtual std::shared_ptr< PointCloud > formatPmdCloudToPointCloudStruct(DepthImage const &) const =0
format a depth image to point cloud for pmd TOF(Cloud Only).
virtual bool enableTofIr(bool enable)=0
Enable tof ir.
virtual bool setLibWorkMode(SonyTofLibMode mode)=0
Set lib mode.
virtual bool setSonyTofSetting(SonyTofLibMode mode, Resolution resolution, Framerate frameRate)=0
SonyTof Settings.
virtual void setFilterFile(std::string filePath)=0
set SonyTof filter file
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.
bool detachDevice(int fd)
Tell sdk device has disconnected. Only for Android.
std::string getDefaultDescription()
Retrieve default device description.
void getUTCTIme(DateTime *utc)
Get UTC time.
bool unregisterHotplugCallback(int callbackID)
Unregister a plug callback.
int registerPlugEventCallback(const std::function< void(std::shared_ptr< Device > device, PlugEventType type)> &Callback, const std::string &desc="")
Register the callback for hotplug.
void setLogLevel(LogLevel l)
Change the log level.
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.
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,...
Definition: xv-types.h:1525
Definition: xv-types.h:1124
An image provided by a TOF camera.
Definition: xv-types.h:1108
Device setting.
Definition: xv-types.h:86
Definition: xv-types.h:1572
Images coming from xv::FisheyeCameras sensor system used for visual SLAM.
Definition: xv-types.h:1027
Gesture data.
Definition: xv-types.h:1271
Definition: xv-types.h:1192
Class representing a 6dof pose at a timestamp with a linear model for prediction.
Definition: xv-types.h:796
SGBM data.
Definition: xv-types.h:1207
The Version struct.
Definition: xv-types.h:126
Definition: xv-types.h:1514
SGBM CONFIG STRUCT.
Definition: xv-types.h:1066