OrbbecSDK2 2.0.2
OrbbecSDK2: New generation Software-Development-Kit for Orbbec 3D-Sensor devices
载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | 静态 Protected 成员函数 | Protected 属性 | 所有成员列表
ob2::context类 参考

SDK context (上下文),用于 SDK 的生命周期管理,SDK 内部所有模块的加载及初始化,线程创建都依赖 context 的创建。 更多...

#include <OB2Context.hpp>

Public 成员函数

 context (std::string config_file_path=OB2_DEFAULT_SDK_CONFIG_FILE_PATH)
 context 构造函数 更多...
 
virtual ~context () noexcept
 Context 析构函数 更多...
 
virtual std::vector< ob2_device_installation_info_tget_installed_device_info_list ()
 获取已安装的设备信息列表 更多...
 
virtual std::shared_ptr< deviceopen_device (uint32_t index)
 通过索引号打开设备 更多...
 
virtual std::shared_ptr< deviceopen_device_by_serial_number (const std::string &serial_number)
 通过序列号打开设备 更多...
 
virtual std::shared_ptr< deviceopen_device_by_url (const std::string &url)
 通过 URL 打开设备 更多...
 
virtual std::shared_ptr< deviceopen_net_device (const std::string &address, uint16_t port=8090)
 打开网络设备 更多...
 
virtual void set_device_installed_callback (device_info_cb cb)
 设置设备安装(上线)回调 更多...
 
virtual void set_device_removed_callback (device_info_cb cb)
 设置设备移除(掉线)回调 更多...
 

静态 Public 成员函数

static ob2_version_t get_version () noexcept
 获取 SDK 版本号 更多...
 
static ob2_version_t get_core_version () noexcept
 获取 SDK 核心版本号 更多...
 
static void set_log_severity_threshold (ob2_logger_type_t logger_type, ob2_log_severity_t severity)
 设置日志等级 更多...
 
static void set_log_output_directory (const std::string &directory)
 设置日志输出文件目录 更多...
 

静态 Protected 成员函数

static void device_installed_callback (ob2_device_installation_info_t device_info, void *user_data)
 
static void device_removed_callback (ob2_device_installation_info_t device_info, void *user_data)
 

Protected 属性

device_info_cb m_device_installed_callback
 
device_info_cb m_device_removed_callback
 
ob2_context_t m_context_handle
 

详细描述

SDK context (上下文),用于 SDK 的生命周期管理,SDK 内部所有模块的加载及初始化,线程创建都依赖 context 的创建。

在文件 OB2Context.hpp26 行定义.

构造及析构函数说明

◆ context()

ob2::context::context ( std::string  config_file_path = OB2_DEFAULT_SDK_CONFIG_FILE_PATH)
inline

context 构造函数

参数
config_file_path配置文件路径;默认值为 OB2_DEFAULT_SDK_CONFIG_FILE_PATH ,此时 SDK 会从默认路径(./OrbbecSDKConfig_v1.0.xml)加载配置文件。

在文件 OB2Context.hpp44 行定义.

◆ ~context()

virtual ob2::context::~context ( )
inlinevirtualnoexcept

Context 析构函数

在文件 OB2Context.hpp61 行定义.

成员函数说明

◆ get_version()

static ob2_version_t ob2::context::get_version ( )
inlinestaticnoexcept

获取 SDK 版本号

返回
ob2_version_t 返回 SDK 版本号

在文件 OB2Context.hpp84 行定义.

◆ get_core_version()

static ob2_version_t ob2::context::get_core_version ( )
inlinestaticnoexcept

获取 SDK 核心版本号

返回
ob2_version_t 返回 SDK 版本号

在文件 OB2Context.hpp103 行定义.

◆ set_log_severity_threshold()

static void ob2::context::set_log_severity_threshold ( ob2_logger_type_t  logger_type,
ob2_log_severity_t  severity 
)
inlinestatic

设置日志等级

可通过设置日志等级过滤掉一些不必要的日志输出,默认等级为 OB2_LOG_SEVERITY_INFO

参数
[in]logger_type日志输出类型(终端或者文件)
[in]severity日志等级

在文件 OB2Context.hpp126 行定义.

◆ set_log_output_directory()

static void ob2::context::set_log_output_directory ( const std::string &  directory)
inlinestatic

设置日志输出文件目录

日志文件名由 SDK 自动生成,输出目录默认为: ./Log,可通过本接口修改输出目录

参数
[in]directory日志输出目录

在文件 OB2Context.hpp150 行定义.

◆ get_installed_device_info_list()

virtual std::vector< ob2_device_installation_info_t > ob2::context::get_installed_device_info_list ( )
inlinevirtual

获取已安装的设备信息列表

