RMVL  1.5.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到

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

#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)
inlinevirtual

添加追踪器至序列组

注解
  • 当捕获到的新追踪器 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
inlinevirtual

判断是否为无效序列组

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

丢帧数量


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