rpos::features::ArtifactProvider类

器物功能特征,包括了虚拟墙和虚拟轨道功能。
相关器物部件都有最大的数量限制,其上限一般是由所采用的SLAMWARE系统决定的。比如高性能版本SLAMWARE对虚拟墙的上限在5000各,其他版本在1000。 虚拟轨道的上限一般是10000。 如果您需要更大的上限,可以和SLAMTEC的支持联系。当超过上限时,会抛出out_of_resource异常。

头文件

rpos/features/artifact_provider.h

适用于

  • Slamware

父类

继承自rpos::core::Feature类

构造器

  • ArtifactProvider(boost::shared_ptr<detail::ArtifactProviderImpl>)
    该构造器仅限SDK内部使用。

  • ArtifactProvider(const ArtifactProvider&)
    拷贝构造函数。

运算符

  • ArtifactProvider& operator=(const ArtifactProvider&)
    赋值运算符

方法

  • std::vector<core::Line> getLines(artifact_provider::ArtifactUsage usage)
    获取系统中所有的虚拟墙或者虚拟轨道。

  • bool addLine(artifact_provider::ArtifactUsage usage, const core::Line& line)
    添加虚拟墙或者虚拟轨道。

  • bool addLines(artifact_provider::ArtifactUsage usage, const std::vector<core::Line>& lines)
    添加虚拟墙或者虚拟轨道。

  • bool removeLineById(artifact_provider::ArtifactUsage usage, rpos::core::SegmentID id)
    移除指定的虚拟墙或者虚拟轨道。

  • bool clearLines(artifact_provider::ArtifactUsage usage)
    清除所有的虚拟墙或者虚拟轨道。

  • bool moveLine(artifact_provider::ArtifactUsage usage, const core::Line& line)
    移动虚拟墙或者虚拟轨道。

  • bool moveLines(artifact_provider::ArtifactUsage usage, const std::vector<core::Line>& lines)
    移动虚拟墙或者虚拟轨道

  • std::vector<rpos::core::Line> getWalls()
    获取系统中所有的虚拟墙。

  • bool addWall(const rpos::core::Line&)
    添加虚拟墙。

  • bool addWalls(const std::vector<rpos::core::Line>&)
    添加虚拟墙。

  • bool clearWallById(const rpos::core::SegmentID&)
    清除指定的虚拟墙。

  • bool clearWalls()
    清除所有的虚拟墙。