rpos::features::ArtifactProvider Class

Manipulates all artifacts objects like virtual walls or virtual tracks.

The maximum number of artifacts objects is limited by the specifc SLAMWARE model. Commonly, on PRO edition SLAMWARE model, the maximum number of virtual walls is limited to 5000, for the rest of SLAMWARE models, this number is limited to 1000.

For all models, the max number of virtual tracks is limited to 10000.

The maximum artifacts limit can be changed based on customer needs, please contact SLAMTEC support for details.

Once the number of artifacts objects reaches the limits, an out_of_resource exception will be raised.

Header file

rpos/features/artifact_provider.h

Applies to

  • Slamware

Parent Class

rpos::core::Feature Class

Methods

std::vector<core::Line> getLines(artifact_provider::ArtifactUsage usage)

Retrieves all the virtual walls and virtual tracks stored in the current SLAMWARE system.

bool addLine(artifact_provider::ArtifactUsage usage, const core::Line& line)

Add on virtual track or virtual wall object.

bool addLines(artifact_provider::ArtifactUsage usage, const std::vector<core::Line>& lines)

Add one or more virtual track or virtual wall objects in batch.

bool removeLineById(artifact_provider::ArtifactUsage usage, rpos::core::SegmentID id)

Remove specified virtual wall or virtual track based on the object id.

bool clearLines(artifact_provider::ArtifactUsage usage)

Clear all virtual walls or virtual tracks specified by the usage parameter.

bool moveLine(artifact_provider::ArtifactUsage usage, const core::Line& line);

Set artifact object (virtual wall or virtual track) specified by the line object with the same id to a new position.

bool moveLines(artifact_provider::ArtifactUsage usage, const std::vector<core::Line>& lines)

Set multiple artifact objects (virtual walls or virtual tracks) specified by the line objects with the same ids to new positions.

std::vector<rpos::core::Line> getWalls()

Get all virtual wall objects stored in the SLAMWARE system.

bool addWall(const rpos::core::Line&)

Add one virtual wall line.

bool addWalls(const std::vector<rpos::core::Line>&)

Add one or more virtual walls.

bool clearWallById(const rpos::core::SegmentID&)

Remove the virtual wall object specified by the id.

bool clearWalls()

Clear all virtual wall objects.

std::vector<core::RectangleF> getMapDiscrepancyMonitorAreas()

Get all map discrepancy monitor areas stored in the SLAMWARE system.

bool addMapDiscrepancyMonitorArea(const core::RectangleF& area)

Add a map discrepancy monitor areas.

bool addMapDiscrepancyMonitorAreas(const std::vector<core::RectangleF>& areas)

Add one or more map discrepancy monitor areas.

bool removeMapDiscrepancyMonitorAreas(const std::vector<core::RectangleF>& areas)

Remove map discrepancy monitor areas.

bool clearMapDiscrepancyMonitorAreas()

Clear all map discrepancy monitor areas stored in the SLAMWARE system.

std::vector <artifact_provider::RectangleArea> getRectangleAreas(artifact_provider::ArtifactUsage usage)

Get all rectangle areas stored in the SLAMWARE system

bool addRectangleArea(artifact_provider::ArtifactUsage usage, const artifact_provider::RectangleArea& area)

Add a rectangle area of type specified by usage.

bool addRectangleAreas(artifact_provider::ArtifactUsage usage, const std::vector<artifact_provider::RectangleArea>& areas)

Add several rectangle areas of type specified by usage.

bool removeRectangleAreaByIds(artifact_provider::ArtifactUsage usage, const std::vector<core::SegmentID>& ids)

Remove specified rectangle areas.

bool clearRectangleAreas(artifact_provider::ArtifactUsage usage)

Clear all rectangle areas of specified type.