| RMVL 2.4.0 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
| 判断是否为无效序列组
std::vector< rm::tracker::ptr > & | data ()
| 获取同组所有的追踪器数据
size_t | size () const
| 获取同组追踪器的数量
bool | empty () const
| 判断同组追踪器是否为空
tracker::ptr | at (size_t idx) const
| 获取指定追踪器
const cv::Point2f & | center () const
| 获取序列组中心
uint32_t | getVanishNumber () const
| 获取丢帧数量
const StateInfo & | state () const
| 获取序列组状态
StateInfo & | state ()
| 获取序列组状态

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

## 详细描述

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

## 成员类型定义说明

## ◆ 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

Python:
| rm.group.add( | tracker | ) -> | None

添加追踪器至序列组

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

参数

  p_tracker | 新的追踪器 tracker

## ◆ at()

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

Python:
| rm.group.at( | idx | ) -> | <Tracker>

获取指定追踪器

参数

  [in] | idx | 追踪器下标

## ◆ center()

const cv::Point2f & rm::group::center | ( |  | ) | const
| inline

Python:
| rm.group.center( |  | ) -> | x, y

获取序列组中心

返回
  序列组中心

## ◆ clone()

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

Python:
| rm.group.clone( |  | ) -> | <rm.group object>

从另一个序列组进行构造

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

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

## ◆ data()

std::vector< rm::tracker::ptr > & rm::group::data | ( |  | ) |
| inline

Python:
| rm.group.data( |  | ) -> | <List of Trackers>

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

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

返回
  同组追踪器

## ◆ empty()

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

Python:
| rm.group.empty( |  | ) -> | <Is Empty ?>

判断同组追踪器是否为空

返回
  同组追踪器是否为空

## ◆ getVanishNumber()

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

Python:
| rm.group.getVanishNumber( |  | ) -> | num

获取丢帧数量

返回
  丢帧数量

## ◆ invalid()

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

Python:
| rm.group.invalid( |  | ) -> | <Is Invalid ?>

判断是否为无效序列组

被 rm::GyroGroup 重载.

## ◆ size()

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

Python:
| rm.group.size( |  | ) -> | <Size of Trackers>

获取同组追踪器的数量

返回
  同组追踪器的数量

## ◆ state() [1/2]

StateInfo & rm::group::state | ( |  | ) |
| inline

Python:
| rm.group.state( |  | ) -> | val

获取序列组状态

返回
  序列组状态

## ◆ state() [2/2]

const StateInfo & rm::group::state | ( |  | ) | const
| inline

Python:
| rm.group.state( |  | ) -> | val

获取序列组状态

返回
  序列组状态

## ◆ sync()

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

Python:
| rm.group.sync( | imu, t | ) -> | None

序列组同步操作

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

参数

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

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

## 类成员变量说明

## ◆ _center

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

序列组中心

## ◆ _is_tracked

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

是否为目标序列组

## ◆ _state

StateInfo rm::group::_state {}
| protected

序列组各状态信息

## ◆ _trackers

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

同组追踪器

## ◆ _vanish_num

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

丢帧数量