ALWorldRepresentation API¶
Overview | API
Namespace : AL
#include <alproxies/alworldrepresentationproxy.h>
Method list¶
-
class
ALWorldRepresentationProxy
¶
ALWorldRepresentationProxy::addAttributeToCategory
ALWorldRepresentationProxy::clearObject
ALWorldRepresentationProxy::clearOldPositions
ALWorldRepresentationProxy::createObjectCategory
ALWorldRepresentationProxy::deleteObjectAttribute
ALWorldRepresentationProxy::findObject
ALWorldRepresentationProxy::getChildrenNames
ALWorldRepresentationProxy::getObjectNames
ALWorldRepresentationProxy::getObjectAttributes
ALWorldRepresentationProxy::getObjectAttributeValues
ALWorldRepresentationProxy::getObjectLatestAttributes
ALWorldRepresentationProxy::getObjectParentName
ALWorldRepresentationProxy::getObjectCategory
ALWorldRepresentationProxy::getObjectsInCategory
ALWorldRepresentationProxy::getPosition
ALWorldRepresentationProxy::getPosition6D
ALWorldRepresentationProxy::getPosition6DAtTime
ALWorldRepresentationProxy::getRootName
ALWorldRepresentationProxy::removeObjectCategory
ALWorldRepresentationProxy::save
ALWorldRepresentationProxy::select
ALWorldRepresentationProxy::selectWithOrder
ALWorldRepresentationProxy::storeObject
ALWorldRepresentationProxy::storeObjectWithReference
ALWorldRepresentationProxy::storeObjectAttribute
ALWorldRepresentationProxy::updatePosition
ALWorldRepresentationProxy::updatePositionWithReference
ALWorldRepresentationProxy::updateAttribute
Deprecated methods
Methods¶
-
int
ALWorldRepresentationProxy::
addAttributeToCategory
(const std::string& categoryName, const std::string& attributeName, const AL::ALValue& attributeFields)¶ Add a new attribute to an existing category. The new category is added to the attribute with the specified fields. Each attribute is unique.
Parameters: - categoryName – Name of the category to modify.
- attributeName – Name of the new attribute.
- fields – Fields of the new attribute. Has the format [[FieldName, FieldType], ...]
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
clearObject
(const std::string& objectName)¶ Remove an object and all its descendants from the world.
Parameters: - objectName – The name of the object to remove.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
clearOldPositions
(const std::string& databaseName, const int& maxAge)¶ Clear the stored positions (if relevant) of an object type which are older than a given number of seconds.
Parameters: - objectName – Name of the object.
- maxAge – Number of seconds for which the position is outdated.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
createObjectCategory
(const std::string& categoryName, const bool& resetCategory)¶ Create a new object category, with the possibility to retrieved previously stored information on the category.
Parameters: - category – Name of the new category.
- resetCategory – True if the content of the category is reset at the category creation.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
deleteObjectAttribute
(const std::string& objectName, const std::string& attributeName, const std::string& criterion)¶ Delete object attributes according to a given criterion (for example, with criterion=”LastSeen>42 OR Size < 1”).
Parameters: - objectName – Name of the object.
- attributeName – Name of the attribute.
- criterion – Criterion following the SQL criterion syntax.
Returns: 0 if success.
-
bool
ALWorldRepresentationProxy::
findObject
(const std::string& objectName)¶ Check if an object is present.
-
std::vector<std::string>
ALWorldRepresentationProxy::
getChildrenNames
(const std::string& objectName)¶ Get the objects which are direct children of the given object.
Parameters: - objectName – Name of the object.
Returns: Vector of the object names.
-
std::string
ALWorldRepresentationProxy::
getObjectCategory
(const std::string& objectName)¶ Get the category of an object.
Parameters: - objectName – Name of the object.
Returns: Name of the the category (empty string if the object does not exist).
-
std::vector<std::string>
ALWorldRepresentationProxy::
getObjectNames
()¶ Get the names of all objects from the world.
Returns: Vector of the object names.
-
AL::ALValue
ALWorldRepresentationProxy::
getObjectAttributes
(const std::string& objectName)¶ Get all object attributes from an object.
Parameters: - objectName – Name of the object.
Returns: List of all attributes [[AttributeName, AttributeFields] ] where AttributeFields = “(FieldName fieldtype, ...)”.
-
AL::ALValue
ALWorldRepresentationProxy::
getObjectLatestAttributes
(const std::string& objectName, const int& latestCount)¶ Gets all the latest values for all attributes for a specific object.
Parameters: - objectName – Name of the query object
- latestCount – Max number of values of the attributes (ordered by timestamp).
Returns: All latests attributes value for each attribute with the following format [[AttributeName, [[field0Value, field1Value, ...]]], ]
-
AL::ALValue
ALWorldRepresentationProxy::
getObjectAttributeValues
(const std::string& objectName, const std::string& attributeName, const int& latestCount)¶ Gets the latest values of a given attributes for a specific object.
Parameters: - objectName – Name of the query object.
- attributeName – Name of the query attribute.
- latestCount – Maximum number of values queried for the attributes (ordered by timestamp)
Returns: All latests attribute values for the given attribute, with the following format [field0Value, field1Value, ...] following the attributes fields. Empty if the attribute or the object do not exist.
-
std::vector<std::string>
ALWorldRepresentationProxy::
getObjectsInCategory
(const std::string& objectName)¶ Get all objects that belong to a given category.
Parameters: - categoryName – Name of the category.
Returns: Vector of all object names.
-
std::string
ALWorldRepresentationProxy::
getObjectParentName
(const std::string& objectName)¶ Get the parent object name of a given object, if applicable.
Parameters: - objectName – Name of the given object.
Returns: Name of the parent object, or the object itself if it is the root.
-
AL::ALValue
ALWorldRepresentationProxy::
getPosition
(const std::string& referenceName, const std::string& objectName)¶ Get the position of an object relative to another one with quaternion and translation.
Parameters: - referenceName – Name of the reference object.
- objectName – Name of the object.
Returns: [quaternion, translation] where quaternion = [w, x, y, z] and translation = [x, y, z]
-
std::vector<float>
ALWorldRepresentationProxy::
getPosition6D
(const std::string& referenceName, const std::string& objectName)¶ Get the position of an object from the world relatively to another reference object in the world (with translation and Euler angles).
Parameters: - referenceName – Name of the reference object.
- objectName – Name of the object.
Returns: Position of the object relative to the reference object. This is a 6 dimensional vector containing [x, y, z, Wx, Wy, Wz] where Wx is the rotation around the X axis etc. Will be [0, 0, 0, 0, 0, 0] if one of the two objects does not exist.
-
std::vector<float>
ALWorldRepresentationProxy::
getPosition6DAtTime
(const std::string& referenceName, const std::string& objectName, const int& secondsAgo, const int& interpType)¶ Parameters: - referenceName – Name of the reference object.
- objectName – Name of the object.
- secondsAgo – Age in seconds of the interpolated position.
- interType – Type of interpolation. 0 is linear interpolation, 1 is Slerp interpolation.
Returns: Position of the object relative to the reference object. This is a 6 dimensional vector containing [x, y, z, Wx, Wy, Wz] where Wx is the rotation around the X axis etc. Will be [0, 0, 0, 0, 0, 0] if one of the two objects does not exist.
-
std::string
ALWorldRepresentationProxy::
getRootName
()¶ Returns: The name of the root object in the world representation.
-
int
ALWorldRepresentationProxy::
removeObjectCategory
(const std::string& categoryName)¶ Completely remove a category and all objects belonging to this category.
Parameters: - categoryName – Name of the category to be removed.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
save
()¶ Save the graph and databases to the disk.
Returns: 0 if success.
-
AL::ALValue
ALWorldRepresentationProxy::
select
(const std::string& criterion, const std::string& categoryName, const std::string& attributeName, const std::string& fields)¶ Select attributes in a category which match a given criterion.
Parameters: - criterion – The criterion to match. The criterion is defined using SQL syntax for the WHERE clause (see here for example): it uses common operators on the field value. For example, a valid criterion is “Name=’Robert’ AND Age=42”.
- categoryName – Name of the category.
- attributeName – Name of the attribute.
- fields – List of attribute fields that will be selected. “*” means all fields of the attribute, else the format must be “FieldName0, FieldName1, ...”.
Returns: The attribute fields that match, with the following format: [Row0, Row1, ... ] where Rowi = [FieldValue0, FieldValue1, ...]. The field values are given in the order of the attribute definition when the selected fields are “*”, or else in the order given by the fields argument.
-
AL::ALValue
ALWorldRepresentationProxy::
selectWithOrder
(const std::string& criterion, const std::string& orderBy, const std::string& categoryName, const std::string& attributeName, const std::string& fields)¶ Select attributes from a category which match a given criterion and order them according to one field value.
Parameters: - criterion –
The criterion to match. The criterion is defined using SQL syntax for the WHERE clause (see here for example): it uses common operators on the field value. For example, a valid criterion is “Name=’Robert’ AND Age=42”.
- orderBy – The ordering, with the format “FieldName ASC” for ascending order and “FieldName DESC” for descending.
- categoryName – Name of the category.
- attributeName – Name of the attribute.
- fields – List of fields that will be selected. “*” means all fields of the attribute, else the format must be “FieldName0, FieldName1, ...”.
Returns: The attributes that match, with the following format: [Row0, Row1, ... ] where Rowi = [FieldValue0, FieldValue1, ...]. The field values are given in the order of the attribute definition when the selected fields are “*”, or else in the order given by the fields argument. The rows are ordered according to the field value.
- criterion –
-
int
ALWorldRepresentationProxy::
storeObject
(const std::string& objectName, const std::string& parentName, const std::vector<float>& position6D, const std::string& categoryName, const AL::ALValue& attributes)¶ Store a new object.
Parameters: - objectName – Name of the new object. Must be unique.
- parentName – Name of the parent object. Must exist.
- position6D – Position of the new object relative to its parent.
- categoryName – Name of the category of the object. Must exist.
- attributes – Attributes of the object. Has a format [[attributeName, attributeFields], ... ] where attributeFields = [[FieldName, fieldvalue], ... ]
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
storeObjectWithReference
(const std::string& objectName, const std::string& referenceName, const std::string& parentName, const std::vector<float>& position6D, const std::string& categoryName, const AL::ALValue& attributes)¶ Store a new object in the world, giving its position relative to a reference object and attaching it to a different parent object.
Parameters: - objectName – Name of the new object. Must be unique.
- parentName – Name of the parent object. Must exist.
- referenceName – Name of the reference object. Must exist.
- position6D – Position of the new object relative to its parent.
- categoryName – Name of the category of the object. Must exist.
- attributes – Attributes of the object. Has a format [[attributeName, attributeFields], ... ] where attributeFields = [[FieldName, fieldvalue], ... ]
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
storeObjectAttribute
(const std::string& objectName, const std::string& attributeName, const AL::ALValue& attributeFields)¶ Store a new attribute value of an object.
Parameters: - objectName – Name of the object.
- attributeName – Name of the object attribute. Must be part of the object category.
- attributeFields – Attribute value, with the format attributeFields = [[FieldName, fieldvalue], ... ]i
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
updatePosition
(const std::string& objectName, const std::vector<float>& position6D, const bool& storePosition)¶ Update the position of an object relative to its parent.
Parameters: - objectName – Name of the object.
- position6D – Position of the object relative to its parent ([x, y, z, Wx, Wy, Wz])
- storePosition – Store the position in the position attribute of the object or not.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
updatePositionWithReference
(const std::string& objectName, const std::string& referenceName, const std::vector<float>& position6D, const bool& storePosition)¶ Update the position of an object relative to a reference object.
Parameters: - objectName – Name of the object.
- position6D – Position of the object relative to the reference ([x, y, z, Wx, Wy, Wz])
- storePosition – Store the position in the position attribute of the object or not.
Returns: 0 if success.
-
int
ALWorldRepresentationProxy::
updateAttribute
(const std::string& objectName, const std::string& attributeName, const std::string& criterion, const AL::ALValue& attributeFields)¶ Update an attribute value of an object.
Parameters: - objectName – Name of an object.
- attributeName – Name of the object attribute. Must be part of the object category.
- criterion – Criterion the attribute must match to be updated. 1 for all.
- attributeFields – Attribute value. attributeFields = [[FieldName, fieldvalue], ... ]
Returns: 0 if success.
-
void
ALWorldRepresentationProxy::
load
()¶ Deprecated since version 1.22: unstable and inconclusive trial. Do not use.
-
void
ALWorldRepresentationProxy::
setObjectsLook
(const std::string&, const ALValue&)¶ Deprecated since version 1.22: unstable and inconclusive trial. Do not use.