esp::metadata::attributes::TaskSet class

This class provides an alias for the nested Configuration tree used for a single TaskSet, holding 1 or more LinkSets.

Base classes

class esp::core::config::Configuration
This class holds Configuration data in a map of ConfigValues, and also supports nested Configurations via a map of smart pointers to this type.

Constructors, destructors, conversion operators

TaskSet()

Public functions

auto getNumLinkSets() const -> int
Returns the number of existing LinkSets in this collection.
auto getNumLinkMarkerSets() const -> int
Returns the number of existing MarkerSets in this collection.
auto hasLinkSet(const std::string& linkSetName) const -> bool
Whether the given linkSetName exists as a LinkSet in this collection.
auto hasLinkMarkerSet(const std::string& linkSetName, const std::string& markerSetName) const -> bool
Whether the given markerSetName and linkSetName exist in this TaskSet.
auto getAllLinkSetNames() const -> std::vector<std::string>
Retrieve a listing of all the LinkSet handles in this collection.
auto getLinkSetCopy(const std::string& linkSetName) -> LinkSet::ptr
Retrivess a copy of the named LinkSet, if it exists, and nullptr if it does not.
auto getLinkSetView(const std::string& linkSetName) const -> LinkSet::cptr
Retrieve a view of the named LinkSet, if it exists, and nullptr if it does not.
auto editLinkSet(const std::string& linkSetName) -> LinkSet::ptr
Retrieves a reference to a (potentially newly created) LinkSet with the given linkSetName , which can be modified and the modifications will be retained.
void removeLinkSet(const std::string& linkSetName)
Removes named LinkSet. Does nothing if DNE.
void initLinkMarkerSet(const std::string& linkSetName, const std::string& markerSetName)
Initialize a link/markerset hierarchy with the passed names.
void setLinkMarkerSetPoints(const std::string& linkSetName, const std::string& markerSetName, const std::vector<Mn::Vector3>& markerList)
Set a specified LinkSet's specified MarkerSet's points to the given list of points.
void setLinkSetPoints(const std::string& linkSetName, const std::unordered_map<std::string, std::vector<Mn::Vector3>>& markers)
Sets all the MarkerSet points in the specified LinkSet to the given marker values specified in the map.
void setAllMarkerPoints(const std::unordered_map<std::string, std::unordered_map<std::string, std::vector<Mn::Vector3>>>& markerMap)
Sets all the LinkSet's MarkerSets' points in this TaskSet to the given marker values specified in the map.
auto getLinkMarkerSetPoints(const std::string& linkSetName, const std::string& markerSetName) const -> std::vector<Mn::Vector3>
Retrieve the specified LinkSet's MarkerSet as a vector of 3d points.
auto getLinkSetPoints(const std::string& linkSetName) const -> std::unordered_map<std::string, std::vector<Mn::Vector3>>
Retrieve all the MarkerSet points for the specified LinkSet within this TaskSet.
auto getAllMarkerPoints() const -> std::unordered_map<std::string, std::unordered_map<std::string, std::vector<Mn::Vector3>>>
this retrieves all the marker points across all the LinkSets in this TaskSet.
auto rekeyAllMarkers() -> int
Rekeys all marker collections to have vector IDXs as string keys.

Function documentation

bool esp::metadata::attributes::TaskSet::hasLinkSet(const std::string& linkSetName) const

Whether the given linkSetName exists as a LinkSet in this collection.

Parameters
linkSetName The desired LinkSet' name.
Returns whether the name is found as a LinkSet subConfiguration.

bool esp::metadata::attributes::TaskSet::hasLinkMarkerSet(const std::string& linkSetName, const std::string& markerSetName) const

Whether the given markerSetName and linkSetName exist in this TaskSet.

Parameters
linkSetName The desired LinkSet' name.
markerSetName
Returns whether the named MarkerSet exists within the named LinkSet.

LinkSet::ptr esp::metadata::attributes::TaskSet::editLinkSet(const std::string& linkSetName)

Retrieves a reference to a (potentially newly created) LinkSet with the given linkSetName , which can be modified and the modifications will be retained.

Parameters
linkSetName The desired LinkSet's name.
Returns a reference to the LinkSet.

void esp::metadata::attributes::TaskSet::initLinkMarkerSet(const std::string& linkSetName, const std::string& markerSetName)

Initialize a link/markerset hierarchy with the passed names.

Parameters
linkSetName the name of the LinkSet within taskSetName
markerSetName the name of the MarkerSet within linkSetName

void esp::metadata::attributes::TaskSet::setLinkMarkerSetPoints(const std::string& linkSetName, const std::string& markerSetName, const std::vector<Mn::Vector3>& markerList)

Set a specified LinkSet's specified MarkerSet's points to the given list of points.

Parameters
linkSetName the name of the LinkSet
markerSetName the name of the MarkerSet within linkSetName
markerList the list of the specified MarkerSet's points.

void esp::metadata::attributes::TaskSet::setLinkSetPoints(const std::string& linkSetName, const std::unordered_map<std::string, std::vector<Mn::Vector3>>& markers)

Sets all the MarkerSet points in the specified LinkSet to the given marker values specified in the map.

Parameters
linkSetName the name of the LinkSet within taskSetName
markers

void esp::metadata::attributes::TaskSet::setAllMarkerPoints(const std::unordered_map<std::string, std::unordered_map<std::string, std::vector<Mn::Vector3>>>& markerMap)

Sets all the LinkSet's MarkerSets' points in this TaskSet to the given marker values specified in the map.

Parameters
markerMap an unordered map keyed by LinkSet name of unordered maps, each keyed by MarkerSet name of Markers as a vector of 3d points.

std::vector<Mn::Vector3> esp::metadata::attributes::TaskSet::getLinkMarkerSetPoints(const std::string& linkSetName, const std::string& markerSetName) const

Retrieve the specified LinkSet's MarkerSet as a vector of 3d points.

Parameters
linkSetName the name of the LinkSet
markerSetName the name of the MarkerSet within linkSetName
Returns a vector of 3d points

std::unordered_map<std::string, std::vector<Mn::Vector3>> esp::metadata::attributes::TaskSet::getLinkSetPoints(const std::string& linkSetName) const

Retrieve all the MarkerSet points for the specified LinkSet within this TaskSet.

Parameters
linkSetName the name of the LinkSet
Returns a map holding all the MarkerSet points within the specified LinkSet, with MarkerSet name as the key, referncing a vector of 3d points.

std::unordered_map<std::string, std::unordered_map<std::string, std::vector<Mn::Vector3>>> esp::metadata::attributes::TaskSet::getAllMarkerPoints() const

this retrieves all the marker points across all the LinkSets in this TaskSet.

Returns an unordered map keyed by LinkSet name of unordered maps, each keyed by MarkerSet name of Markers as a vector of 3d points.

int esp::metadata::attributes::TaskSet::rekeyAllMarkers()

Rekeys all marker collections to have vector IDXs as string keys.

Returns returns how many markers have been processed with new keys in this TaskSet.