RMVL  1.2.0
Robotic Manipulation and Vision Library
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | 所有成员列表

神符(能量机关) 更多...

#include <rmvl/combo/rune.h>

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

Public 类型

using ptr = std::shared_ptr< Rune >
 
using const_ptr = std::shared_ptr< const Rune >
 
- Public 类型 继承自 rm::combo
using ptr = std::shared_ptr< combo >
 
using const_ptr = std::shared_ptr< const combo >
 

Public 成员函数

 Rune (RuneTarget::ptr p_target, RuneCenter::ptr p_center, const GyroData &gyro_data, double tick)
 
 Rune (const Rune &)=delete
 
 Rune (Rune &&)=delete
 
float getFeatureDis () const
 3D 空间下神符特征间距 更多...
 
bool isActive ()
 是否激活 更多...
 
- Public 成员函数 继承自 rm::combo
virtual ~combo ()=0
 
float getHeight () const
 获取组合体高度 更多...
 
float getWidth () const
 获取组合体宽度 更多...
 
float getAngle () const
 获取组合体角度 更多...
 
cv::Point2f getCenter () const
 获取组合体中心点 更多...
 
const std::vector< cv::Point2f > & getCorners () const
 获取组合体角点 更多...
 
const CameraExtrinsicsgetExtrinsics () const
 获取组合体相机外参 更多...
 
RMStatus getType () const
 获取组合体类型 更多...
 
double getTick () const
 获取捕获该组合体的时间点 更多...
 
cv::Point2f getRelativeAngle () const
 获取组合体的相对目标转角 更多...
 
const GyroDatagetGyroData () const
 获取组合体当前的陀螺仪数据 更多...
 
feature::ptr at (size_t idx)
 获取指定特征 更多...
 
const feature::const_ptr at (size_t idx) const
 获取指定特征 更多...
 
const auto & data () const
 获取特征列表数据 更多...
 
size_t size () const
 获取特征列表大小 更多...
 
bool empty () const
 判断特征列表是否为空 更多...
 

静态 Public 成员函数

static std::shared_ptr< Runemake_combo (RuneTarget::ptr p_target, RuneCenter::ptr p_center, const GyroData &gyro_data, double tick, bool force=false)
 Rune 构造接口 更多...
 
static Rune::ptr cast (combo::ptr p_combo)
 动态类型转换 更多...
 
static Rune::const_ptr cast (combo::const_ptr p_combo)
 动态类型转换 更多...
 
static cv::Vec2f cameraConvertToVertical (const cv::Vec2f &angle_vec, float diff_theta)
 相机平面中将角度值映射至垂直平面 更多...
 
static cv::Vec2f verticalConvertToCamera (const cv::Vec2f &angle_vec, float diff_theta)
 垂直平面中将角度值映射至相机平面 更多...
 

额外继承的成员函数

- Protected 属性 继承自 rm::combo
std::vector< feature::ptr_features
 特征列表 更多...
 
float _height {}
 高度 更多...
 
float _width {}
 宽度 更多...
 
float _angle {}
 角度 更多...
 
RMStatus _type {}
 类型 更多...
 
cv::Point2f _center
 中心点 更多...
 
cv::Point2f _relative_angle
 相对目标转角 更多...
 
GyroData _gyro_data
 当前陀螺仪数据 更多...
 
std::vector< cv::Point2f > _corners
 角点 更多...
 
CameraExtrinsics _extrinsic
 相机外参 更多...
 
double _tick {}
 捕获该组合体时的时间点 更多...
 

详细描述

神符(能量机关)

注解
  • at(0): 神符靶心,at(1): 神符旋转中心(R 标)
  • getAngle() 获取的角度范围是 [-180,180)
  • getCorners()
    • [0]: 靶心环最靠近神符中心的点
    • [1]: 靶心环与角点[0][2]的中垂线的交点(顺时针)
    • [2]: 靶心环最远离神符中心的点
    • [3]: 靶心环与角点[0][2]的中垂线的交点(顺时针)
    • [4]: 神符中心点
  • getExtrinsics 数据仅直线距离 distance 有效
  • getCenter 为神符靶心的中心点,要获取神符旋转中心请访问对应特征 at(1)

成员类型定义说明

◆ const_ptr

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

◆ ptr

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

构造及析构函数说明

◆ Rune() [1/3]

rm::Rune::Rune ( RuneTarget::ptr  p_target,
RuneCenter::ptr  p_center,
const GyroData gyro_data,
double  tick 
)
警告
禁止直接使用构造函数

◆ Rune() [2/3]

rm::Rune::Rune ( const Rune )
delete

◆ Rune() [3/3]

rm::Rune::Rune ( Rune &&  )
delete

成员函数说明

◆ cameraConvertToVertical()

static cv::Vec2f rm::Rune::cameraConvertToVertical ( const cv::Vec2f &  angle_vec,
float  diff_theta 
)
inlinestatic

相机平面中将角度值映射至垂直平面

注解
为保证域的连续性,角度使用从原点出发的向量表示
参数
[in]angle_vec相机平面中的角度值(起点指向终点的向量)
[in]diff_theta两个平面之间的夹角(角度制)
返回
垂直平面中的角度值
函数调用图:

◆ cast() [1/2]

static Rune::const_ptr rm::Rune::cast ( combo::const_ptr  p_combo)
inlinestatic

动态类型转换

参数
[in]p_combocombo::const_ptr 抽象指针
返回
派生对象指针

◆ cast() [2/2]

static Rune::ptr rm::Rune::cast ( combo::ptr  p_combo)
inlinestatic

动态类型转换

参数
[in]p_combocombo::ptr 抽象指针
返回
派生对象指针

◆ getFeatureDis()

float rm::Rune::getFeatureDis ( ) const
inline

3D 空间下神符特征间距

◆ isActive()

bool rm::Rune::isActive ( )
inline

是否激活

◆ make_combo()

static std::shared_ptr<Rune> rm::Rune::make_combo ( RuneTarget::ptr  p_target,
RuneCenter::ptr  p_center,
const GyroData gyro_data,
double  tick,
bool  force = false 
)
static

Rune 构造接口

参数
[in]p_target神符靶心
[in]p_center神符中心
[in]gyro_data陀螺仪数据
[in]tick捕获特征的时间点
[in]force是否为强制构造
返回
std::shared_ptr<Rune>

◆ verticalConvertToCamera()

static cv::Vec2f rm::Rune::verticalConvertToCamera ( const cv::Vec2f &  angle_vec,
float  diff_theta 
)
inlinestatic

垂直平面中将角度值映射至相机平面

注解
为保证域的连续性,角度使用从原点出发的向量表示
参数
[in]angle_vec垂直平面中的角度值(起点指向终点的向量)
[in]diff_theta两个平面之间的夹角(角度制)
返回
相机平面中的角度值
函数调用图:

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