Data.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T),
5  * Karlsruhe Institute of Technology (KIT), all rights reserved.
6  *
7  * ArmarX is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * ArmarX is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * @author Fabian Peller-Konrad (fabian dot peller-konrad at kit dot edu)
20  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
21  * GNU General Public License
22  */
23 
24 #pragma once
25 
26 // STD/STL
27 #include <map>
28 #include <memory>
29 #include <optional>
30 
31 // ArmarX
32 #include <SimoxUtility/xml.h>
33 
35 
36 /**
37  * All constantes for the aron XML parser, in addition to some utility functions wrapping around the armarxcore-xml-parser
38  */
40 {
41  namespace constantes
42  {
43  // Definition tags
44  const constexpr auto TYPE_DEFINITION_TAG = "arontypedefinition";
45 
46  const constexpr auto CODE_INCLUDES_TAG = "codeincludes";
47  const constexpr auto ARON_INCLUDES_TAG = "aronincludes";
48  const constexpr auto INCLUDES_TAG = "includes";
49  const constexpr auto SYSTEM_INCLUDE_TAG = "systeminclude";
50  const constexpr auto PACKAGE_PATH_TAG = "packagepath";
51  const constexpr auto INCLUDE_TAG = "include";
52  const constexpr auto GENERATE_TYPES_TAG = "generatetypes";
53 
54  // Attribute names
55  const constexpr auto ARON_ATTRIBUTE_NAME = "aron";
56  const constexpr auto CODE_ATTRIBUTE_NAME = "code";
57  const constexpr auto METHOD_ATTRIBUTE_NAME = "method";
58  const constexpr auto RETURN_ATTRIBUTE_NAME = "return";
59  const constexpr auto ARGUMENT_TYPE_ATTRIBUTE_NAME = "argumenttype";
60  const constexpr auto INCLUDE_ATTRIBUTE_NAME = "include";
61  const constexpr auto READER_ATTRIBUTE_NAME = "reader";
62  const constexpr auto WRITER_ATTRIBUTE_NAME = "writer";
63  const constexpr auto EXTENDS_ATTRIBUTE_NAME = "extends";
64  const constexpr auto NAME_ATTRIBUTE_NAME = "name";
65  const constexpr auto VALUE_ATTRIBUTE_NAME = "value";
66  const constexpr auto TEMPLATE_ATTRIBUTE_NAME = "template";
67  const constexpr auto KEY_ATTRIBUTE_NAME = "key";
68  const constexpr auto TYPE_ATTRIBUTE_NAME = "type";
69  const constexpr auto WIDTH_ATTRIBUTE_NAME = "width";
70  const constexpr auto HEIGHT_ATTRIBUTE_NAME = "height";
71  const constexpr auto ROWS_ATTRIBUTE_NAME = "rows";
72  const constexpr auto COLS_ATTRIBUTE_NAME = "cols";
73  const constexpr auto DIMENSIONS_ATTRIBUTE_NAME = "dimensions";
74  const constexpr auto SHAPE_ATTRIBUTE_NAME = "shape";
75  const constexpr auto OPTIONAL_ATTRIBUTE_NAME = "optional";
76  const constexpr auto RAW_PTR_ATTRIBUTE_NAME = "raw_ptr";
77  const constexpr auto SHARED_PTR_ATTRIBUTE_NAME = "shared_ptr";
78  const constexpr auto UNIQUE_PTR_ATTRIBUTE_NAME = "unique_ptr";
79  const constexpr auto PACKAGE_ATTRIBUTE_NAME = "package";
80  const constexpr auto DOC_BRIEF_ATTRIBUTE_NAME = "doc-brief";
81  const constexpr auto DOC_AUTHOR_ATTRIBUTE_NAME = "doc-author";
82  const constexpr auto DOC_PARAM_ATTRIBUTE_NAME = "doc-param";
83  const constexpr auto PATH_ATTRIBUTE_NAME = "path";
84  const constexpr auto DEFAULT_ATTRIBUTE_NAME = "default";
85 
86  // Slugs
87  const constexpr auto IDENTITY_SLUG = "identity";
88  const constexpr auto ZEROS_SLUG = "zeros";
89  const constexpr auto ONES_SLUG = "ones";
90  const constexpr auto RGB_SLUG = "rgb24";
91  const constexpr auto DEPTH_SLUG = "depth32";
92  const constexpr auto POINT_XYZ_SLUG = "pointxyz";
93  const constexpr auto POINT_XYZI_SLUG = "pointxyzi";
94  const constexpr auto POINT_XYZL_SLUG = "pointxyzl";
95  const constexpr auto POINT_XYZRGB_SLUG = "pointxyzrgb";
96  const constexpr auto POINT_XYZRGBL_SLUG = "pointxyzrgbl";
97  const constexpr auto POINT_XYZRGBA_SLUG = "pointxyzrgba";
98  const constexpr auto POINT_XYZHSV_SLUG = "pointxyzhsv";
99 
100  const constexpr auto CHAR_SLUG = "int8";
101  const constexpr auto UCHAR_SLUG = "uint8";
102  const constexpr auto SHORT_SLUG = "int16";
103  const constexpr auto USHORT_SLUG = "uint16";
104  const constexpr auto INT_SLUG = "int32";
105  const constexpr auto UINT_SLUG = "uint32";
106  const constexpr auto LONG_SLUG = "int64";
107  const constexpr auto ULONG_SLUG = "uint64";
108  const constexpr auto FLOAT_SLUG = "float32";
109  const constexpr auto DOUBLE_SLUG = "float64";
110 
111  // Second level tags. Only important if in specific top level tag
112  const constexpr auto OBJECT_CHILD_TAG = "objectchild";
113  const constexpr auto ENUM_VALUE_TAG = "enumvalue";
114 
115  // Top Level type tags
116  const constexpr auto LIST_TAG = "list";
117  const constexpr auto DICT_TAG = "dict";
118  const constexpr auto OBJECT_TAG = "object";
119  const constexpr auto PAIR_TAG = "pair";
120  const constexpr auto TUPLE_TAG = "tuple";
121  const constexpr auto INT_ENUM_TAG = "intenum";
122  const constexpr auto NDARRAY_TAG = "ndarray";
123  const constexpr auto MATRIX_TAG = "matrix";
124  const constexpr auto QUATERNION_TAG = "quaternion";
125  const constexpr auto IMAGE_TAG = "image";
126  const constexpr auto POINT_CLOUD_TAG = "pointcloud";
127  const constexpr auto CHAR_TAG = "int8";
128  const constexpr auto UCHAR_TAG = "uint8";
129  const constexpr auto SHORT_TAG = "int16";
130  const constexpr auto USHORT_TAG = "uint16";
131  const constexpr auto INT_TAG = "int32";
132  const constexpr auto UINT_TAG = "uint32";
133  const constexpr auto LONG_TAG = "int64";
134  const constexpr auto ULONG_TAG = "uint64";
135  const constexpr auto FLOAT_TAG = "float32";
136  const constexpr auto DOUBLE_TAG = "float64";
137  const constexpr auto STRING_TAG = "string";
138  const constexpr auto BOOL_TAG = "bool";
139  const constexpr auto ANY_OBJECT_TAG = "anyobject";
140 
141  // others
142  const std::vector<std::string> WHATEVER_VALUES = {"?"};
143 
144  struct Replacement
145  {
146  std::string replacementTag;
147  std::pair<std::string, std::string> additionalAronDTOXMLIncludePackagePath;
148  std::string deprecatedWarning;
149  };
150 
151  // Replacements ({tagName, {replacementsTag, additionalAronDTOXMLIncludePackagePath}, deprecationwarning})
152  const std::map<std::string, Replacement> REPLACEMENTS = {
153  {"int", {"int32", {}, "The <int />-tag is deprecated. Please use <int32 /> instead."}},
154  {"long",
155  {"int64", {}, "The <long />-tag is deprecated. Please use <int64 /> instead."}},
156  {"float",
157  {"float32", {}, "The <float />-tag is deprecated. Please use <float32 /> instead."}},
158  {"double",
159  {"float64", {}, "The <double />-tag is deprecated. Please use <float64 /> instead."}},
160 
161  // should that be deprecated?
162  {"position", {"matrix rows='3' cols='1' type='float32'", {}, ""}},
163  {"pose", {"matrix rows='4' cols='4' type='float32'", {}, ""}},
164  {"orientation", {"quaternion type='float32'", {}, ""}},
165 
166  // values similar to eigen
167  {"quaternionf", {"quaternion type='float32'", {}, ""}},
168  {"quaterniond", {"quaternion type='float64'", {}, ""}},
169  {"vector2f", {"matrix rows='2' cols='1' type='float32'", {}, ""}},
170  {"vector2d", {"matrix rows='2' cols='1' type='float64'", {}, ""}},
171  {"vector3f", {"matrix rows='3' cols='1' type='float32'", {}, ""}},
172  {"vector3d", {"matrix rows='3' cols='1' type='float64'", {}, ""}},
173  {"vector4f", {"matrix rows='4' cols='1' type='float32'", {}, ""}},
174  {"vector4d", {"matrix rows='4' cols='1' type='float64'", {}, ""}},
175  {"matrix2f", {"matrix rows='2' cols='2' type='float32'", {}, ""}},
176  {"matrix2d", {"matrix rows='2' cols='2' type='float64'", {}, ""}},
177  {"matrix3f", {"matrix rows='3' cols='3' type='float32'", {}, ""}},
178  {"matrix3d", {"matrix rows='3' cols='3' type='float64'", {}, ""}},
179  {"matrix4f", {"matrix rows='4' cols='4' type='float32'", {}, ""}},
180  {"matrix4d", {"matrix rows='4' cols='4' type='float64'", {}, ""}},
181 
182  // You can also add replacements for arondtos here!
183  // structure: {xml-identifier, {replacement, auto-ARON-include (NO CPP SPECIFIC STUFF HERE!)}, deprecationwarning}
184  {"datetime",
185  {"armarx::arondto::DateTime",
186  {"RobotAPI", "libraries/aron/common/aron/time.xml"},
187  ""}},
188  {"time",
189  {"armarx::arondto::DateTime",
190  {"RobotAPI", "libraries/aron/common/aron/time.xml"},
191  ""}},
192  {"duration",
193  {"armarx::arondto::Duration",
194  {"RobotAPI", "libraries/aron/common/aron/time.xml"},
195  ""}},
196 
197  {"memoryid",
198  {"armarx::armem::arondto::MemoryID",
199  {"RobotAPI", "libraries/armem/aron/MemoryID.xml"},
200  ""}},
201 
202  // TODO: Replace with geometry package
203  {"framedposition",
204  {"armarx::arondto::FramedPosition",
205  {"RobotAPI", "libraries/aron/common/aron/framed.xml"},
206  ""}},
207  {"framedorientation",
208  {"armarx::arondto::FramedOrientation",
209  {"RobotAPI", "libraries/aron/common/aron/framed.xml"},
210  ""}},
211  {"framedpose",
212  {"armarx::arondto::FramedPose",
213  {"RobotAPI", "libraries/aron/common/aron/framed.xml"},
214  ""}}};
215  } // namespace constantes
216 
217  namespace util
218  {
219  bool CheckStrIsInt(const std::string&);
220  void EnforceStrIsInt(const std::string&);
221  bool CheckStrIsFloat(const std::string&);
222  void EnforceStrIsFloat(const std::string&);
223  bool CheckStrIsNumber(const std::string&);
224  void EnforceStrIsNumber(const std::string&);
225  bool CheckStrIsNumberSeq(const std::string&);
226  void EnforceStrIsNumberSeq(const std::string&);
227  bool CheckStrIsBool(const std::string&);
228  void EnforceStrIsBool(const std::string&);
229 
230  std::optional<RapidXmlReaderNode> GetFirstNodeWithTag(const RapidXmlReaderNode& node,
231  const std::string& name);
232 
233  void EnforceAttribute(const RapidXmlReaderNode& node, const std::string& att);
234  bool HasAttribute(const RapidXmlReaderNode& node, const std::string& att);
235  std::string GetAttribute(const RapidXmlReaderNode& node, const std::string& att);
236  std::string GetAttributeWithDefault(const RapidXmlReaderNode& node,
237  const std::string& att,
238  const std::string& def);
239  bool AttributeIsTrue(const RapidXmlReaderNode& node, const std::string& att);
240 
241  bool HasTagName(const RapidXmlReaderNode& node, const std::string& name);
242  void EnforceTagName(const RapidXmlReaderNode& node, const std::string& name);
243  void EnforceTagNames(const RapidXmlReaderNode& node, const std::vector<std::string>& names);
244  std::string GetTagName(const RapidXmlReaderNode& node);
245 
246  void EnforceChildSizeSmaller(const RapidXmlReaderNode& node, const size_t size);
247  void EnforceChildSizeSmallerEqual(const RapidXmlReaderNode& node, const size_t size);
248  void EnforceChildSize(const RapidXmlReaderNode& node, const size_t size);
249  void EnforceChildSizeGreaterEqual(const RapidXmlReaderNode& node, const size_t size);
250  void EnforceChildSizeGreater(const RapidXmlReaderNode& node, const size_t size);
251  } // namespace util
252 } // namespace armarx::aron::typereader::xml
armarx::aron::typereader::xml::util::HasAttribute
bool HasAttribute(const RapidXmlReaderNode &node, const std::string &att)
Definition: Data.cpp:174
armarx::aron::typereader::xml::constantes::VALUE_ATTRIBUTE_NAME
const constexpr auto VALUE_ATTRIBUTE_NAME
Definition: Data.h:65
armarx::aron::typereader::xml::util::CheckStrIsNumber
bool CheckStrIsNumber(const std::string &)
Definition: Data.cpp:81
armarx::aron::typereader::xml::constantes::FLOAT_TAG
const constexpr auto FLOAT_TAG
Definition: Data.h:135
armarx::aron::typereader::xml::constantes::INCLUDE_ATTRIBUTE_NAME
const constexpr auto INCLUDE_ATTRIBUTE_NAME
Definition: Data.h:60
armarx::aron::typereader::xml::constantes::RGB_SLUG
const constexpr auto RGB_SLUG
Definition: Data.h:90
armarx::aron::typereader::xml::util::CheckStrIsNumberSeq
bool CheckStrIsNumberSeq(const std::string &)
Definition: Data.cpp:97
armarx::aron::typereader::xml::constantes::TUPLE_TAG
const constexpr auto TUPLE_TAG
Definition: Data.h:120
armarx::aron::typereader::xml::util::EnforceTagNames
void EnforceTagNames(const RapidXmlReaderNode &node, const std::vector< std::string > &names)
Definition: Data.cpp:229
armarx::aron::typereader::xml::constantes::STRING_TAG
const constexpr auto STRING_TAG
Definition: Data.h:137
armarx::aron::typereader::xml::constantes::WRITER_ATTRIBUTE_NAME
const constexpr auto WRITER_ATTRIBUTE_NAME
Definition: Data.h:62
armarx::aron::typereader::xml::constantes::CODE_INCLUDES_TAG
const constexpr auto CODE_INCLUDES_TAG
Definition: Data.h:46
armarx::aron::typereader::xml::util::GetAttributeWithDefault
std::string GetAttributeWithDefault(const RapidXmlReaderNode &node, const std::string &att, const std::string &def)
Definition: Data.cpp:187
armarx::aron::typereader::xml::constantes::POINT_XYZRGB_SLUG
const constexpr auto POINT_XYZRGB_SLUG
Definition: Data.h:95
armarx::aron::typereader::xml::constantes::NDARRAY_TAG
const constexpr auto NDARRAY_TAG
Definition: Data.h:122
armarx::aron::typereader::xml::constantes::CODE_ATTRIBUTE_NAME
const constexpr auto CODE_ATTRIBUTE_NAME
Definition: Data.h:56
armarx::aron::typereader::xml::constantes::UINT_TAG
const constexpr auto UINT_TAG
Definition: Data.h:132
armarx::aron::typereader::xml::constantes::POINT_XYZRGBA_SLUG
const constexpr auto POINT_XYZRGBA_SLUG
Definition: Data.h:97
armarx::aron::typereader::xml::constantes::ARON_INCLUDES_TAG
const constexpr auto ARON_INCLUDES_TAG
Definition: Data.h:47
armarx::aron::typereader::xml::constantes::ENUM_VALUE_TAG
const constexpr auto ENUM_VALUE_TAG
Definition: Data.h:113
armarx::aron::typereader::xml::constantes::DOUBLE_TAG
const constexpr auto DOUBLE_TAG
Definition: Data.h:136
armarx::aron::typereader::xml::util::EnforceTagName
void EnforceTagName(const RapidXmlReaderNode &node, const std::string &name)
Definition: Data.cpp:219
armarx::aron::typereader::xml::constantes::ANY_OBJECT_TAG
const constexpr auto ANY_OBJECT_TAG
Definition: Data.h:139
armarx::aron::typereader::xml::util::CheckStrIsFloat
bool CheckStrIsFloat(const std::string &)
Definition: Data.cpp:57
armarx::aron::typereader::xml::util::EnforceStrIsInt
void EnforceStrIsInt(const std::string &)
Definition: Data.cpp:47
armarx::aron::typereader::xml::constantes::Replacement::additionalAronDTOXMLIncludePackagePath
std::pair< std::string, std::string > additionalAronDTOXMLIncludePackagePath
Definition: Data.h:147
armarx::aron::typereader::xml::constantes::Replacement
Definition: Data.h:144
armarx::aron::typereader::xml::util::CheckStrIsBool
bool CheckStrIsBool(const std::string &)
Definition: Data.cpp:124
armarx::aron::typereader::xml::util::EnforceChildSize
void EnforceChildSize(const RapidXmlReaderNode &node, const size_t size)
Definition: Data.cpp:279
armarx::aron::typereader::xml::util::HasTagName
bool HasTagName(const RapidXmlReaderNode &node, const std::string &name)
Definition: Data.cpp:213
armarx::aron::typereader::xml
All constantes for the aron XML parser, in addition to some utility functions wrapping around the arm...
Definition: Data.cpp:30
armarx::aron::typereader::xml::constantes::POINT_XYZ_SLUG
const constexpr auto POINT_XYZ_SLUG
Definition: Data.h:92
armarx::aron::typereader::xml::constantes::TEMPLATE_ATTRIBUTE_NAME
const constexpr auto TEMPLATE_ATTRIBUTE_NAME
Definition: Data.h:66
armarx::aron::typereader::xml::constantes::TYPE_DEFINITION_TAG
const constexpr auto TYPE_DEFINITION_TAG
Definition: Data.h:44
armarx::aron::typereader::xml::constantes::POINT_XYZHSV_SLUG
const constexpr auto POINT_XYZHSV_SLUG
Definition: Data.h:98
armarx::aron::typereader::xml::constantes::CHAR_SLUG
const constexpr auto CHAR_SLUG
Definition: Data.h:100
armarx::aron::typereader::xml::constantes::SYSTEM_INCLUDE_TAG
const constexpr auto SYSTEM_INCLUDE_TAG
Definition: Data.h:49
armarx::aron::typereader::xml::constantes::INCLUDES_TAG
const constexpr auto INCLUDES_TAG
Definition: Data.h:48
armarx::aron::typereader::xml::constantes::INCLUDE_TAG
const constexpr auto INCLUDE_TAG
Definition: Data.h:51
armarx::aron::typereader::xml::constantes::PAIR_TAG
const constexpr auto PAIR_TAG
Definition: Data.h:119
armarx::aron::typereader::xml::constantes::PACKAGE_PATH_TAG
const constexpr auto PACKAGE_PATH_TAG
Definition: Data.h:50
armarx::aron::typereader::xml::constantes::ZEROS_SLUG
const constexpr auto ZEROS_SLUG
Definition: Data.h:88
armarx::aron::typereader::xml::constantes::ONES_SLUG
const constexpr auto ONES_SLUG
Definition: Data.h:89
armarx::aron::typereader::xml::util::GetFirstNodeWithTag
std::optional< RapidXmlReaderNode > GetFirstNodeWithTag(const RapidXmlReaderNode &node, const std::string &name)
Definition: Data.cpp:148
armarx::aron::typereader::xml::constantes::DOC_AUTHOR_ATTRIBUTE_NAME
const constexpr auto DOC_AUTHOR_ATTRIBUTE_NAME
Definition: Data.h:81
armarx::aron::typereader::xml::util::EnforceStrIsNumberSeq
void EnforceStrIsNumberSeq(const std::string &)
Definition: Data.cpp:111
armarx::aron::typereader::xml::constantes::METHOD_ATTRIBUTE_NAME
const constexpr auto METHOD_ATTRIBUTE_NAME
Definition: Data.h:57
armarx::aron::typereader::xml::constantes::UINT_SLUG
const constexpr auto UINT_SLUG
Definition: Data.h:105
armarx::aron::typereader::xml::constantes::COLS_ATTRIBUTE_NAME
const constexpr auto COLS_ATTRIBUTE_NAME
Definition: Data.h:72
armarx::aron::typereader::xml::constantes::POINT_XYZL_SLUG
const constexpr auto POINT_XYZL_SLUG
Definition: Data.h:94
armarx::aron::typereader::xml::constantes::ARGUMENT_TYPE_ATTRIBUTE_NAME
const constexpr auto ARGUMENT_TYPE_ATTRIBUTE_NAME
Definition: Data.h:59
armarx::aron::typereader::xml::constantes::DOUBLE_SLUG
const constexpr auto DOUBLE_SLUG
Definition: Data.h:109
armarx::aron::typereader::xml::constantes::WHATEVER_VALUES
const std::vector< std::string > WHATEVER_VALUES
Definition: Data.h:142
armarx::aron::typereader::xml::constantes::PATH_ATTRIBUTE_NAME
const constexpr auto PATH_ATTRIBUTE_NAME
Definition: Data.h:83
armarx::aron::typereader::xml::constantes::MATRIX_TAG
const constexpr auto MATRIX_TAG
Definition: Data.h:123
armarx::aron::typereader::xml::constantes::LONG_TAG
const constexpr auto LONG_TAG
Definition: Data.h:133
armarx::aron::typereader::xml::constantes::INT_TAG
const constexpr auto INT_TAG
Definition: Data.h:131
armarx::aron::typereader::xml::constantes::FLOAT_SLUG
const constexpr auto FLOAT_SLUG
Definition: Data.h:108
armarx::aron::typereader::xml::constantes::QUATERNION_TAG
const constexpr auto QUATERNION_TAG
Definition: Data.h:124
armarx::aron::typereader::xml::constantes::USHORT_TAG
const constexpr auto USHORT_TAG
Definition: Data.h:130
armarx::aron::typereader::xml::constantes::PACKAGE_ATTRIBUTE_NAME
const constexpr auto PACKAGE_ATTRIBUTE_NAME
Definition: Data.h:79
armarx::aron::typereader::xml::constantes::DICT_TAG
const constexpr auto DICT_TAG
Definition: Data.h:117
armarx::aron::typereader::xml::constantes::BOOL_TAG
const constexpr auto BOOL_TAG
Definition: Data.h:138
armarx::aron::typereader::xml::constantes::LONG_SLUG
const constexpr auto LONG_SLUG
Definition: Data.h:106
armarx::RapidXmlReaderNode
Definition: RapidXmlReader.h:68
armarx::aron::typereader::xml::constantes::REPLACEMENTS
const std::map< std::string, Replacement > REPLACEMENTS
Definition: Data.h:152
armarx::aron::typereader::xml::constantes::POINT_CLOUD_TAG
const constexpr auto POINT_CLOUD_TAG
Definition: Data.h:126
armarx::aron::typereader::xml::constantes::UCHAR_TAG
const constexpr auto UCHAR_TAG
Definition: Data.h:128
armarx::aron::typereader::xml::util::GetTagName
std::string GetTagName(const RapidXmlReaderNode &node)
Definition: Data.cpp:245
armarx::aron::typereader::xml::constantes::EXTENDS_ATTRIBUTE_NAME
const constexpr auto EXTENDS_ATTRIBUTE_NAME
Definition: Data.h:63
armarx::aron::typereader::xml::constantes::TYPE_ATTRIBUTE_NAME
const constexpr auto TYPE_ATTRIBUTE_NAME
Definition: Data.h:68
armarx::aron::typereader::xml::constantes::POINT_XYZI_SLUG
const constexpr auto POINT_XYZI_SLUG
Definition: Data.h:93
armarx::aron::typereader::xml::constantes::SHORT_SLUG
const constexpr auto SHORT_SLUG
Definition: Data.h:102
armarx::aron::typereader::xml::constantes::SHARED_PTR_ATTRIBUTE_NAME
const constexpr auto SHARED_PTR_ATTRIBUTE_NAME
Definition: Data.h:77
armarx::aron::typereader::xml::constantes::OPTIONAL_ATTRIBUTE_NAME
const constexpr auto OPTIONAL_ATTRIBUTE_NAME
Definition: Data.h:75
armarx::aron::typereader::xml::constantes::IMAGE_TAG
const constexpr auto IMAGE_TAG
Definition: Data.h:125
armarx::aron::typereader::xml::util::EnforceStrIsFloat
void EnforceStrIsFloat(const std::string &)
Definition: Data.cpp:71
armarx::aron::typereader::xml::constantes::ARON_ATTRIBUTE_NAME
const constexpr auto ARON_ATTRIBUTE_NAME
Definition: Data.h:55
armarx::aron::typereader::xml::constantes::DEPTH_SLUG
const constexpr auto DEPTH_SLUG
Definition: Data.h:91
armarx::aron::typereader::xml::util::EnforceChildSizeGreaterEqual
void EnforceChildSizeGreaterEqual(const RapidXmlReaderNode &node, const size_t size)
Definition: Data.cpp:293
armarx::aron::typereader::xml::util::GetAttribute
std::string GetAttribute(const RapidXmlReaderNode &node, const std::string &att)
Definition: Data.cpp:180
armarx::viz::data::ElementFlags::names
const simox::meta::IntEnumNames names
Definition: json_elements.cpp:14
armarx::aron::typereader::xml::constantes::Replacement::deprecatedWarning
std::string deprecatedWarning
Definition: Data.h:148
armarx::aron::typereader::xml::constantes::DOC_BRIEF_ATTRIBUTE_NAME
const constexpr auto DOC_BRIEF_ATTRIBUTE_NAME
Definition: Data.h:80
armarx::aron::typereader::xml::util::EnforceAttribute
void EnforceAttribute(const RapidXmlReaderNode &node, const std::string &att)
Definition: Data.cpp:162
armarx::aron::typereader::xml::constantes::NAME_ATTRIBUTE_NAME
const constexpr auto NAME_ATTRIBUTE_NAME
Definition: Data.h:64
armarx::aron::typereader::xml::constantes::LIST_TAG
const constexpr auto LIST_TAG
Definition: Data.h:116
armarx::aron::typereader::xml::constantes::UNIQUE_PTR_ATTRIBUTE_NAME
const constexpr auto UNIQUE_PTR_ATTRIBUTE_NAME
Definition: Data.h:78
armarx::aron::typereader::xml::constantes::INT_ENUM_TAG
const constexpr auto INT_ENUM_TAG
Definition: Data.h:121
armarx::aron::typereader::xml::util::EnforceChildSizeSmallerEqual
void EnforceChildSizeSmallerEqual(const RapidXmlReaderNode &node, const size_t size)
Definition: Data.cpp:265
armarx::aron::typereader::xml::constantes::KEY_ATTRIBUTE_NAME
const constexpr auto KEY_ATTRIBUTE_NAME
Definition: Data.h:67
armarx::aron::typereader::xml::constantes::USHORT_SLUG
const constexpr auto USHORT_SLUG
Definition: Data.h:103
RapidXmlReader.h
armarx::aron::typereader::xml::constantes::GENERATE_TYPES_TAG
const constexpr auto GENERATE_TYPES_TAG
Definition: Data.h:52
armarx::aron::typereader::xml::constantes::HEIGHT_ATTRIBUTE_NAME
const constexpr auto HEIGHT_ATTRIBUTE_NAME
Definition: Data.h:70
armarx::aron::typereader::xml::constantes::WIDTH_ATTRIBUTE_NAME
const constexpr auto WIDTH_ATTRIBUTE_NAME
Definition: Data.h:69
armarx::aron::typereader::xml::constantes::INT_SLUG
const constexpr auto INT_SLUG
Definition: Data.h:104
armarx::aron::typereader::xml::constantes::Replacement::replacementTag
std::string replacementTag
Definition: Data.h:146
armarx::aron::typereader::xml::constantes::DIMENSIONS_ATTRIBUTE_NAME
const constexpr auto DIMENSIONS_ATTRIBUTE_NAME
Definition: Data.h:73
armarx::aron::typereader::xml::util::EnforceStrIsBool
void EnforceStrIsBool(const std::string &)
Definition: Data.cpp:138
armarx::aron::typereader::xml::constantes::RETURN_ATTRIBUTE_NAME
const constexpr auto RETURN_ATTRIBUTE_NAME
Definition: Data.h:58
armarx::aron::typereader::xml::util::CheckStrIsInt
bool CheckStrIsInt(const std::string &)
Definition: Data.cpp:33
armarx::aron::typereader::xml::constantes::SHORT_TAG
const constexpr auto SHORT_TAG
Definition: Data.h:129
armarx::aron::typereader::xml::constantes::READER_ATTRIBUTE_NAME
const constexpr auto READER_ATTRIBUTE_NAME
Definition: Data.h:61
armarx::aron::typereader::xml::util::EnforceChildSizeSmaller
void EnforceChildSizeSmaller(const RapidXmlReaderNode &node, const size_t size)
Definition: Data.cpp:251
armarx::aron::typereader::xml::constantes::OBJECT_CHILD_TAG
const constexpr auto OBJECT_CHILD_TAG
Definition: Data.h:112
armarx::aron::typereader::xml::constantes::ULONG_TAG
const constexpr auto ULONG_TAG
Definition: Data.h:134
armarx::aron::typereader::xml::constantes::DEFAULT_ATTRIBUTE_NAME
const constexpr auto DEFAULT_ATTRIBUTE_NAME
Definition: Data.h:84
armarx::aron::typereader::xml::constantes::CHAR_TAG
const constexpr auto CHAR_TAG
Definition: Data.h:127
armarx::aron::typereader::xml::constantes::ULONG_SLUG
const constexpr auto ULONG_SLUG
Definition: Data.h:107
armarx::aron::typereader::xml::constantes::RAW_PTR_ATTRIBUTE_NAME
const constexpr auto RAW_PTR_ATTRIBUTE_NAME
Definition: Data.h:76
armarx::aron::typereader::xml::constantes::UCHAR_SLUG
const constexpr auto UCHAR_SLUG
Definition: Data.h:101
armarx::aron::typereader::xml::util::EnforceChildSizeGreater
void EnforceChildSizeGreater(const RapidXmlReaderNode &node, const size_t size)
Definition: Data.cpp:307
armarx::aron::typereader::xml::util::EnforceStrIsNumber
void EnforceStrIsNumber(const std::string &)
Definition: Data.cpp:87
armarx::aron::typereader::xml::constantes::POINT_XYZRGBL_SLUG
const constexpr auto POINT_XYZRGBL_SLUG
Definition: Data.h:96
armarx::aron::typereader::xml::constantes::ROWS_ATTRIBUTE_NAME
const constexpr auto ROWS_ATTRIBUTE_NAME
Definition: Data.h:71
armarx::aron::typereader::xml::constantes::DOC_PARAM_ATTRIBUTE_NAME
const constexpr auto DOC_PARAM_ATTRIBUTE_NAME
Definition: Data.h:82
armarx::aron::typereader::xml::constantes::IDENTITY_SLUG
const constexpr auto IDENTITY_SLUG
Definition: Data.h:87
armarx::aron::typereader::xml::constantes::OBJECT_TAG
const constexpr auto OBJECT_TAG
Definition: Data.h:118
armarx::aron::typereader::xml::constantes::SHAPE_ATTRIBUTE_NAME
const constexpr auto SHAPE_ATTRIBUTE_NAME
Definition: Data.h:74
armarx::aron::typereader::xml::util::AttributeIsTrue
bool AttributeIsTrue(const RapidXmlReaderNode &node, const std::string &att)
Definition: Data.cpp:199