AuboCaps  0.6.0
arcs::aubo_scope::FeatureContributionModel Class Reference

#include <feature_contribution_model.h>

Public Member Functions

 FeatureContributionModel (FeatureContributionModel &f)
 
 FeatureContributionModel (FeatureContributionModel &&f)
 
 ~FeatureContributionModel ()
 
FeaturePtr addFeature (const std::string &idKey, const std::string &suggestedName, const std::vector< double > &pose)
 Add a feature to the current AuboScope installation. More...
 
FeaturePtr getFeature (const std::string &idKey)
 Returns the feature previously added by this AuboCap using the same idKey identifier. More...
 
void updateFeature (const std::string &idKey, const std::vector< double > &newPose)
 Update the pose of an existing feature added by this AuboCap. More...
 
void renameFeature (const std::string &idKey, const std::string &newName)
 
void removeFeature (const std::string &idKey)
 Remove a feature added by this AuboCap from AuboScope. More...
 

Private Member Functions

 FeatureContributionModel ()
 

Private Attributes

void * d_ { nullptr }
 

Friends

class DataSwitch
 

Detailed Description

This interface provides functionality for adding, updating and removing features in AuboScope.

Note: This interface must only be used in an installation contribution/

Definition at line 20 of file feature_contribution_model.h.

Constructor & Destructor Documentation

arcs::aubo_scope::FeatureContributionModel::FeatureContributionModel ( FeatureContributionModel f)
arcs::aubo_scope::FeatureContributionModel::FeatureContributionModel ( FeatureContributionModel &&  f)
arcs::aubo_scope::FeatureContributionModel::~FeatureContributionModel ( )
arcs::aubo_scope::FeatureContributionModel::FeatureContributionModel ( )
private

Member Function Documentation

FeaturePtr arcs::aubo_scope::FeatureContributionModel::addFeature ( const std::string &  idKey,
const std::string &  suggestedName,
const std::vector< double > &  pose 
)

Add a feature to the current AuboScope installation.

This makes it selectable by the end user. The feature is not modifiable by the end user.

Parameters
idKeyThe key to identify this feature by. The key is for this AuboCap only, i.e. it only has to be unique for this AuboCap and not "globally" for other AuboCaps.
suggestedNameSuggested name for the feature. Valid names must match regex [a-zA-Z][a-zA-Z0-9_]{0,14} for a total of 15 characters. The final name can be retrieved from the returned feature instance.
poseThe pose of the feature with respect to the robot base
Returns
The feature created and registered in AuboScope.
Exceptions
FeatureAlreadyAddedExceptionIf a feature has previously been added the same idKey identifier. Use getFeature(String) to check if the feature has already been added to the current installation. Use updateFeature(String, Pose) to update the feature.
IllegalFeatureNameExceptionIf the suggested name does not match required regex.
FeaturePtr arcs::aubo_scope::FeatureContributionModel::getFeature ( const std::string &  idKey)

Returns the feature previously added by this AuboCap using the same idKey identifier.

Use this to verify if the feature is present in the current installation.

Parameters
idKeyThe key to identify this feature by.
Returns
The feature previously added by this AuboCap. Returns null if no feature exists in the current installation.
void arcs::aubo_scope::FeatureContributionModel::removeFeature ( const std::string &  idKey)

Remove a feature added by this AuboCap from AuboScope.

Program nodes using the feature will be become undefined because the feature is no longer resolvable.

Parameters
idKeyThe key used to add the feature with.
Exceptions
FeatureNotFoundExceptionIf no feature exists with the provided idKey.
void arcs::aubo_scope::FeatureContributionModel::renameFeature ( const std::string &  idKey,
const std::string &  newName 
)
void arcs::aubo_scope::FeatureContributionModel::updateFeature ( const std::string &  idKey,
const std::vector< double > &  newPose 
)

Update the pose of an existing feature added by this AuboCap.

Parameters
idKeyThe key to identify the feature. A feature must have been added prior to this method call using the same key.
newPoseThe new pose to set for the feature.
Exceptions
FeatureNotFoundExceptionIf no feature exists with the provided idKey.

Friends And Related Function Documentation

friend class DataSwitch
friend

Definition at line 88 of file feature_contribution_model.h.

Member Data Documentation

void* arcs::aubo_scope::FeatureContributionModel::d_ { nullptr }
private

Definition at line 90 of file feature_contribution_model.h.


The documentation for this class was generated from the following file: