Update Introduction authored by Fabian Peller's avatar Fabian Peller
# Aron structure
Aron (ArmarX Object Notation) is the ArmarX implementation of variants which can be transferred over the network via ZeroC Ice. Further, Aron is the data representation used in the ArmarX Memory System [ArMem](ArMem/ArMem). We distinguish between:
- type specification vs. data information
- data transfer object (in the following called Aron dto) vs. its corresponding c++ wrapper (in the following called Aron object)
## Aron Type specification
An Aron type specification defines the static type for an Aron data dto or an Aron data object. It can only consist of the following types (Aron Variant means any Type):
- Object (dto called AronObject), contains map<string, Aron Variant> (members) and a pointer to a Aron Variant (extends)
\`\`\`cpp
armarx::PropertyDefinitionsPtr MyMemory::createPropertyDefinitions()
{
armarx::PropertyDefinitionsPtr defs = new ComponentPropertyDefinitions(getConfigIdentifier());
...
// Set the memory name:
workingMemory().name() = "My";
...
return defs;
}
\`\`\`
- Object (dto called AronObject), contains string (name), map<string, Aron Variant> (members) and a pointer to a Aron Variant (extends)
- Dict, contains Aron Variant (the accepted type)
- List, contains Aron Variant (the accepted type)
- Pair, contains two Aron Variants (the accepted types)
- Tuple, contains vector<Aron Variant> (the accepted types)
- Tuple, contains vector (the accepted types)
- Int Enum, contains string (name), map<string, int> (enum values)
- NDArray, contains int (#dimensions)
- Image, contains type of pixels
- PointCloud, contains type of voxels
- Matrix, contains
\ No newline at end of file
- Matrix, contains int (rows), int (cols)
-
\ No newline at end of file