+public:
+ /// Returns the kind of a feature.
+ CONSTRUCTIONPLUGIN_EXPORT virtual const std::string& getKind();
+
+ /// Point kind.
+ inline static const std::string& ID()
+ {
+ static const std::string CONSTRUCTION_POINT_KIND("Point");
+ return CONSTRUCTION_POINT_KIND;
+ }
+
+ /*/// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD()
+ {
+ static const std::string MY_CREATION_METHOD_ID("creation_method");
+ return MY_CREATION_METHOD_ID;
+ }
+
+ /// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD_BY_XYZ()
+ {
+ static const std::string MY_CREATION_METHOD_ID("by_xyz");
+ return MY_CREATION_METHOD_ID;
+ }
+
+ /// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD_BY_DISTANCE_ON_EDGE()
+ {
+ static const std::string MY_CREATION_METHOD_ID("by_distance_on_edge");
+ return MY_CREATION_METHOD_ID;
+ }
+
+ /// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD_BY_PROJECTION()
+ {
+ static const std::string MY_CREATION_METHOD_ID("by_projection");
+ return MY_CREATION_METHOD_ID;
+ }
+
+ /// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD_BY_LINES_INTERSECTION()
+ {
+ static const std::string MY_CREATION_METHOD_ID("by_lines_intersection");
+ return MY_CREATION_METHOD_ID;
+ }
+
+ /// Attribute name for creation method.
+ inline static const std::string& CREATION_METHOD_BY_LINE_AND_PLANE_INTERSECTION()
+ {
+ static const std::string MY_CREATION_METHOD_ID("by_line_and_plane_intersection");
+ return MY_CREATION_METHOD_ID;
+ }*/
+
+ /// Attribute name for X coordinate.
+ inline static const std::string& X()
+ {
+ static const std::string POINT_ATTR_X("x");
+ return POINT_ATTR_X;
+ }
+
+ /// Attribute name for Y coordinate.
+ inline static const std::string& Y()
+ {
+ static const std::string POINT_ATTR_Y("y");
+ return POINT_ATTR_Y;
+ }
+
+ /// Attribute name for Z coordinate.
+ inline static const std::string& Z()