| RMVL 1.5.2 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Protected 属性 | 所有成员列表
rm::group类 参考abstract
序列组/相关追踪器的空间集合（数据组件）

相关追踪器的空间集合（序列组） 更多...

`#include <rmvl/group/group.h>`

类 rm::group 继承关系图:
rm::group 的协作图:

## Public 类型
using | ptr = std::shared_ptr<group>
using | const_ptr = std::shared_ptr<const group>

## Public 成员函数
virtual ptr | clone ()=0
| 从另一个序列组进行构造
virtual void | sync (const ImuData &imu_data, double tick)=0
| 序列组同步操作
virtual void | add (tracker::ptr p_tracker)
| 添加追踪器至序列组
virtual bool | invalid () const
| 判断是否为无效序列组
auto & | data ()
| 获取同组所有的追踪器数据
size_t | size () const
| 获取同组追踪器的数量
bool | empty () const
| 判断同组追踪器是否为空
tracker::ptr | at (size_t idx) const
| 获取指定追踪器
const auto & | center () const
| 获取序列组中心
uint32_t | getVanishNumber () const
| 获取丢帧数量
RMStatus | type () const
| 获取该组类型

## Protected 属性
std::vector< tracker::ptr > | _trackers
| 同组追踪器
cv::Point2f | _center
| 序列组中心
bool | _is_tracked {}
| 是否为目标序列组
uint32_t | _vanish_num {}
| 丢帧数量
RMStatus | _type {}
| 序列组各状态

## 详细描述

相关追踪器的空间集合（序列组）

## 成员类型定义说明

## ◆ const_ptr

using rm::group::const_ptr = std::shared_ptr<const group>

## ◆ ptr

using rm::group::ptr = std::shared_ptr<group>

## 成员函数说明

## ◆ add()

virtual void rm::group::add | ( | tracker::ptr | p_tracker | ) |
| inline virtual

添加追踪器至序列组

注解
  - 当捕获到的新追踪器 `p_tracker` 计划更新至内部 `_trackers` 时，可调用此方法完成更新
  - 需要注意的是，此方法不执行同步操作 `sync()`，其派生类在实现过程中也需统一，避免执行 `sync()`

参数

  p_tracker | 新的追踪器 `tracker`

## ◆ at()

tracker::ptr rm::group::at | ( | size_t | idx | ) | const
| inline

获取指定追踪器

参数

  [in] | idx | 追踪器下标

## ◆ center()

const auto & rm::group::center | ( |  | ) | const
| inline

获取序列组中心

返回
  序列组中心

## ◆ clone()

virtual ptr rm::group::clone | ( |  | ) |
| pure virtual

从另一个序列组进行构造

返回
  指向新序列组的共享指针

在 rm::DefaultGroup, rm::GyroGroup , 以及 rm::RuneGroup 内被实现.

## ◆ data()

auto & rm::group::data | ( |  | ) |
| inline

获取同组所有的追踪器数据

注解
  若仅需要对 `vector<tracker::ptr>` 做数据处理，使用此方法可直接实现 group 至 tracker 的退化

返回
  同组追踪器

## ◆ empty()

bool rm::group::empty | ( |  | ) | const
| inline

判断同组追踪器是否为空

返回
  同组追踪器是否为空

## ◆ getVanishNumber()

uint32_t rm::group::getVanishNumber | ( |  | ) | const
| inline

获取丢帧数量

返回
  丢帧数量

## ◆ invalid()

virtual bool rm::group::invalid | ( |  | ) | const
| inline virtual

判断是否为无效序列组

被 rm::GyroGroup 重载.

## ◆ size()

size_t rm::group::size | ( |  | ) | const
| inline

获取同组追踪器的数量

返回
  同组追踪器的数量

## ◆ sync()

virtual void rm::group::sync | ( | const ImuData & | imu_data,
|  | double | tick )
| pure virtual

序列组同步操作

注解
  根据当前已知的所有的 `tracker` 信息，同步整体 `group` 的内部数据，例如序列组中心，自主构造新的 `tracker` 等

参数

  [in] | imu_data | 最新 IMU 数据
  [in] | tick | 最新时间点

在 rm::DefaultGroup, rm::GyroGroup , 以及 rm::RuneGroup 内被实现.

## ◆ type()

RMStatus rm::group::type | ( |  | ) | const
| inline

获取该组类型

返回
  RMStatus 该组类型

## 类成员变量说明

## ◆ _center

cv::Point2f rm::group::_center
| protected

序列组中心

## ◆ _is_tracked

bool rm::group::_is_tracked {}
| protected

是否为目标序列组

## ◆ _trackers

std::vector<tracker::ptr> rm::group::_trackers
| protected

同组追踪器

## ◆ _type

RMStatus rm::group::_type {}
| protected

序列组各状态

## ◆ _vanish_num

uint32_t rm::group::_vanish_num {}
| protected

丢帧数量

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

- rmvl/group/group.h