注意
安装设备信息仅有一些基础信息(PID、SN、URL 等),详细的设备信息需要打开设备后通过 device::get_info 接口获取
返回
std::vector<ob2_device_installation_info_t> 返回当前已安装的设备信息列表

在文件 OB2Context.hpp177 行定义.

◆ open_device()

virtual std::shared_ptr< device > ob2::context::open_device ( uint32_t  index)
inlinevirtual

通过索引号打开设备

注意
索引号 @index 范围为 [0, count-1] (count 为当前已安装的设备信息列表长度),传入范围外的数值将会抛出 std::logic_error 异常。
通过索引号打开设备是不安全的,新设备安装或设备掉线都可能会导致索引号绑定的设备发生改变,甚至可能会导致 @index 超出范围而报错。 推荐使用 context::open_device_by_serial_numbercontext::open_device_by_url 接口。
参数
[in]index设备索引号
返回
std::shared_ptr<device> 返回设备对象智能指针

在文件 OB2Context.hpp218 行定义.

◆ open_device_by_serial_number()

virtual std::shared_ptr< device > ob2::context::open_device_by_serial_number ( const std::string &  serial_number)
inlinevirtual

通过序列号打开设备

注意
如果已安装的设备中未找到与 @serial_number 相匹配的设备将会抛出 std::runtime_error 异常。
参数
[in]serial_number设备序列号,可通过设备安装信息获取或通过设备机身粘贴的序列号获取
返回
std::shared_ptr<device> 返回设备对象智能指针

在文件 OB2Context.hpp247 行定义.

◆ open_device_by_url()

virtual std::shared_ptr< device > ob2::context::open_device_by_url ( const std::string &  url)
inlinevirtual

通过 URL 打开设备

注意
URL 是设备接入主机后由操作系统分配的路径,是再当前主机上已安装的设备的唯一标识。但是同一台设备在不同主机甚至同一台 主机不同时间和不同接口接入,URL 都可能会不一样。
如果已安装的设备中未找到与 @url 相匹配的设备将会抛出 std::runtime_error 异常。
参数
[in]url设备安装路径
返回
std::shared_ptr<device> 返回设备对象智能指针

在文件 OB2Context.hpp280 行定义.

◆ open_net_device()

virtual std::shared_ptr< device > ob2::context::open_net_device ( const std::string &  address,
uint16_t  port = 8090 
)
inlinevirtual

打开网络设备

注意
网络设备不在已安装设备之列,不能通过已安装设备信息确定网络设备是否在线,所以需要用户自行确保设备已上线。
如果传入的 @address 和 @port 未能连接到设备,将会将会抛出 std::runtime_error 异常。
参数
[in]address网络设备地址,IPv4 协议 IP 地址字符串,格式如:"192.168.1.10"
[in]port网络设备端口,设备默认端口为 8090
返回
std::shared_ptr<device> 返回设备对象智能指针

在文件 OB2Context.hpp313 行定义.

◆ set_device_installed_callback()

virtual void ob2::context::set_device_installed_callback ( device_info_cb  cb)
inlinevirtual

设置设备安装(上线)回调

设置回调后,当有新设备接入并完成驱动加载后,会调用设置的回调函数,此时用户可以通过回调的信息打开设备

参数
[in]cb设备安装回调函数

在文件 OB2Context.hpp338 行定义.

◆ set_device_removed_callback()

virtual void ob2::context::set_device_removed_callback ( device_info_cb  cb)
inlinevirtual

设置设备移除(掉线)回调

设置回调后,当有设备出现掉线情况,会立即调用设置的回调函数,回调函数会传会掉线设备的信息。

注意
出现设备掉线后,如果掉线的设备是已打开的设备,应立即停止对该设备的访问,并关闭设备。
参数
[in]cb设备移除回调函数

在文件 OB2Context.hpp368 行定义.

◆ device_installed_callback()

static void ob2::context::device_installed_callback ( ob2_device_installation_info_t  device_info,
void *  user_data 
)
inlinestaticprotected

在文件 OB2Context.hpp377 行定义.

被这些函数引用 set_device_installed_callback().

◆ device_removed_callback()

static void ob2::context::device_removed_callback ( ob2_device_installation_info_t  device_info,
void *  user_data 
)
inlinestaticprotected

在文件 OB2Context.hpp384 行定义.

被这些函数引用 set_device_removed_callback().

类成员变量说明

◆ m_device_installed_callback

device_info_cb ob2::context::m_device_installed_callback
protected

在文件 OB2Context.hpp392 行定义.

被这些函数引用 set_device_installed_callback().

◆ m_device_removed_callback

device_info_cb ob2::context::m_device_removed_callback
protected

在文件 OB2Context.hpp393 行定义.

被这些函数引用 set_device_removed_callback().

◆ m_context_handle

ob2_context_t ob2::context::m_context_handle
protected

该类的文档由以下文件生成: