# Java API参考

namespace com::orbbec::obsensor
  AccelFrame : public com.orbbec.obsensor.Frame

    Acceleration streaming data frame

    Public Functions

    inline float[] getAccelData ()

      Get acceleration frame data

      Returns

        float[3]{x,y,z} returns acceleration frame data

    inline float getTemperature()

      Get the temperature when the frame is sampled

      Returns

        temperature at frame sampling

  enum AccelFullScaleRange

    Accelerometer range enumeration

    Public Functions

    inline AccelFullScaleRange(int value)
    inline int value()

      Get the index corresponding to the accelerometer range

      Returns

        index value

    Public Members

    FS_2g =(1)

      1x the acceleration of gravity

    FS_4g =(2)

      4 times the acceleration of gravity

    FS_8g =(3)

      8 times the acceleration of gravity

    FS_16g =(4)

      16 times the acceleration of gravity

    Public Static Functions

    static inline AccelFullScaleRange get(int value)

      Get the range enumeration value corresponding to the specified index

      Parameters

        value – index value

      Returns

        Accelerometer range enumeration value

    Private Members

    final int mValue
  AccelStreamProfile : public com.orbbec.obsensor.StreamProfile

    Accelerometer Profile

    Public Functions

    inline AccelFullScaleRange getAccelFullScaleRange()

      Get the range of the accelerometer configuration

      Returns

        Accelerometer range AccelFullScaleRange

    inline SampleRate getAccelSampleRate()

      Get the sampling frequency of the accelerometer stream configuration

      Returns

        Accelerometer sampling frequency SampleRate

  enum AlignMode

    D2C Status

    Public Functions

    inline AlignMode(int value)
    inline int value()

      Get the index corresponding to the data stream format

      Returns

        index value

    Public Members

    ALIGN_D2C_DISABLE =(0)

      Close D2C

    ALIGN_D2C_HW_ENABLE =(1)

      Enable hardware D2C

    ALIGN_D2C_SW_ENABLE =(2)

      Enable software D2C

    Public Static Functions

    static inline AlignMode get(int value)

      Get the data stream format corresponding to the specified index

      Parameters

        value – index value

      Returns

        data stream format

    Private Members

    final int mValue
  class CameraParam

    Camera parameters

    Public Functions

    inline CameraIntrinsic getDepthIntrinsic()

      Get depth camera internal parameters

      Returns

        Returns the depth camera intrinsic parameter CameraIntrinsic

    inline CameraIntrinsic getColorIntrinsic()

      Get color camera internal parameters

      Returns

        Returns the color camera intrinsic parameter CameraIntrinsic

    inline CameraDistortion getDepthDistortion()

      Get depth camera distortion parameters

      Returns

        Returns the depth camera distortion parameter CameraDistortion

    inline CameraDistortion getColorDistortion()

      Get color camera dewarping parameters

      Returns

        Returns the color camera dewarping parameter Distortion

    inline D2CTransform getD2CTransform()

      Get rotation/transformation matrix

      Returns

        Rotation/Transformation matrix D2CTransform

    inline boolean isMirrored()

      Whether the image frame corresponding to this group of parameters is mirrored

      Returns

        Whether the image frame corresponding to this group of parameters is mirrored

  CameraParamList : public com.orbbec.obsensor.LobClass

    Camera parameter list

    Public Functions

    inline int getCameraParamCount()

      Get the number of camera parameters

      Returns

        The number of camera parameters

    inline CameraParam getCameraParam(int index)

      Obtain camera parameters according to the specified index in the camera parameter list

      Parameters

        index – index value

      Returns

        Camera parameter CameraParam

    inline void close()

      resource release

  ColorFrame : public com.orbbec.obsensor.VideoFrame

    Color stream data frame

  CompressionFilter : public com.orbbec.obsensor.Filter

    Public Functions

    inline CompressionFilter()

      Create compression filter

      Returns

        compression filter object

    inline void setCompressionParams(CompressionMode mode, CompressionParams params)

      Set compression parameters

      Parameters

        - mode – Compression mode CompressionMode#OB_COMPRESSION_LOSSLESS or CompressionMode#OB_COMPRESSION_LOSSY

        - params – Compression params, struct ob_compression_params, when mode is OB_COMPRESSION_LOSSLESS, params is NULL

  enum CompressionMode

    Compression mode

    Public Functions

    inline CompressionMode(int value)
    inline int value()

      Get the index corresponding to the compression mode

      Returns

        index value

    Public Members

    OB_COMPRESSION_LOSSLESS =(0)
    OB_COMPRESSION_LOSSY =(1)

    Public Static Functions

    static inline CompressionMode get(int value)

      Get the compression mode corresponding to the specified index

      Parameters

        value – index value

      Returns

        compression mode

    Private Members

    final int mValue
  Config : public com.orbbec.obsensor.LobClass

    Used to configure Pipeline data flow status

    Public Functions

    inline Config()

      Create a new pipeline configuration to configure the resolution and frame rate of the data stream and data stream that needs to be opened through the Pipeline

    inline void enableStream(StreamProfile streamProfile)

      Start the data stream of the specified configuration

      See

        Pipeline::getStreamProfileList(SensorType)

      Parameters

        streamProfile – Data flow configurationStreamProfile

    inline void disableStream(StreamType streamType)

      Close the data stream of the specified configuration, through this interface, you can configure which data stream needs to be closed

      Parameters

        streamType – Data stream configurationStreamType

    inline void setAlignMode(AlignMode mode)

      Set the alignment mode

      Parameters

        mode – AlignMode AlignMode

    inline void setDepthScaleRequire(boolean enable)

      Whether the depth needs to be scaled after setting D2C

      Parameters

        enable – Whether scaling is required

    inline void setD2CTargetResolution(int width, int height)

      Set the D2C target resolution, which is applicable to cases where the Color stream is not enabled using the OrbbecSDK and the depth needs to be D2C Note: When you use OrbbecSDK to enable the Color stream, you also use this interface to set the D2C target resolution. The configuration of the enabled Color stream is preferred for D2C。

      Parameters

        - width – The D2C target has a wide resolution

        - height – The D2C targets has a high resolution

    inline void close()

      Release Config object resources

  class DataType

    Data type base class, used to represent the type of Native structure mapped to Java

    Subclassed by com.orbbec.obsensor.datatype.CameraDistortion, com.orbbec.obsensor.datatype.CameraIntrinsic, com.orbbec.obsensor.datatype.CompressionParams, com.orbbec.obsensor.datatype.D2CTransform, com.orbbec.obsensor.datatype.DeviceTemperature, com.orbbec.obsensor.datatype.ExposureThresholdControl, com.orbbec.obsensor.datatype.OBRect

    Public Functions

    abstract int BYTES ()

      Get the number of bytes occupied by the Native structure

      Returns

        The number of bytes occupied by the Native structure

    inline boolean checkInitialized()

      Check whether the corresponding Java class is initialized successfully

      Returns

        Whether the Java class is initialized, false: failure, true: success

  DeCompressionFilter : public com.orbbec.obsensor.Filter

    Public Functions

    inline DeCompressionFilter()

      Create decompression filter

      Returns

        decompression filter object

  DepthFrame : public com.orbbec.obsensor.VideoFrame

    Depth Streaming DataFrame

    Public Functions

    inline float getValueScale()

      Get the value scale of the depth frame, the unit is mm/step, such as valueScale=0.1, the pixel value of a certain coordinate is pixelValue=10000, it means the depth value, value = pixelValue*valueScale = 10000*0.1=1000mm。

      Returns

        A scale value of depth frame

  enum DepthPrecisionLevel

    depth precision level

    The depth precision level does not completely determine the depth unit and real precision, and the influence of the data packaging format needs to be considered. The specific unit can be obtained through getValueScale() of DepthFrame

    See

      DepthFrame::getValueScale()

    Public Functions

    inline DepthPrecisionLevel(int value)
    inline int value()

      Get the index corresponding to the depth precision level

      Returns

        index value

    Public Members

    OB_PRECISION_1MM =(0)

      1mm

    OB_PRECISION_0MM8 =(1)

      0.8mm

    OB_PRECISION_0MM4 =(2)

      0.4mm

    OB_PRECISION_0MM1 =(3)

      0.1mm

    OB_PRECISION_0MM2 =(4)

      0.2mm

    OB_PRECISION_COUNT =(5)

    Public Static Functions

    static inline DepthPrecisionLevel get(int value)

      Get the depth precision level corresponding to the specified index

      Parameters

        value – index value

      Returns

        depth precision level

    Private Members

    final int mValue
  class DepthWorkMode

    Depth work mode .

    Public Functions

    inline String getName()

      Get name of work mode

    inline void setName(String name)

      Set name of work mode

    inline byte[] getChecksum ()

      Get checksum of work mode

    inline void setChecksum (byte[] checksum)

      Set checksum of work mode

    inline String getChecksumHex()

      Get hex string which come from getChecksum()

  Device : public com.orbbec.obsensor.LobClass

    Expose orbbec device functions

    Public Functions

    inline Device(long handle)

      Initialize the device object by specifying the device handle

      Parameters

        handle – handle of the initialized device

    inline List<DevicePropertyInfo> getSupportedPropertyList()

      Get the list of property information supported by the device

      Returns

        List of property information supported by the device List<DevicePropertyInfo>

    inline List<DepthPrecisionLevel> getSupportedDepthPrecisionLevelList()

      Get list of DevicePrecisionLevel

      Returns

        list of DevicePrecisionLevel

    inline boolean isPropertySupported(DeviceProperty property, PermissionType permissionType)

      Query whether the device supports setting the specified device property

      Parameters

        - property – Device property DeviceProperty

        - permissionType – Required permission type PermissionType

      Returns

        true supports, false does not support

    inline void setPropertyValueB(DeviceProperty property, boolean value)

      Set the value of the boolean type device property

      Parameters

        - property – device property DeviceProperty

        - value – Set the value of the device property, boolean type

    inline void setPropertyValueI(DeviceProperty property, int value)

      Set the value of the int type device property

      Parameters

        - property – device property DeviceProperty

        - value – Set the value of the device property, int type

    inline void setPropertyValueF(DeviceProperty property, float value)

      Set the value of the float type device property

      Parameters

        - property – device property DeviceProperty

        - value – set the value of the device property, float type

    inline void setPropertyValueDataType(DeviceProperty property, DataType dataType)

      Set the data structure of the corresponding device properties

      Parameters

        - property – device property DeviceProperty

        - dataType – device property data structure DataType

      Throws

        OBException – When there is an error in the encapsulation of the data structure to be set

    inline boolean getPropertyValueB(DeviceProperty property)

      Get the value of the boolean type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The value of the device property, boolean type

    inline int getPropertyValueI(DeviceProperty property)

      Get the value of the int type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The value of the device property, int type

    inline float getPropertyValueF(DeviceProperty property)

      Get the value of the float type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The value of the device property, float type

    inline void getPropertyValueDataType(DeviceProperty property, DataType dataType)

      Get the data structure of the corresponding device properties

      Parameters

        - property – device property DeviceProperty

        - dataType – device property data structure DataType

      Throws

        OBException – When there is an error in parsing the obtained data structure

    inline int getMinRangeI(DeviceProperty property)

      Get the minimum value supported by the int type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The minimum value supported by the device property, int type

    inline float getMinRangeF(DeviceProperty property)

      Get the minimum value supported by the float type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The minimum value supported by the device property, float type

    inline int getMaxRangeI(DeviceProperty property)

      Get the maximum value supported by the int type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The maximum value supported by the device property, int type

    inline float getMaxRangeF(DeviceProperty property)

      Get the maximum value supported by the float type device property

      Parameters

        property – device DeviceProperty

      Returns

        The maximum value supported by the device property, float type

    inline int getStepI(DeviceProperty property)

      Get the step value at which the int type device property changes within the supported range

      Parameters

        property – device property DeviceProperty

      Returns

        The step value that changes within the range supported by the device property, int type

    inline float getStepF(DeviceProperty property)

      Get the step value at which the float type device property changes within the supported range

      Parameters

        property – device property DeviceProperty

      Returns

        The step value that changes within the range supported by the device property, float type

    inline boolean getDefaultB(DeviceProperty property)

      Get the default value of the boolean type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The default value supported by the device property, boolean type

    inline int getDefaultI(DeviceProperty property)

      Get the default value of the int type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The default value supported by the device property, int type

    inline float getDefaultF(DeviceProperty property)

      Get the default value of the float type device property

      Parameters

        property – device property DeviceProperty

      Returns

        The default value supported by the device property, float type

    inline DeviceInfo getInfo()

      Get device information

      Returns

        device information DeviceInfo

    inline List<Sensor> querySensors()

      Query the list of sensors contained in the device

      Returns

        Sensor list

    inline Sensor getSensor(SensorType type)

      Get the sensor of the specified type

      Parameters

        type – sensor type SensorType

      Returns

        sensor Sensor

    inline boolean hasSensor(SensorType type)

      Device is support SensorType

      Parameters

        type – sensorType

      Returns

        true: support sensorType, false: not support sensorType

    inline void upgrade(String fileName, UpgradeCallback callback)

      Upgrade device firmware Cautious: Not supported yet

      Parameters

        - fileName – firmware path

        - callback – callback during the upgrade process UpgradeCallback

      Throws

        OBException – The firmware path is abnormal

    inline void upgrade(ByteBuffer buffer, UpgradeCallback callback)

      Upgrade device firmware

      Parameters

        - buffer – Firmware file content Caution: ByteBuffer#capacity() is the valid data length.

        - callback – callback during the upgrade process UpgradeCallback

      Throws

        OBException – The firmware path is abnormal

    inline void sendFileToDestination(String filePath, String dstPath, FileSendCallback callback)

      Transfer files to the specified path

      Parameters

        - filePath – source file path

        - dstPath – Target path

        - callback – File transfer callbackFileSendCallback

    inline DeviceTemperature getDeviceTemperature()

      Get device temperature information

      Returns

        temperature information DeviceTemperature

    inline boolean activateAuthorization(String authCode)

      Activate the device with an authorization code

      Parameters

        authCode – Authorization code

      Returns

        Whether the activation is successful, the activation succeeds: true, the activation fails: false

    inline void setStateChangeListener(OnStateChangeListener listener)

      Set device status monitoring

      Parameters

        listener – callback when device status changes OnStateChangeListener

    inline void triggerCapture()

      send the capture command to the device.

      The device will start one time image capture after receiving the capture command when it is in the OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING

      Attention

        The frequency of the user call this function multiplied by the number of frames per trigger should be less than the frame rate of the stream. The number of frames per trigger can be set by framesPerTrigger.

      Attention

        For some models，receive and execute the capture command will have a certain delay and performance consumption, so the frequency of calling this function should not be too high, please refer to the product manual for the specific supported frequency.

      Attention

        If the device is not in the OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING mode, device will ignore the capture command.

    inline void setTimestampResetConfig(TimestampResetConfig config)

      set the timestamp reset configuration of the device.

    inline TimestampResetConfig getTimestampResetConfig()

      get the timestamp reset configuration of the device.

      Returns

        OBDeviceTimestampResetConfig return the timestamp reset configuration of the device.

    inline void timestampReset()

      send the timestamp reset command to the device.

      The device will reset the timer for calculating the timestamp for output frames to 0 after receiving the timestamp reset command when the timestamp reset function is enabled. The timestamp reset function can be enabled by call ob_device_set_timestamp_reset_config.

      Before calling this function, user should call ob_device_set_timestamp_reset_config to disable the timestamp reset function (It is not required for some models, but it is still recommended to do so for code compatibility).

      Attention

        If the stream of the device is started, the timestamp of the continuous frames output by the stream will jump once after the timestamp reset.

      Attention

        Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to reset the timer to avoid the timestamp drift, the recommended interval time is 60 minutes.

    inline void timerSyncWithHost()

      synchronize the timer of the device with the host.

      After calling this function, the timer of the device will be synchronized with the host. User can call this function to multiple devices to synchronize all timers of the devices.

      Attention

        If the stream of the device is started, the timestamp of the continuous frames output by the stream will may jump once after the timer sync.

      Attention

        Due to the timer of device is not high-accuracy, the timestamp of the continuous frames output by the stream will drift after a long time. User can call this function periodically to synchronize the timer to avoid the timestamp drift, the recommended interval time is 60 minutes.

    inline CameraParamList getCalibrationCameraParamList()

      Get the original parameter list of camera calibration saved in the device.

      Attention

        The parameters in the list do not correspond to the current open-current configuration. You need to select the parameters according to the actual situation, and may need to do scaling, mirroring and other processing. Non-professional users are recommended to use the Pipeline::getCameraParam() interface.

      Returns

        Camera parameter list CameraParamList

    inline DepthWorkMode getCurrentDepthWorkMode()

      Get current depth work mode.

      Returns

        ob_depth_work_mode Current depth work mode

    inline void switchDepthWorkMode(String modeName)

      Switch depth work mode by work mode name.

      Parameters

        modeName – Depth work mode name which equals to DepthWorkMode.name

    inline List<DepthWorkMode> getDepthWorkModeList()

      Request support depth work mode list.

    inline OBNetworkConfig getNetworkConfig()

      Get network config Only for some network device, Such as Gemini 2 XL,

    inline void setNetworkConfig(OBNetworkConfig config)

      Set network config Only for some network device, Such as Gemini 2 XL,

    inline MultiDeviceSyncConfig getMultiDeviceSyncConfig()

      get the multi device sync configuration of the device.

      Returns

        OBMultiDeviceSyncConfig return the multi device sync configuration of the device.

    inline void setMultiDeviceSyncConfig(MultiDeviceSyncConfig deviceSyncConfig)

      set the multi device sync configuration of the device.

      Parameters

        config – [in] The multi device sync configuration.

    inline void reboot()

      The device restarts. After the device restarts, the original device resources need to be released, and can be re-acquired after the device is reconnected.

    inline void close()

      release device resources

    interface OnStateChangeListener

      Device Status Monitoring

      Public Functions

      void onStateChange(DeviceStateType stateType, String msg)

        Callback when device status changes

        Parameters

          - stateType – state type

          - msg – state message

  interface DeviceChangedCallback

    Callback interface for registering listening device status

    Public Functions

    void onDeviceAttach(DeviceList deviceList)

      Device addition notification and list

      Parameters

        deviceList – Add device list DeviceList

    void onDeviceDetach(DeviceList deviceList)

      Device removal notices and lists

      Parameters

        deviceList – Remove device list DeviceList

  class DeviceInfo : public AutoCloseable

    Device information

    Public Functions

    inline String getName()

      Get device name

      Returns

        device name

    inline int getPid()

      Get device identification number

      Returns

        device identification number

    inline int getVid()

      Get the company identification number of the device

      Returns

        company identification number

    inline String getUid()

      Get device uid

      Returns

        Device Unique ID

    inline String getSerialNumber()

      Get device serial number

      Returns

        devise serial number

    inline String getUsbType()

      Get the USB type the device is connected to

      Returns

        The type of USB the device is connected to

    inline String getConnectionType()

      Get the connection type of device

      Returns

        The device connection type

    inline String getIpAddress()

      Get the IP address of the device.

      Attention

        Only valid for network devices, otherwise it will return “0.0.0.0”.

      Returns

        the IP address of the device, such as “192.168.1.10”

    inline String getFirmwareVersion()

      Get firmware version number

      Returns

        Returns the firmware version number

    inline String getHardwareVersion()

      Get the version number of the hardware

      Returns

        Returns the version number of the hardware

    inline String getExtensionInfo()

      Get information about extensions obtained from SDK supported by the device.

      Returns

        extended information about the device

    inline String getSupportedMinSdkVersion()

      Get the minimum version number of the SDK supported by the device

      Returns

        Returns the minimum SDK version number supported by the device

    inline String getAsicName()

      Get chip type name

      Returns

        Returns the chip type name

    inline DeviceType getDeviceType()

      Get device type

      Returns

        Returns the device type DeviceType

    inline void close()

      resource release

  DeviceList : public com.orbbec.obsensor.LobClass

    Device list

    Public Functions

    inline int getDeviceCount()

      Get the number of devices

      Returns

        the number of devices

    inline String getName(int index)

      Get the device serial number according to the specified index in the device list

      Parameters

        index – index value

      Returns

        devise serial number

    inline int getPid(int index)

      Obtain the product identification number of the device according to the specified index in the device list

      Parameters

        index – index value

      Returns

        product identification number

    inline int getVid(int index)

      Obtain the identification number of the company which the device belongs according to the specified index in the device list

      Parameters

        index – index value

      Returns

        company identification number

    inline String getUid(int index)

      Obtain the unique ID of the device according to the specified index in the device list

      Parameters

        index – index value

      Returns

        Device Unique ID

    inline String getDeviceSerialNumber(int index)

      Get the device serial number according to the specified index in the device list

      Parameters

        index – index value

      Returns

        devise serial number

    inline String getConnectionType(int index)

      Get device connection type.

      Parameters

        index – device index

      Returns

        const char* returns connection type，currently supports：”USB”, “USB1.0”, “USB1.1”, “USB2.0”, “USB2.1”, “USB3.0”, “USB3.1”, “USB3.2”, “Ethernet”

    inline String getIpAddress(int index)

      get the ip address of the device at the specified index

      Attention

        Only valid for network devices, otherwise it will return “0.0.0.0”.

      Parameters

        index – the index of the device

      Returns

        the ip address of the device

    inline String getExtensionInfo(int index)

      Get the device extension information.

      Parameters

        - info – [in] Device Information

        - index – [in] Device index

        - error – [out] Log error messages

      Returns

        const char* The device extension information

    inline Device getDevice(int index)

      Get the device object according to the specified index in the device list

      Parameters

        index – index value

      Returns

        designated device

    inline Device getDeviceBySerialNumber(String serialNum)

      Create a device, if the device has been acquired and created elsewhere, repeated acquisition will return an error

      Parameters

        serialNum – The serial number of the device to be created

      Returns

        Returns the created device Device

    inline Device getDeviceByUid(String uid)

      Create a device, if the device has been acquired and created elsewhere, repeated acquisition will return an error

      Parameters

        uid – The uid of the device to create

      Returns

        Returns the created device Device

    inline void close()

      resource release

  enum DeviceProperty

    Device Property

    Public Functions

    inline DeviceProperty(int value)
    inline int value()

      Get the index corresponding to the device property

      Returns

        index value

    Public Members

    OB_PROP_LDP_BOOL =(2)

      LDP switch

    OB_PROP_LASER_BOOL =(3)

      laser switch

    OB_PROP_LASER_PULSE_WIDTH_INT =(4)

      laser pulse width

    OB_PROP_LASER_CURRENT_FLOAT =(5)

      Laser current (unit: mA)

    OB_PROP_FLOOD_BOOL =(6)

      IR flood switch

    OB_PROP_FLOOD_LEVEL_INT =(7)

      IR flood level

    OB_PROP_DEPTH_MIRROR_BOOL =(14)

      depth mirror

    OB_PROP_DEPTH_FLIP_BOOL =(15)

      depth flip

    OB_PROP_DEPTH_POSTFILTER_BOOL =(16)

      depth post filter

    OB_PROP_DEPTH_HOLEFILTER_BOOL =(17)

      depth hole filter

    OB_PROP_IR_MIRROR_BOOL =(18)

      IR mirror

    OB_PROP_IR_FLIP_BOOL =(19)

      IR flip

    OB_PROP_MIN_DEPTH_INT =(22)

      minimum depth threshold

    OB_PROP_MAX_DEPTH_INT =(23)

      maximum depth threshold

    OB_PROP_DEPTH_SOFT_FILTER_BOOL =(24)

      Software filter switch

    OB_PROP_LDP_STATUS_BOOL =(32)

      LDP status

    OB_PROP_DEPTH_MAX_DIFF_INT =(40)

      soft filter maxdiff param

    OB_PROP_DEPTH_MAX_SPECKLE_SIZE_INT =(41)

      soft filter maxSpeckleSize

    OB_PROP_DEPTH_ALIGN_HARDWARE_BOOL =(42)

      Hardware d2c is on

    OB_PROP_TIMESTAMP_OFFSET_INT =(43)

      time stamp adjustment

    OB_PROP_HARDWARE_DISTORTION_SWITCH_BOOL =(61)

      Hardware de-distortion switch Rectify

    OB_PROP_FAN_WORK_MODE_INT =(62)

      Fan switch mode

    OB_PROP_DEPTH_ALIGN_HARDWARE_MODE_INT =(63)

      Multi-resolution D2C mode

    OB_PROP_ANTI_COLLUSION_ACTIVATION_STATUS_BOOL =(64)

      Anti_collusion activation status

    OB_PROP_DEPTH_PRECISION_LEVEL_INT =(75)

      The depth precision level may change the depth frame data unit. You need to confirm the setting parameters through the ValueScale interface of DepthFrame. Set parameter reference DepthPrecisionLevel#value() The obtained value can be converted through DepthPrecisionLevel#get(int)

    OB_PROP_TOF_FILTER_RANGE_INT =(76)

      tof filter scene range configuration

    OB_PROP_LASER_MODE_INT =(79)

      mx6600 laser lighting mode, the firmware only returns 1: IR Drive, 2: Torch at present

    OB_PROP_RECTIFY2_BOOL =(80)

      mx6600 brt2r-rectify function switch (brt2r is a special module on mx6600), false: Disable, true: Rectify Enable

    OB_PROP_COLOR_MIRROR_BOOL =(81)

      color mirror

    OB_PROP_COLOR_FLIP_BOOL =(82)

      color flip

    OB_PROP_INDICATOR_LIGHT_BOOL =(83)

      indicator light switch false: Disable， true: Enable

    OB_PROP_DISPARITY_TO_DEPTH_BOOL =(85)

      Hardware parallax to depth switch, 0: Turn off the hardware parallax to depth switch, turn on the software parallax to depth switch 1.Turn on the hardware parallax to depth switch, turn off the software parallax to depth switch

    OB_PROP_BRT_BOOL =(86)

      BRT function switch (anti-background interference), false: Disable, true: Enable

    OB_PROP_WATCHDOG_BOOL =(87)

      Watchdog function switch, false: Disable, true: Enable

    OB_PROP_EXTERNAL_SIGNAL_RESET_BOOL =(88)

      External signal triggers restart function switch, false: Disable, true: Enable

    OB_PROP_HEARTBEAT_BOOL =(89)

      Heartbeat monitoring function switch, false: Disable, true: Enable

    OB_PROP_DEPTH_CROPPING_MODE_INT =(90)

      Depth cropping mode device: OB_DEPTH_CROPPING_MODE_EM (currently only suitable for Longquan Sword)

    OB_PROP_D2C_PREPROCESS_BOOL =(91)

      D2C preprocessing switch (such as RGB cropping), false: off, true: on

    OB_PROP_RGB_CUSTOM_CROP_BOOL =(94)

      custom RGB cropping switch, 0 is off, 1 is on custom cropping, and the ROI cropping area is issued

    OB_PROP_DEVICE_WORK_MODE_INT =(95)

      Device operating mode (power consumption)

    OB_PROP_DEVICE_COMMUNICATION_TYPE_INT =(97)

      Device communication type, 0: USB; 1: Ethernet(RTSP)

    OB_PROP_SWITCH_IR_MODE_INT =(98)

      Switch IR mode, 0: IR active mode, 1: IR passive mode

    OB_PROP_LASER_ENERGY_LEVEL_INT =(99)

      Laser energy level

    OB_PROP_LDP_MEASURE_DISTANCE_INT =(100)

      LDP’s measure distance, unit: mm

    OB_PROP_TIMER_RESET_SIGNAL_BOOL =(104)

      Reset device time to zero

    OB_PROP_TIMER_RESET_TRIGGLE_OUT_ENABLE_BOOL =(105)

      Enable send reset device time signal to other device. true: enable, false: disable

    OB_PROP_TIMER_RESET_DELAY_US_INT =(106)

      Delay to reset device time, unit: us

    OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL =(107)

      Signal to capture image

    OB_PROP_IR_RIGHT_MIRROR_BOOL =(112)

      Right IR sensor mirror state

    OB_PROP_CAPTURE_IMAGE_FRAME_NUMBER_INT =(113)

      Number frame to capture once a ‘OB_PROP_CAPTURE_IMAGE_SIGNAL_BOOL’ effect. range: [1, 255]

    OB_PROP_IR_RIGHT_FLIP_BOOL =(114)

      Right IR sensor flip state. true: flip image, false: origin, default: false

    OB_PROP_COLOR_ROTATE_INT =(115)

      Color sensor rotation, angle{0, 90, 180, 270}

    OB_PROP_IR_ROTATE_INT =(116)

      IR/Left-IR sensor rotation, angle{0, 90, 180, 270}

    OB_PROP_IR_RIGHT_ROTATE_INT =(117)

      Right IR sensor rotation, angle{0, 90, 180, 270}

    OB_PROP_DEPTH_ROTATE_INT =(118)

      Depth sensor rotation, angle{0, 90, 180, 270}

    OB_PROP_LASER_HW_ENERGY_LEVEL_INT =(119)

      Get hardware laser energy level which real state of laser element. OB_PROP_LASER_ENERGY_LEVEL_INT（99）will effect this command which it setting and changed the hardware laser energy level.

    OB_PROP_USB_POWER_STATE_INT =(121)

      USB’s power state, enum type: OBUSBPowerState

    OB_PROP_DC_POWER_STATE_INT =(122)

      DC’s power state, enum type: OBDCPowerState

    OB_PROP_DEVICE_DEVELOPMENT_MODE_INT =(129)

      Device development mode switch, optional modes can refer to the definition in OBDeviceDevelopmentMode,the default mode is OB_USER_MODE

      Attention

        The device takes effect after rebooting when switching modes.

    OB_PROP_SYNC_SIGNAL_TRIGGER_OUT_BOOL =(130)

      Multi-DeviceSync synchronized signal trigger out is enable state. true: enable, false: disable

    OB_PROP_RESTORE_FACTORY_SETTINGS_BOOL =(131)

      Restore factory settings and factory parameters

      Attention

        This command can only be written, and the parameter value must be true. The command takes effect after restarting the device.

    OB_PROP_BOOT_INTO_RECOVERY_MODE_BOOL =(132)

      Enter recovery mode (flashing mode) when boot the device

      Attention

        The device will take effect after rebooting with the enable option. After entering recovery mode, you can upgrade the device system. Upgrading the system may cause system damage, please use it with caution.

    OB_PROP_DEVICE_IN_RECOVERY_MODE_BOOL =(133)

      Query whether the current device is running in recovery mode (read-only)

    OB_PROP_DEVICE_REBOOT_DELAY_INT =(142)

      Reboot device delay mode. Data type: uint32_t, Delay time unit: ms, range: [0, 8000).

    OB_STRUCT_BASELINE_CALIBRATION_PARAM =(1002)

      Baseline calibration parameters

    OB_STRUCT_DEVICE_TEMPERATURE =(1003)

      Device temperature

    OB_STRUCT_TOF_EXPOSURE_THRESHOLD_CONTROL =(1024)

      TOF exposure threshold range

    OB_STRUCT_DEVICE_SERIAL_NUMBER =(1035)

      get serial number

    OB_STRUCT_DEVICE_TIME =(1037)

      get/set device time

    OB_STRUCT_MULTI_DEVICE_SYNC_CONFIG =(1038)

      Multi-device synchronization mode and parameter configuration

    OB_STRUCT_RGB_CROP_ROI =(1040)

      RGB cropping ROI

    OB_STRUCT_DEVICE_IP_ADDR_CONFIG =(1041)

      Device IP address configuration

    OB_STRUCT_CURRENT_DEPTH_ALG_MODE =(1043)

      The current camera depth mode

    OB_STRUCT_DEPTH_PRECISION_SUPPORT_LIST =(1045)

      A list of depth accuracy levels, returning an array of uin16_t, corresponding to the enumeration definitions of the accuracy classes

    OB_PROP_COLOR_AUTO_EXPOSURE_BOOL =(2000)

      Color camera auto exposure

    OB_PROP_COLOR_EXPOSURE_INT =(2001)

      Color camera exposure adjustment

    OB_PROP_COLOR_GAIN_INT =(2002)

      Color camera gain adjustment

    OB_PROP_COLOR_AUTO_WHITE_BALANCE_BOOL =(2003)

      Color camera automatic white balance

    OB_PROP_COLOR_WHITE_BALANCE_INT =(2004)

      Color camera white balance adjustment

    OB_PROP_COLOR_BRIGHTNESS_INT =(2005)

      Color camera brightness adjustment

    OB_PROP_COLOR_SHARPNESS_INT =(2006)

      Color camera sharpness adjustment

    OB_PROP_COLOR_SATURATION_INT =(2008)

      Color camera saturation adjustment

    OB_PROP_COLOR_CONTRAST_INT =(2009)

      Color camera contrast adjustment

    OB_PROP_COLOR_GAMMA_INT =(2010)

      Color camera gamma adjustment

    OB_PROP_COLOR_ROLL_INT =(2011)

      Color camera image rotation

    OB_PROP_COLOR_AUTO_EXPOSURE_PRIORITY_INT =(2012)

      Color camera auto exposure priority

    OB_PROP_COLOR_BACKLIGHT_COMPENSATION_INT =(2013)

      Color camera brightness compensation

    OB_PROP_COLOR_HUE_INT =(2014)

      color camera color tint

    OB_PROP_COLOR_POWER_LINE_FREQUENCY_INT =(2015)

      Color camera power line frequency

    OB_PROP_DEPTH_AUTO_EXPOSURE_BOOL =(2016)

      Automatic exposure of depth camera (infrared camera will be set synchronously under some models of devices)

    OB_PROP_DEPTH_EXPOSURE_INT =(2017)

      Depth camera exposure adjustment (infrared cameras will be set synchronously under some models of devices)

    OB_PROP_DEPTH_GAIN_INT =(2018)

      Depth camera gain adjustment (infrared cameras will be set synchronously under some models of devices)

    OB_PROP_IR_AUTO_EXPOSURE_BOOL =(2025)

      Infrared camera auto exposure (depth camera will be set synchronously under some models of devices)

    OB_PROP_IR_EXPOSURE_INT =(2026)

      Infrared camera exposure adjustment (some models of devices will set the depth camera synchronously)

    OB_PROP_IR_GAIN_INT =(2027)

      Infrared camera gain adjustment (the depth camera will be set synchronously under some models of devices)

    OB_PROP_IR_CHANNEL_DATA_SOURCE_INT =(2028)

      Select Infrared camera data source channel. If not support throw exception. 0 : IR stream from IR Left sensor; 1 : IR stream from IR Right sensor;

    OB_PROP_DEPTH_RM_FILTER_BOOL =(2029)

      Depth effect dedistortion, true: on, false: off. mutually exclusive with D2C function, RM_Filter disable When hardware or software D2C is enabled.

    OB_PROP_COLOR_MAXIMAL_GAIN_INT =(2030)

      Color camera maximal gain

    OB_PROP_COLOR_MAXIMAL_SHUTTER_INT =(2031)

      Color camera shutter gain

    OB_PROP_SDK_DEPTH_FRAME_UNPACK_BOOL =(3007)

      Depth data unpacking function switch (each open stream will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)

    OB_PROP_SDK_IR_FRAME_UNPACK_BOOL =(3008)

      IR data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)

    OB_PROP_SDK_ACCEL_FRAME_TRANSFORMED_BOOL =(3009)

      Accel data conversion function switch (on by default)

    OB_PROP_SDK_GYRO_FRAME_TRANSFORMED_BOOL =(3010)

      Gyro data conversion function switch (on by default)

    OB_PROP_SDK_IR_LEFT_FRAME_UNPACK_BOOL =(3011)

      Left IR frame data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)

    OB_PROP_SDK_IR_RIGHT_FRAME_UNPACK_BOOL =(3012)

      Right IR frame data unpacking function switch (each current will be turned on by default, support RLE/Y10/Y11/Y12/Y14 format)

    OB_RAW_DATA_CAMERA_CALIB_JSON_FILE =(4029)

      Calibration JSON file read from device (Femto Mega, read only)

    Public Static Functions

    static inline DeviceProperty get(int value)

      Get the device properties corresponding to the specified index

      Parameters

        value – index value

      Returns

        device properties

    Private Members

    final int mValue
  class DevicePropertyInfo

    Characteristics used to describe each property

    Public Functions

    inline DeviceProperty getProperty()

      get property

      Returns

        return property DeviceProperty

    inline String getPropertyName()

      get property name

      Returns

        return property name

    inline PropertyType getPropertyType()

      get property type

      Returns

        returns property type PropertyType

    inline PermissionType getPermissionType()

      Get the permission type of the property

      Returns

        Returns the attribute’s permission type PermissionType

  enum DeviceStateType

    Device Status Type

    Public Members

    NORMAL

      The device is normal, the default value

    WARN

      Device high temperature warning

    FATAL

      Device overtemperature abnormality

  enum DeviceType

    Device Type

    Public Functions

    inline DeviceType(int value)
    inline int value()

      The index corresponding to the device type

      Returns

        index value

    Public Members

    OB_STRUCTURED_LIGHT_MONOCULAR_CAMERA =(0)

      monocular structured light camera

    OB_STRUCTURED_LIGHT_BINOCULAR_CAMERA =(1)

      Binocular structured light camera

    OB_TOF_CAMERA =(2)

      tof camera

    Public Static Functions

    static inline DeviceType get(int value)

      Get the device type corresponding to the specified index

      Parameters

        value – index value

      Returns

        device type

    Private Members

    final int mValue
  interface FileSendCallback

    File transfer callback class

    Public Functions

    void onCallback(short state, short percent, String msg)

      file transfer callback

      Parameters

        - state – current state

        - msg – status information

        - percent – current status progress, percentage 0~100

    Public Members

    short FILE_TRAN_STAT_TRANSFER = 2

      file transfer

    short FILE_TRAN_STAT_DONE = 1

      File transfer succeeded

    short FILE_TRAN_STAT_PREPARE = 0

      preparing

    short FILE_TRAN_ERR_DDR = -1

      DDR access failed

    short FILE_TRAN_ERR_NOT_ENOUGH_SPACE = -2

      Insufficient target space error

    short FILE_TRAN_ERR_PATH_NOT_WRITABLE = -3

      Destination path is not writable

    short FILE_TRAN_ERR_MD5_ERROR = -4

      MD5 checksum error

    short FILE_TRAN_ERR_WRITE_FLASH_ERROR = -5

      write flash error

    short FILE_TRAN_ERR_TIMEOUT = -6

      timeout error

  Filter : public com.orbbec.obsensor.LobClass , public Cloneable

    Base class for all filters

    Subclassed by com.orbbec.obsensor.CompressionFilter, com.orbbec.obsensor.DeCompressionFilter, com.orbbec.obsensor.FormatConvertFilter, com.orbbec.obsensor.PointCloudFilter

    Public Functions

    inline Frame process(Frame frame)

      Process the data frame to get the format converted data frame

      Parameters

        frame – The data frame to be converted

      Returns

        Formatted Frame

    inline void reset()

      Filter reset, after reset, you can reset the format of the filter for the processing of another format

    inline void setCallback(FilterCallback callback)

      Filter sets the processing result callback function (asynchronous callback interface)

      Parameters

        callback – filter callback

    inline void pushFrame(Frame frame)

      filter pushes frame_set into the pending buffer (asynchronous callback interface)

      Parameters

        frame – data frame

    inline void close()

      release data frame resources

  interface FilterCallback

    Filter callback

    Public Functions

    void onFrame(Frame frame)

      dataframe callback

      Parameters

        frame – dataframe

  enum Format

    Enumeration value describing pixel format

    Public Functions

    inline Format(int value)
    inline int value()

      Get the index corresponding to the data stream format

      Returns

        index value

    Public Members

    YUYV =(0)

      YUYV format

    YUY2 =(1)

      YUY2 format (the actual format is the same as YUYV)

    UYVY =(2)

      UYVY format

    NV12 =(3)

      NV12 format

    NV21 =(4)

      NV21 format

    MJPG =(5)

      MJPG encoding format

    H264 =(6)

      H.264 encoding format

    H265 =(7)

      H.265 encoding format

    Y16 =(8)

      Y16 format, single channel 16bit depth

    Y8 =(9)

      Y8 format, single channel 8bit depth

    Y10 =(10)

      Y10 format, single channel 10bit depth (SDK will unpack into Y16 by default)

    Y11 =(11)

      Y11 format, single channel 11bit depth (SDK will unpack into Y16 by default)

    Y12 =(12)

      Y12 format, single channel 12bit depth (SDK will unpack into Y16 by default)

    GRAY =(13)

      GRAY (the actual format is the same as YUYV)

    HEVC =(14)

      HEVC encoding format (the actual format is the same as H265)

    I420 =(15)

      I420 format

    ACCEL =(16)

      Accelerometer data format

    GYRO =(17)

      Gyroscope data format

    POINT =(19)

      xyz 3D coordinate point format

    RGB_POINT =(20)

      xyz 3D coordinate point format with RGB information

    RLE =(21)

      RLE pressure test format (SDK will be unpacked into Y16 by default)

    RGB888 =(22)

      RGB888 format

    BGR =(23)

      BGR format (actual BRG888)

    Y14 =(24)

      Y14 format, single channel 14bit depth (SDK will unpack into Y16 by default)

    BGRA =(25)

      BGRA format

    COMPRESSED =(26)

      Compression format

    RVL =(27)

      RVL pressure test format (SDK will be unpacked into Y16 by default)

    UNKNOWN =(0xff)

      unknown format

    Public Static Functions

    static inline Format get(int value)

      Get the data stream format corresponding to the specified index

      Parameters

        value – index value

      Returns

        data stream format

    Private Members

    final int mValue
  FormatConvertFilter : public com.orbbec.obsensor.Filter

    FormatConvertFilter For data stream format conversion

    Public Functions

    inline FormatConvertFilter()

      Create a format conversion filter

    inline void setFormatType(FormatConvertType type)

      Set the data stream conversion format

      Parameters

        type – Data Stream Transformation Format

  enum FormatConvertType

    for data stream format conversion

    Public Functions

    inline FormatConvertType(int value)
    inline int value()

      Get the data stream conversion format corresponding to a specific index value

      Returns

        index value

    Public Members

    FORMAT_YUYV_TO_RGB888 =(0)

      YUYV to RGB888

    FORMAT_I420_TO_RGB888 =(1)

      I420 to RGB888

    FORMAT_NV21_TO_RGB888 =(2)

      NV21 to RGB888

    FORMAT_NV12_TO_RGB888 =(3)

      NV12 to RGB888

    FORMAT_MJPEG_TO_I420 =(4)

      MJPG to I420

    FORMAT_RGB888_TO_BGR =(5)

      RGB888 to BGR

    FORMAT_MJPEG_TO_NV21 =(6)

      MJPG to NV21

    FORMAT_MJPEG_TO_RGB888 =(7)

      MJPG to RG888

    Public Static Functions

    static inline FormatConvertType get(int value)

      Get the data stream conversion format corresponding to the specified index

      Parameters

        value – index value

      Returns

        data stream format

    Private Members

    final int mValue
  Frame : public com.orbbec.obsensor.LobClass , public Cloneable

    The data frame in the data stream is the base class of ColorFrame, DepthFrame, IRFrame, VideoFrame, FrameSet

    Subclassed by com.orbbec.obsensor.AccelFrame, com.orbbec.obsensor.FrameSet, com.orbbec.obsensor.GyroFrame, com.orbbec.obsensor.PointFrame, com.orbbec.obsensor.VideoFrame

    Public Functions

    inline long getSystemTimeStamp()

      Get the system timestamp of the data frame, unit: ms

      Returns

        system timestamp

    inline long getTimeStamp()

      Get the device timestamp of the data frame, unit: ms

      Returns

        device timestamp

    inline BigInteger getTimeStampUs()

      Get the device timestamp of the data frame, unit: us

      @history delete ‘long getTimeStampUs()’ because it wrong if encounter java long return from C native unsigned long long is overflow

      Returns

        device timestamp

    inline FrameType getStreamType()

      Get the data stream type to which the data frame belongs

      Returns

        Data stream type FrameType

    inline Format getFormat()

      Get the data stream format to which the data frame belongs

      Returns

        Data Stream Format

    inline long getFrameIndex()

      Get the sequence number of the data frame in the data stream

      Returns

        data frame number

    inline int getDataSize()

      Get the data size of the data frame

      Returns

        data size

    inline int getData (byte[] buf)

      Get the data of the dataframe

      Parameters

        buf – byte array to fill frame data

      Returns

        success, return the size of data had fill to buf; failed, return -1;

    inline int getData(ByteBuffer directByteBuffer)

      Get the data of the dataFrame

      Parameters

        directByteBuffer – ByteBuffer to fill frame data.

      Returns

        success, return the size of data had fill to buf; failed, return -1;

    inline ByteBuffer getDirectBuffer()

      Get the buffer of frame data

      The buffer should be consumed before the frame closed

      Returns

        return the buffer of the frame data

    inline int getMetadataSize()

      Get the metadata size of the frame

      Returns

        Returns the metadata size of the frame

    inline void getMetadata (byte[] metadata)

      Get the metadata of the frame

      Parameters

        metadata – frame metadata

    inline void close()

      release data frame resources

  interface FrameCallback

    data frame callback interface

    Public Functions

    void onFrame(Frame frame)

      Frame callback

      Parameters

        frame – Data frame

  class FrameHelper

    Public Static Functions

    static inline Frame createFrameFromBuffer (Format format, int width, int height, byte[] buffer)

      Create a frame object based on an externally created Buffer.

      Parameters

        - format – frame object format

        - width – frame object width

        - height – frame object height

        - buffer – frame object buffer

      Returns

        frame object

    static inline FrameSet createFrameSet()

      Creates an empty frame collection object.

      Returns

        frameset object

    static inline void pushFrame(Frame frameSet, FrameType frameType, Frame frame)

      Populate the frame collection with frames of the corresponding type.

      Parameters

        - frameSet – frameset object

        - frameType – the type of frame filled in

        - frame – the object that fills the frame

    static inline void setFrameSystemTimestamp(Frame frame, long systemTimestamp)

      Set the system timestamp of the frame.

      Parameters

        - frame – object for frame settings

        - systemTimestamp – set by systemTimestamp

    static inline void setFrameDeviceTimestamp(Frame frame, long deviceTimestamp)

      Set the device timestamp of the frame.

      Parameters

        - frame – object for frame settings

        - deviceTimestamp – set by deviceTimestamp

    static inline void setFrameDeviceTimestampUs(Frame frame, long deviceTimestampUs)

      Set the device timestamp of the frame.

      Parameters

        - frame – object for frame settings

        - deviceTimestampUs – the device timestamp set (Us)

  FrameSet : public com.orbbec.obsensor.Frame

    Data frame set, including 0~N data frames

    Public Functions

    inline int getFrameCount()

      Get the number of frames in a dataframe set

      Returns

        number of frames

    inline DepthFrame getDepthFrame()

      get depth data frame

      Returns

        depth data frame DepthFrame

    inline ColorFrame getColorFrame()

      Get color data frame

      Returns

        color data frame ColorFrame

    inline IRFrame getIrFrame()

      Get infrared data frame

      Returns

        Infrared data frame IRFrame

    inline PointFrame getPointFrame()

      Get point cloud data from a collection of frames

      Returns

        Return point cloud frame PointFrame

    inline void close()

      release dataframe set resources

  interface FrameSetCallback

    frameset callback interface

    Public Functions

    void onFrameSet(FrameSet frameSet)

      Callback with a FrameSet

      Parameters

        frameSet – Data FrameSet

  enum FrameType

    Describe the Frame type enumeration value

    Public Functions

    inline FrameType(int value)
    inline int value()

      Get the index corresponding to the data frame type

      Returns

        index value

    Public Members

    VIDEO =(0)

      Video frames (infrared, color, depth frames are all video frames)

    IR =(1)

      Infrared frame

    COLOR =(2)

      color frame

    DEPTH =(3)

      depth frame

    ACCEL =(4)

      Accelerometer data frame

    FRAME_SET =(5)

      Frame collection (internally contains a variety of data frames)

    POINTS =(6)

      point cloud frame

    GYRO =(7)

      Gyroscope data frame

    IR_LEFT =(8)

      Left IR frame

    IR_RIGHT =(9)

      Right IR frame

    RAW_PHASE =(10)

      Rawphase frame

    Public Static Functions

    static inline FrameType get(int value)

      Get the data frame type corresponding to the specified index

      Parameters

        value – index value

      Returns

        data frame type

    Private Members

    final int mValue
  GyroFrame : public com.orbbec.obsensor.Frame

    Gyroscope data frame

    Public Functions

    inline float[] getGyroData ()

      Get gyroscope data

      Returns

        float[3]{x,y,z} returns acceleration data

    inline float getTemperature()

      Get the temperature when the frame is sampled

      Returns

        temperature at frame sampling

  enum GyroFullScaleRange

    Enumeration of gyroscope ranges

    Public Functions

    inline GyroFullScaleRange(int value)
    inline int value()

      Get the index corresponding to the gyro range

      Returns

        index value

    Public Members

    FS_16dps =(1)

      16 degrees per second

    FS_31dps =(2)

      31 degrees per second

    FS_62dps =(3)

      62 degrees per second

    FS_125dps =(4)

      125 degrees per second

    FS_250dps =(5)

      250 degrees per second

    FS_500dps =(6)

      500 degrees per second

    FS_1000dps =(7)

      1000 degrees per second

    FS_2000dps =(8)

      2000 degrees per second

    Public Static Functions

    static inline GyroFullScaleRange get(int value)

      Get the range enumeration value corresponding to the specified index of the gyroscope

      Parameters

        value – index value

      Returns

        Gyroscope range enumeration

    Private Members

    final int mValue
  GyroStreamProfile : public com.orbbec.obsensor.StreamProfile

    Gyro stream profile

    Public Functions

    inline GyroFullScaleRange getGyroFullScaleRange()

      Get the range of the gyroscope configuration

      Returns

        Gyroscope range GyroFullScaleRange

    inline SampleRate getGyroSampleRate()

      Get the data sampling rate of the gyroscope configuration

      Returns

        Gyroscope data sample rate SampleRate

  enum HPStatusCode

    send data or receive data return status type

    Public Functions

    inline int value()

      Get the int value of HPStatusCode

    inline String toString()

    Public Members

    HP_STATUS_OK =(0)

      success

    HP_STATUS_NO_DEVICE_FOUND =(1)

      No device found

    HP_STATUS_CONTROL_TRANSFER_FAILED =(2)

      Transfer failed

    HP_STATUS_UNKNOWN_ERROR =(0xffff)

      Unknown error

    Public Static Functions

    static inline HPStatusCode get(int value)

      Get the sensor type corresponding to the specified index

      Parameters

        value – index value

      Returns

        sensor type

    Private Functions

    inline HPStatusCode(int value)

    Private Members

    final int mValue
  IRFrame : public com.orbbec.obsensor.VideoFrame

    IR frame

  class LobClass : public AutoCloseable

    SDK base class, loading core SDK Library

    Subclassed by com.orbbec.obsensor.CameraParamList, com.orbbec.obsensor.Config, com.orbbec.obsensor.Device, com.orbbec.obsensor.DeviceList, com.orbbec.obsensor.Filter, com.orbbec.obsensor.Frame, com.orbbec.obsensor.OBContext, com.orbbec.obsensor.Pipeline, com.orbbec.obsensor.Playback, com.orbbec.obsensor.Recorder, com.orbbec.obsensor.Sensor, com.orbbec.obsensor.StreamProfile, com.orbbec.obsensor.StreamProfileList

    Public Functions

    inline long getHandle()

      Get the current class handle

      Returns

        handle

  enum LogSeverity

    log level, the higher the level, the stronger the log filter

    Public Functions

    inline LogSeverity(int value)
    inline int value()

      Get the index corresponding to the log output level

      Returns

        index value

    Public Members

    DEBUG =(0)

      debug

    INFO =(1)

      information

    WARN =(2)

      warning

    ERROR =(3)

      error

    FATAL =(4)

      fatal error

    NONE =(5)

      None (close LOG)

    Public Static Functions

    static inline LogSeverity get(int value)

      Get the log output level corresponding to the specified index

      Parameters

        value – index value

      Returns

        log output level

    Private Members

    final int mValue
  enum MediaState

    Record playback status

    Public Functions

    inline MediaState(int value)
    inline int value()

      Get the index corresponding to the recording and playback status

      Returns

        index value

    Public Members

    OB_MEDIA_BEGIN =(0)

      start

    OB_MEDIA_PAUSE =(1)

      pause

    OB_MEDIA_RESUME =(2)

      recover

    OB_MEDIA_END =(3)

      end

    Public Static Functions

    static inline MediaState get(int value)

      Get the recording and playback status corresponding to the specified index

      Parameters

        value – index value

      Returns

        Record playback status

    Private Members

    final int mValue
  interface MediaStateCallback

    Playback Status Callback

    Public Functions

    void onState(MediaState state)

      playback status callback

      Parameters

        state – playback status

  enum MediaType

    Playback data types

    Public Functions

    inline MediaType(int value)
    inline int value()

      Get the index corresponding to the data stream format

      Returns

        index value

    Public Members

    OB_MEDIA_COLOR_STREAM =(1)

      color stream

    OB_MEDIA_DEPTH_STREAM =(2)

      depth stream

    OB_MEDIA_IR_STREAM =(4)

      IR stream

    OB_MEDIA_GYRO_STREAM =(8)

      gyro stream

    OB_MEDIA_ACCEL_STREAM =(16)

      accel stream

    OB_MEDIA_CAMERA_PARAM =(32)

      camera parameter

    OB_MEDIA_DEVICE_INFO =(64)

      device information

    OB_MEDIA_STREAM_INFO =(128)

      stream information

    OB_MEDIA_ALL =(OB_MEDIA_COLOR_STREAM.value()| OB_MEDIA_DEPTH_STREAM.value()| OB_MEDIA_IR_STREAM.value()| OB_MEDIA_GYRO_STREAM.value()| OB_MEDIA_ACCEL_STREAM.value()| OB_MEDIA_CAMERA_PARAM.value()| OB_MEDIA_DEVICE_INFO.value()| OB_MEDIA_STREAM_INFO.value())

      all types

    Public Static Functions

    static inline MediaType get(int value)

      Get the data stream format corresponding to the specified index

      Parameters

        value – index value

      Returns

        data stream format

    Private Members

    final int mValue
  class MultiDeviceSyncConfig

    Device synchronization configuration .

    Public Functions

    inline SyncMode getSyncMode()

      The sync mode of the device. .

    inline void setSyncMode(SyncMode mode)

      The sync mode of the device. .

    inline int getDepthDelayUs()

      The delay time of the depth image capture after receiving the capture command or trigger signal in microseconds.

      Attention

        This parameter is only valid for some models， please refer to the product manual for details.

    inline void setDepthDelayUs(int delayUs)

      The delay time of the depth image capture after receiving the capture command or trigger signal in microseconds.

      Attention

        This parameter is only valid for some models， please refer to the product manual for details.

    inline int getColorDelayUs()

      The delay time of the color image capture after receiving the capture command or trigger signal in microseconds.

      Attention

        This parameter is only valid for some models， please refer to the product manual for details.

    inline void setColorDelayUs(int delayUs)

      The delay time of the color image capture after receiving the capture command or trigger signal in microseconds.

      Attention

        This parameter is only valid for some models， please refer to the product manual for details.

    inline int getTrigger2ImageDelayUs()

      The delay time of the image capture after receiving the capture command or trigger signal in microseconds.

      The depth and color images are captured synchronously as the product design and can not change the delay between the depth and color images.

      Attention

        For Orbbec Astra 2 device, this parameter is valid only when the triggerOutDelayUs is set to 0.

      Attention

        This parameter is only valid for some models to replace depthDelayUs and colorDelayUs, please refer to the product manual for details.

    inline void setTrigger2ImageDelayUs(int delayUs)

      The delay time of the image capture after receiving the capture command or trigger signal in microseconds.

      The depth and color images are captured synchronously as the product design and can not change the delay between the depth and color images.

      Attention

        For Orbbec Astra 2 device, this parameter is valid only when the triggerOutDelayUs is set to 0.

      Attention

        This parameter is only valid for some models to replace depthDelayUs and colorDelayUs, please refer to the product manual for details.

    inline boolean isTriggerOutEnable()

      Trigger signal output enable flag.

      After the trigger signal output is enabled, the trigger signal will be output when the capture command or trigger signal is received. User can adjust the delay time of the trigger signal output by triggerOutDelayUs.

      Attention

        For some models, the trigger signal output is always enabled and cannot be disabled.

      Attention

        If device is in the OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN or OB_MULTI_DEVICE_SYNC_MODE_STANDALONE mode, the trigger signal output is always disabled. Set this parameter to true will not take effect.

    inline void setTriggerOutEnable(boolean triggerOutEnable)

      Trigger signal output enable flag.

      After the trigger signal output is enabled, the trigger signal will be output when the capture command or trigger signal is received. User can adjust the delay time of the trigger signal output by triggerOutDelayUs.

      Attention

        For some models, the trigger signal output is always enabled and cannot be disabled.

      Attention

        If device is in the OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN or OB_MULTI_DEVICE_SYNC_MODE_STANDALONE mode, the trigger signal output is always disabled. Set this parameter to true will not take effect.

    inline int getTriggerOutDelayUs()

      The delay time of the trigger signal output after receiving the capture command or trigger signal in microseconds.

      Attention

        For Orbbec Astra 2 device, only supported -1 and 0. -1 means the trigger signal output delay is automatically adjusted by the device, 0 means the trigger signal output is disabled.

    inline void setTriggerOutDelayUs(int delayUs)

      The delay time of the trigger signal output after receiving the capture command or trigger signal in microseconds.

      Attention

        For Orbbec Astra 2 device, only supported -1 and 0. -1 means the trigger signal output delay is automatically adjusted by the device, 0 means the trigger signal output is disabled.

    inline int getFramesPerTrigger()

      The frame number of each stream after each trigger in triggering mode.

      Attention

        This parameter is only valid when the triggering mode is set to OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING or OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING.

      Attention

        The trigger frequency multiplied by the number of frames per trigger cannot exceed the maximum frame rate of the stream profile which is set when starting the stream.

    inline void setFramesPerTrigger(int frameNumPerTrigger)

      The frame number of each stream after each trigger in triggering mode.

      Attention

        This parameter is only valid when the triggering mode is set to OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING or OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING.

      Attention

        The trigger frequency multiplied by the number of frames per trigger cannot exceed the maximum frame rate of the stream profile which is set when starting the stream.

  enum OBCmdVersion

    Command version associate with property id .

    Public Members

    CMD_VERSION_V0 =(0)

      version 1.0

    CMD_VERSION_V1 =(1)

      version 2.0

    CMD_VERSION_V2 =(2)

      version 3.0

    CMD_VERSION_V3 =(3)

      version 4.0

    OB_CMD_VERSION_NOVERSION =(0xfffe)
    OB_CMD_VERSION_INVALID =(0xffff)

      Invalid version

    Private Functions

    inline OBCmdVersion(int value)

    Private Members

    final int iValue
  OBContext : public com.orbbec.obsensor.LobClass

    Orbbec SDK context, which can perform device monitoring, query, log management and version query

    Public Functions

    inline OBContext(Context context, DeviceChangedCallback callback)

      Create SDK context, apply for authorization, and enable device listening

      Parameters

        - context – For Android environment context, it is recommended to use the context of application

        - callback – Device listening DeviceChangedCallback

    inline OBContext(Context context, String configPath, DeviceChangedCallback callback)

      Create SDK context, apply for authorization, and enable device listening

      Parameters

        - context – For Android environment context, it is recommended to use the context of application

        - configPath – Profile path

        - callback – Device listening DeviceChangedCallback

    inline DeviceList queryDevices()

      Query device list

      Returns

        Device List DeviceList

    inline synchronized void setDevicesChangedCallback (DeviceChangedCallback callback)

      Set device plug and unplug listener callback

      Parameters

        callback – Device plugging and unplugging monitor DeviceChangedCallback

    inline synchronized void removeDevicesChangedCallback ()

      Remove device plug and unplug listener callback

    inline void enableDeviceClockSync(long repeatIntervalMs)

      Activates device clock synchronization to synchronize the clock of the host and all created devices (if supported).

      Parameters

        repeatIntervalMs – The interval for auto-repeated synchronization, in milliseconds. If the value is 0, synchronization is performed only once.

    inline void enableNetDeviceEnumeration(boolean enable)

      enable or disable net device enumeration.

      after enable, the net device will be discovered automatically and can be retrieved by queryDeviceList. The default state can be set in the configuration file.

      Attention

        Net device enumeration by gvcp protocol, if the device is not in the same subnet as the host, it will be discovered but cannot be connected.

      Parameters

        enable – true to enable, false to disable

    inline boolean isNetDeviceEnumerationEnable()

      Network device enumeration is enable

    inline Device createNetDevice(String address, int port)

      Create a network device object.

      Parameters

        - address – ip address

        - port – port

      Returns

        Target network device object

    inline void close()

      SDK Context resource release

    Public Static Functions

    static inline void setLoggerSeverity(LogSeverity severity)

      Setting the level of the global log will affect both the log level output to the console and the log output to the file

      Parameters

        severity – Output log levelLogSeverity

    static inline void setLoggerToConsole(LogSeverity severity)

      Set log parameters and output to console

      Parameters

        severity – Log output level LogSeverity

    static inline void setLoggerToFile(LogSeverity severity, String directory)

      Set log parameters and output to the specified file

      Parameters

        - severity – Log output level LogSeverity

        - directory – Save log file directory

    static inline void setLoggerToFile(LogSeverity severity, String directory, long maxFileSize, long maxFileNum)

      Set log parameters and output to the specified file

      Parameters

        - severity – Log output level LogSeverity

        - directory – Save log file directory

        - maxFileSize – Max size of each log file, unit: MB

        - maxFileNum – Max log file number

    static inline void loadLicense(String licenseFilePath, String key)

      Internal API: Config SDK license path

      Parameters

        - licenseFilePath – license file path

        - key – decrypt key,”OB_DEFAULT_DECRYPT_KEY” can be used to represent the default key

    static inline String getVersionName()

      Get SDK version name

      Returns

        SDK version name

    static inline int getVersionCode()

      Get SDK version number

      Returns

        SDK version number

    static inline String getStageVersion()

      Get sdk stage version. .

    static inline String getCoreVersionName()

      Get SDK kernel version name

      Returns

        SDK kernel version, major.minor.patch

    static inline int getCoreVersionCode()

      Get SDK kernel version number

      Returns

        Kernel version number

  class OBDataBundle
  class OBException : public RuntimeException

    Exception thrown by Orbbec sdk

    Public Functions

    inline OBException()

      Create Orbbec SDK exception

    inline OBException(String message)

      Create Orbbec SDK exception with specific information

      Parameters

        message – details

  class OBNetworkConfig

    Network config of IP v4

    Public Functions

    inline boolean isDhcpEnable()

      DHCP status.

      Note

      true: static IP; false: DHCP

    inline void setDhcpEnable(boolean dhcpEnable)

      DHCP status.

    inline String getIP()

      IP address, IP v4

    inline void setIP(String ip)

      IP address, IP v4

    inline String getMask()

      Mask, IP v4

    inline void setMask(String mask)

      Mask, IP v4

    inline String getGateway()

      Gateway, IP v4

    inline void setGateway(String gateway)

      Gateway, IP v4

  enum PermissionType

    Enumeration used to describe access rights for properties

    Public Functions

    inline PermissionType(int value)
    inline int value()

      Get the index value corresponding to a specific property enumeration

      Returns

        index value

    Public Members

    OB_PERMISSION_DENY =(0)

      no access

    OB_PERMISSION_READ =(1)

      readable

    OB_PERMISSION_WRITE =(2)

      writable

    OB_PERMISSION_READ_WRITE =(3)

      can read and write

    Public Static Functions

    static inline PermissionType get(int value)

      Get the attribute value corresponding to the specified index, read and write permission type enumeration

      Parameters

        value – index value

      Returns

        property enumeration

    Private Members

    final int mValue
  Pipeline : public com.orbbec.obsensor.LobClass

    pipeline: used to control data, it conflicts with the start method of the Sensor class, and the start method cannot be used to start the data stream at the same time. Additional operations can be extended, such as setting high-level interfaces such as data frame synchronization

    Public Functions

    inline Pipeline(Device device)

      Use the specified device to create a Pipeline. To create a Pipeline through this interface, you need to create the corresponding device first.

      See

        DeviceList::getDevice(int)

    inline Pipeline(String playbackFile)

      Use the playback file to create a pipeline object

      Parameters

        playbackFile – The playback file path used to create the pipeline

    inline void start(Config config)

      Open the data stream of the specified configuration. If you need to use the configuration in the configuration file to open the stream, pass null to config (if there is no configuration file in the case of config passing null, the first one in the open flow configuration list is used by default to open the stream. )

      Note: If the pipeline is created by playback file, it means start playback, at this time, config can pass null

      Parameters

        config – pipeline configuration Config

    inline void start(Config config, FrameSetCallback callback)

      Open the data stream of the specified configuration, and set the callback of the data frame set. If you need to use the configuration in the configuration file to open the stream, pass null to config (if there is no configuration file in the case of config passing null, the open stream configuration list is used by default. the first to open flow)

      Note: If the pipeline is created by the playback file, it means that the playback starts in the callback mode. At this time, config can pass null.

      Important: After the callback data frame is used up, FrameSet::close() and Frame::close() must be called to release resources.

      Parameters

        - config – pipeline configuration Config

        - callback – Data frame set callback FrameSetCallback

    inline void stop()

      stop data stream

    inline FrameSet waitForFrameSet(long timeoutMilliseconds)

      Query method to obtain data frame set Important: frameset must be called after the data frame is used, Close() and frame Close() releases resources

      Parameters

        timeoutMilliseconds – wait timeout

      Returns

        Data frameset FrameSet

    inline Config getConfig()

      Get the current pipeline configuration, which is configured by the start method

      Returns

        pipeline configuration Config

    inline void enableFrameSync()

      Enable frame sync

    inline void disableFrameSync()

      disable frame sync

    inline StreamProfileList getStreamProfileList(SensorType sensorType)

      Get the dataflow configuration supported by the specified sensor type

      Parameters

        sensorType – Sensor TypeSensorType

      Returns

        stream profile list StreamProfileList

    inline void switchConfig(Config config)

      Dynamically switch the corresponding config configuration

      Parameters

        config – pipeline configuration Config

    inline StreamProfileList getD2CDepthProfileList(StreamProfile colorProfile, AlignMode mode)

      Returns a list of D2C-enabled depth sensor resolutions corresponding to the input color sensor resolution

      Parameters

        - colorProfile – Input color sensor resolution StreamProfile

        - mode – The align mode of D2C AlignMode

      Returns

        a configuration list of matching depths

    inline OBRect getD2CValidArea(int distance)

      Valid area after getting D2C

      Parameters

        distance – Working distance(mm)

      Returns

        Returns the area information valid after D2c at the working distance OBRect

    inline OBRect getD2CRangeValidArea(int minimumDistance, int maximumDistance)

      Get valid area between minimum distance and maximum distance after D2C

      Parameters

        - minimumDistance – minimum working distance(mm)

        - maximumDistance – maximum working distance(mm)

      Returns

        returns the area information valid after D2C at working distance

    inline CameraParam getCameraParam()

      Get the camera parameters after D2C. When the pipeline is created by the playback file, the camera internal parameters of the playback device are obtained

      Returns

        Returns the aligned camera internal parameter CameraParam

    inline CameraParam getCameraParamWithProfile(int colorWidth, int colorHeight, int depthWidth, int depthHeight)

      Get camera parameters by entering color and depth resolution.

    inline void startRecord(String filePath)

      Start recording

      Parameters

        filePath – Recorded file path

    inline void stopRecord()

      stop recording

    inline Playback getPlayback()

      Get playback object from pipeline

      Returns

        Returns the playback object Playback

    inline void close()

      pipeline resource release

  Playback : public com.orbbec.obsensor.LobClass

    Data Playback

    Public Functions

    inline Playback(String filePath)

      Create playback

      Parameters

        filePath – playback file path

    inline void start(PlaybackCallback callback, MediaType mediaType)

      Start playback, playback data is returned from the callback

      Parameters

        - callback – Callback for playback data PlaybackCallback

        - mediaType – Type of playback data MediaType

    inline void stop()

      stop playback

    inline DeviceInfo getDeviceInfo()

      Get device information

      Returns

        returns device information DeviceInfo

    inline CameraParam getCameraParam()

      Get the intrinsic and extrinsic parameter information in the recording file

      Returns

        returns internal and external parameter information CameraParam

    inline void setMediaStateCallback(MediaStateCallback callback)

      Set media state callback

      Parameters

        callback – media state callback

    inline void close()

      Release callback resource

  interface PlaybackCallback

    Data frame playback callback interface

    Public Functions

    void onPlayback(Frame frame)

      Data frame playback callback

      Parameters

        frame – Data Frame

  PointCloudFilter : public com.orbbec.obsensor.Filter

    PointCloudFilter used to generate normal point cloud data, RGB point cloud data

    Public Functions

    inline PointCloudFilter()

      Create point cloud filter

    inline void setPointFormat(Format format)

      Set the generated point cloud format

      Parameters

        format – point cloud format Format

    inline void setCameraParam(CameraParam param)

      PointCloud Filter device camera parameters

      Parameters

        param – Camera parameter CameraParam

    inline void setD2CAlignStatus(boolean isAlign)

      Set D2C alignment state

      Parameters

        isAlign – D2C alignment status, true: aligned, false: not aligned

    inline void setPositionDataScale(float scale)

      Set the point cloud data scaling factor

      Parameters

        scale – Set the point cloud coordinate data zoom factor

    inline void setColorDataNormalization(boolean state)

      Set point cloud color data normalization

      Parameters

        state – Sets whether the point cloud color data is normalized

  PointFrame : public com.orbbec.obsensor.Frame

    Point cloud frame

    Public Functions

    inline void getPointCloudData (float[] data)

      Return point cloud frame data

      Parameters

        data – Data returned by point cloud frame

  enum PropertyType

    Property Type Description

    Public Functions

    inline PropertyType(int value)
    inline int value()

      Get the index value corresponding to a specific property enumeration

      Returns

        index value

    Public Members

    BOOL_PROPERTY =(0)

      property of boolean data

    INT_PROPERTY =(1)

      property of int data

    FLOAT_PROPERTY =(2)

      property of float data

    STRUCT_PROPERTY =(3)

      Properties corresponding to the underlying structure type data

    Public Static Functions

    static inline PropertyType get(int value)

      Get the property value type enumeration corresponding to the specified index

      Parameters

        value – index value

      Returns

        property enumeration

    Private Members

    final int mValue
  RawPhaseFrame : public com.orbbec.obsensor.VideoFrame

    Define the RawPhaseFrame class, which inherits from the VideoFrame class .

  Recorder : public com.orbbec.obsensor.LobClass

    data recorder

    Public Functions

    inline Recorder()

      Create a recorder

    inline Recorder(Device device)

      Create a recorder by specifying a device

      Parameters

        device – device Device

    inline void start(String fileName, boolean async)

      start recording

      Parameters

        - fileName – Recorded file name

        - async – Whether to record asynchronously

    inline void stop()

      Stop recording

    inline void writeFrame(Frame frame)

      Write frame data to the recorder

      Parameters

        frame – Written frame data Frame

    inline void close()

      release recorder resources

  enum SampleRate

    Enumeration of IMU sample rate values ​​(gyroscope or accelerometer)

    Public Functions

    inline SampleRate(int value)
    inline int value()

      Get the accelerometer or gyroscope sampling frequency enumeration value

      Returns

        index value

    Public Members

    ODR_1_5625_HZ =(1)

      1.5625Hz

    ODR_3_125_HZ =(2)

      3.125Hz

    ODR_6_25_HZ =(3)

      6.25Hz

    ODR_12_5_HZ =(4)

      12.5Hz

    ODR_25_HZ =(5)

      25Hz

    ODR_50_HZ =(6)

      50Hz

    ODR_100_HZ =(7)

      100Hz

    ODR_200_HZ =(8)

      200Hz

    ODR_500_HZ =(9)

      500Hz

    ODR_1_KHZ =(10)

      1KHz

    ODR_2_KHZ =(11)

      2KHz

    ODR_4_KHZ =(12)

      4KHz

    ODR_8_KHZ =(13)

      8KHz

    ODR_16_KHZ =(14)

      16KHz

    ODR_32_KHZ =(15)

      32Hz

    Public Static Functions

    static inline SampleRate get(int value)

      Get accelerometer or gyroscope sampling frequency enumeration

      Parameters

        value – index value

      Returns

        Accelerometer or gyroscope sampling frequency enumeration

    Private Members

    final int mValue
  Sensor : public com.orbbec.obsensor.LobClass

    Expose orbbec sensor function

    Public Functions

    inline SensorType getType()

      Get sensor type

      Returns

        Sensor Type SensorType

    inline StreamProfileList getStreamProfileList()

      Get the data stream configuration information supported by the sensor

      Returns

        The list of data stream configuration information supported by the sensor StreamProfileList

    inline void start(StreamProfile profile, FrameCallback callback)

      Open the sensor data stream, it cannot be used with the pipeline at the same time. If the configuration in the configuration file is used to open the stream, the profile will pass null (if there is no configuration file when the null is passed, the first configuration in the configuration file list will be used by default. )

      Important: After the callback data frame is used up, Frame.close() must be called to release resources.

      Parameters

        - profile – Data stream configuration StreamProfile

        - callback – Data callback FrameCallback

    inline void stop()

      turn off sensor data stream

    inline void switchProfile(StreamProfile profile)

      Dynamically switch resolutions

      Parameters

        profile – resolution that needs to be switched StreamProfile

    inline void close()

      release sensor resources

  enum SensorType

    Enumeration value describing the sensor type

    Public Functions

    inline SensorType(int value)
    inline int value()

      Get the index corresponding to the sensor type

      Returns

        index value

    Public Members

    UNKNOWN =(0)

      Unknown type sensor

    IR =(1)

      infrared

    COLOR =(2)

      color

    DEPTH =(3)

      depth

    ACCEL =(4)

      accelerometer

    GYRO =(5)

      gyro

    IR_LEFT =(6)

      Left IR

    IR_RIGHT =(7)

      Right IR

    RAW_PHASE =(8)

      Raw Phase

    Public Static Functions

    static inline SensorType get(int value)

      Get the sensor type corresponding to the specified index

      Parameters

        value – index value

      Returns

        sensor type

    Private Members

    final int mValue
  StreamProfile : public com.orbbec.obsensor.LobClass

    Data stream configuration base class

    Subclassed by com.orbbec.obsensor.AccelStreamProfile, com.orbbec.obsensor.GyroStreamProfile, com.orbbec.obsensor.VideoStreamProfile

    Public Functions

    inline Format getFormat()

      Get data stream format

      Returns

        stream format Format

    inline StreamType getType()

      Get data stream type

      Returns

        stream type StreamType

    inline void close()

      resources release

  StreamProfileList : public com.orbbec.obsensor.LobClass

    stream profile list

    Public Functions

    inline int getStreamProfileCount()

      get stream profile count

      Returns

        stream profile count

    inline StreamProfile getStreamProfile(int index)

      Get the configuration according to the specified index in the stream configuration list

      Parameters

        index – index value

      Returns

        stream configuration StreamProfile

    inline VideoStreamProfile getVideoStreamProfile(int width, int height, Format format, int fps)

      Match the corresponding StreamProfile through the passed parameters, if there are multiple matches, the first one in the list will be returned by default

      Parameters

        - width – Width, if no matching width is required, pass 0

        - height – Height, if no matching height is required, pass 0

        - format – Type Format , if no matching type is required, pass Format#UNKNOWN

        - fps – Frame rate, pass 0 if there is no need to match the frame rate

      Returns

        Returns the matching stream configuration

    inline void close()

      resources release

  enum StreamType

    Enumeration value describing the type of data stream

    Public Functions

    inline StreamType(int value)
    inline int value()

      Get the index corresponding to the data stream type

      Returns

        index value

    Public Members

    VIDEO =(0)

      Video stream (infrared, color, depth streams are all video streams)

    IR =(1)

      infrared stream

    COLOR =(2)

      color stream

    DEPTH =(3)

      depth stream

    ACCEL =(4)

      Accelerometer data stream

    GYRO =(5)

      Gyroscope data stream

    IR_LEFT =(6)

      Left IR stream

    IR_RIGHT =(7)

      Right IR stream

    RAW_PHASE =(8)

      RawPhase Stream

    Public Static Functions

    static inline StreamType get(int value)

      Get the data stream type corresponding to the specified index

      Parameters

        value – index value

      Returns

        data stream type

    Private Members

    final int mValue
  enum SyncMode

    The synchronization mode of the device.

    Public Functions

    inline SyncMode(int value)
    inline int value()

      Enum value of int

    Public Members

    OB_MULTI_DEVICE_SYNC_MODE_FREE_RUN =(1 << 0)

      free run mode

      The device does not synchronize with other devices,

      The Color and Depth can be set to different frame rates.

    OB_MULTI_DEVICE_SYNC_MODE_STANDALONE =(1 << 1)

      standalone mode

      The device does not synchronize with other devices.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized.

    OB_MULTI_DEVICE_SYNC_MODE_PRIMARY =(1 << 2)

      primary mode

      The device is the primary device in the multi-device system, it will output the trigger signal via VSYNC_OUT pin on synchronization port by default.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized and can be adjusted by colorDelayUs, depthDelayUs or trigger2ImageDelayUs.

    OB_MULTI_DEVICE_SYNC_MODE_SECONDARY =(1 << 3)

      secondary mode

      The device is the secondary device in the multi-device system, it will receive the trigger signal via VSYNC_IN pin on synchronization port. It will out the trigger signal via VSYNC_OUT pin on synchronization port by default.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized and can be adjusted by colorDelayUs, depthDelayUs or trigger2ImageDelayUs.

      After starting the stream, the device will wait for the trigger signal to start capturing images, and will stop capturing images when the trigger signal is stopped.

      Attention

        The frequency of the trigger signal should be same as the frame rate of the stream profile which is set when starting the stream.

    OB_MULTI_DEVICE_SYNC_MODE_SECONDARY_SYNCED =(1 << 4)

      secondary synced mode

      The device is the secondary device in the multi-device system, it will receive the trigger signal via VSYNC_IN pin on synchronization port. It will out the trigger signal via VSYNC_OUT pin on synchronization port by default.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized and can be adjusted by colorDelayUs, depthDelayUs or trigger2ImageDelayUs.

      After starting the stream, the device will be immediately start capturing images, and will adjust the capture time when the trigger signal is received to synchronize with the primary device. If the trigger signal is stopped, the device will still capture images.

      Attention

        The frequency of the trigger signal should be same as the frame rate of the stream profile which is set when starting the stream.

    OB_MULTI_DEVICE_SYNC_MODE_SOFTWARE_TRIGGERING =(1 << 5)

      software triggering mode

      The device will start one time image capture after receiving the capture command and will output the trigger signal via VSYNC_OUT pin by default. The capture command can be sent form host by call ob_device_trigger_capture. The number of images captured each time can be set by framesPerTrigger.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized and can be adjusted by colorDelayUs, depthDelayUs or trigger2ImageDelayUs.

      The frequency of the user call ob_device_trigger_capture to send the capture command multiplied by the number of frames per trigger should be less than the frame rate of the stream profile which is set when starting the stream.

    OB_MULTI_DEVICE_SYNC_MODE_HARDWARE_TRIGGERING =(1 << 6)

      hardware triggering mode

      The device will start one time image capture after receiving the trigger signal via VSYNC_IN pin on synchronization port and will output the trigger signal via VSYNC_OUT pin by default. The number of images captured each time can be set by framesPerTrigger.

      The Color and Depth should be set to same frame rates, the Color and Depth will be synchronized and can be adjusted by colorDelayUs, depthDelayUs or trigger2ImageDelayUs.

      Attention

        The frequency of the trigger signal multiplied by the number of frames per trigger should be less than the frame rate of the stream profile which is set when starting the stream.

      Attention

        The trigger signal input via VSYNC_IN pin on synchronization port should be ouput by other device via VSYNC_OUT pin in hardware triggering mode or software triggering mode.

      Attention

        Due to different models may have different signal input requirements, please do not use different models to output trigger signal as input-trigger signal.

    Public Static Functions

    static inline SyncMode get(int value)

      Convert int value to SyncMode

    Private Members

    final int mValue
  class TimestampResetConfig

    The timestamp reset configuration of the device.

    Public Functions

    inline boolean isEnable()

      Whether to enable the timestamp reset function.

      If the timestamp reset function is enabled, the timer for calculating the timestamp for output frames will be reset to 0 when the timestamp reset command or timestamp reset signal is received, and one timestamp reset signal will be output via TIMER_SYNC_OUT pin on synchronization port by default. The timestamp reset signal is input via TIMER_SYNC_IN pin on the synchronization port.

      Attention

        For some models, the timestamp reset function is always enabled and cannot be disabled.

    inline void setEnable(boolean enable)

      Whether to enable the timestamp reset function.

      If the timestamp reset function is enabled, the timer for calculating the timestamp for output frames will be reset to 0 when the timestamp reset command or timestamp reset signal is received, and one timestamp reset signal will be output via TIMER_SYNC_OUT pin on synchronization port by default. The timestamp reset signal is input via TIMER_SYNC_IN pin on the synchronization port.

      Attention

        For some models, the timestamp reset function is always enabled and cannot be disabled.

    inline int getTimestampResetDelayUs()

      The delay time of executing the timestamp reset function after receiving the command or signal in microseconds. .

    inline void setTimestampResetDelayUs(int delayUs)

      The delay time of executing the timestamp reset function after receiving the command or signal in microseconds. .

    inline boolean isTimestampResetSignalOutputEnable()

      the timestamp reset signal output enable flag.

      Attention

        For some models, the timestamp reset signal output is always enabled and cannot be disabled.

    inline void setTimestampResetSignalOutputEnable(boolean enable)

      the timestamp reset signal output enable flag.

      Attention

        For some models, the timestamp reset signal output is always enabled and cannot be disabled.

  interface UpgradeCallback

    Firmware upgrade callback class

    Public Functions

    void onCallback(short state, short percent, String msg)

      Firmware upgrade callback

      Parameters

        - state – current state

        - msg – status information

        - percent – Current status progress, percentage 0~100

    Public Members

    short STAT_FILE_TRANSFER = 4

      Firmware file transfer status

    short STAT_DONE = 3

      Firmware upgrade complete

    short STAT_IN_PROGRESS = 2

      Firmware upgrade in progress

    short STAT_START = 1

      Firmware upgrade starts

    short STAT_VERIFY_IMAGE = 0

      Firmware file verification

    short ERR_VERIFY = -1

      Firmware file verification failed

    short ERR_PROGRAM = -2

      program error

    short ERR_ERASE = -3

      Erase failed

    short ERR_FLASH_TYPE = -4

      flash type failed

    short ERR_IMG_SIZE = -5

      Firmware file size failed

    short ERR_OTHER = -6

      other errors

    short ERR_DDR = -7

      DDR error

    short ERR_TIMEOUT = -8

      Upgrade timed out

  VideoFrame : public com.orbbec.obsensor.Frame

    Base class for ColorFrame, DepthFrame, IRFrame

    Subclassed by com.orbbec.obsensor.ColorFrame, com.orbbec.obsensor.DepthFrame, com.orbbec.obsensor.IRFrame, com.orbbec.obsensor.RawPhaseFrame

    Public Functions

    inline int getWidth()

      Get the height of the data frame

      Returns

        height of the data frame

    inline int getHeight()

      Get the width of the data frame

      Returns

        width of the data frame

    inline int getPixelAvailableBitSize()

      Get the effective number of pixels (such as Y16 format frame, but only the lower 10 bits are valid bits, and the upper 6 bits are filled with 0) Only valid for Y8/Y10/Y11/Y12/Y14/Y16 format

      Returns

        Returns the effective number of pixels in pixels, or 0 if it is an unsupported format

  VideoStreamProfile : public com.orbbec.obsensor.StreamProfile

    Data stream configuration for Color, Depth, IR stream

    Public Functions

    inline int getWidth()

      Get data stream width

      Returns

        data stream width

    inline int getHeight()

      Get data flow height

      Returns

        data flow height

    inline int getFps()

      Get data stream frame rate per second

      Returns

        streaming frame rate

    inline void close()

      resource release

  namespace datatype
    CameraDistortion : public com.orbbec.obsensor.DataType

      Distortion Parameters

      Public Functions

      inline float getK1()

        Get Radial Distortion Factor 1

        Returns

          Radial distortion factor 1

      inline float getK2()

        Get Radial Distortion Factor 2

        Returns

          Radial distortion factor 2

      inline float getK3()

        Get Radial Distortion Factor 3

        Returns

          Radial distortion factor 3

      inline float getK4()

        Get Radial Distortion Factor 4

        Returns

          Radial distortion factor 4

      inline float getK5()

        Get Radial Distortion Factor 5

        Returns

          Radial distortion factor 5

      inline float getK6()

        Get Radial Distortion Factor 6

        Returns

          Radial distortion factor 6

      inline float getP1()

        Get the tangential distortion factor 1

        Returns

          Tangential distortion factor 1

      inline float getP2()

        Get the tangential distortion factor 2

        Returns

          Tangential distortion factor 2

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    CameraIntrinsic : public com.orbbec.obsensor.DataType

      Camera internal parameters

      Public Functions

      inline float getFx()

        Get the focal length in the x direction, unit: pixel

        Returns

          returns the focal length in the x-direction

      inline float getFy()

        Get the focal length in the y direction, unit: pixel

        Returns

          returns the y-direction focal length

      inline float getCx()

        Get the abscissa of the optical center

        Returns

          returns the abscissa of the optical center

      inline float getCy()

        Get the ordinate of the optical center

        Returns

          returns the ordinate of the optical center

      inline short getWidth()

        get image width

        Returns

          returns image width

      inline short getHeight()

        get image height

        Returns

          returns image height

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    CompressionParams : public com.orbbec.obsensor.DataType

      Compression parameters

      Public Functions

      inline void setThreshold(int threshold)

        Setter, Lossy compression threshold, range [0~255], recommended value is 9, the higher the threshold, the higher the compression ratio.

      inline int getThreshold()

        Getter, Lossy compression threshold, range [0~255], recommended value is 9, the higher the threshold, the higher the compression ratio.

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    D2CTransform : public com.orbbec.obsensor.DataType

      Rotation/Transformation Matrix

      Public Functions

      inline float[] getRot ()

        Get rotation matrix, row-major

        Returns

          rotation matrix

      inline float[] getTrans ()

        get transformation matrix

        Returns

          transformation matrix

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    DeviceTemperature : public com.orbbec.obsensor.DataType

      Device temperature information

      Public Functions

      inline float getCpuTemp()

        Get CPU temperature, unit: Celsius

        Returns

          CPU temperature

      inline float getIrTemp()

        Get IR sensor temperature, unit: Celsius

        Returns

          IR sensor temperature

      inline float getLdmTemp()

        Get the temperature of the laser module, unit: Celsius

        Returns

          Laser module temperature

      inline float getMainBoardTemp()

        Get the motherboard temperature, unit: Celsius

        Returns

          motherboard temperature

      inline float getTecTemp()

        Get the TEC temperature in degrees Celsius

        Returns

          TEC temperature

      inline float getImuTemp()

        Get IMU sensor temperature, unit: Celsius

        Returns

          IMU sensor temperature

      inline float getRgbTemp()

        Get RGB sensor temperature, unit: Celsius

        Returns

          RGB sensor temperature

      inline float getIrLeftTemp()

        Get temperature of Left IR, unit: degree Celsius

        Returns

          Left IR sensor temperature

      inline float getIrRightTemp()

        Get temperature of Right IR, unit: degree Celsius

        Returns

          Right IR sensor temperature

      inline float getChipTopTemp()

        Get top temperature of MX6600 chip. unit: degree Celsius

      inline float getChipBottomTemp()

        Get bottom temperature of MX6600 chip. unit: degree Celsius

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    ExposureThresholdControl : public com.orbbec.obsensor.DataType

      TOF Exposure Threshold

      Public Functions

      inline int getUpper()

        Get the upper limit of the threshold, unit: ms

        Returns

          upper threshold

      inline int getLower()

        Get the lower limit of the threshold, unit: ms

        Returns

          lower threshold

      inline void setUpper(int upper)

        Set the upper limit of the threshold, unit: ms

        Parameters

          upper – upper threshold value

      inline void setLower(int lower)

        Set the lower limit of the threshold, unit: ms

        Parameters

          lower – Lower threshold value

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure

    OBRect : public com.orbbec.obsensor.DataType

      Rectangle description

      Public Functions

      inline int getX()

        Get the x-coordinate of the origin of the rectangle

        Returns

          returns the x-coordinate of the origin of the rectangle

      inline int getY()

        Get the y-coordinate of the origin of the rectangle

        Returns

          returns the y coordinate of the origin of the rectangle

      inline int getWidth()

        get rectangle width

        Returns

          returns the width of the rectangle

      inline int getHeight()

        get rectangle height

        Returns

          returns the height of the rectangle

      inline int BYTES()

        Get the number of bytes occupied by the Native structure

        Returns

          The number of bytes occupied by the Native structure