Go to the documentation of this file.
26 #ifndef TESSERACT_GEOMETRY_GEOMETRY_H
27 #define TESSERACT_GEOMETRY_GEOMETRY_H
31 #include <boost/serialization/export.hpp>
32 #include <boost/uuid/uuid.hpp>
64 static const std::vector<std::string>
GeometryTypeStrings = {
"UNINITIALIZED",
"SPHERE",
"CYLINDER",
"CAPSULE",
65 "CONE",
"BOX",
"PLANE",
"MESH",
66 "CONVEX_MESH",
"SDF_MESH",
"OCTREE",
"POLYGON_MESH",
72 using Ptr = std::shared_ptr<Geometry>;
73 using ConstPtr = std::shared_ptr<const Geometry>;
89 void setUUID(
const boost::uuids::uuid& uuid);
92 const boost::uuids::uuid&
getUUID()
const;
106 template <
class Archive>
107 void serialize(Archive& ar,
const unsigned int version);
116 #endif // TESSERACT_GEOMETRY_GEOMETRY_H
Geometry(GeometryType type=GeometryType::UNINITIALIZED)
const boost::uuids::uuid & getUUID() const
Get the geometry UUID.
std::shared_ptr< Geometry > Ptr
Geometry & operator=(const Geometry &)=default
boost::uuids::uuid uuid_
The uuid of the shape.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
static const std::vector< std::string > GeometryTypeStrings
bool operator==(const Geometry &rhs) const
virtual ~Geometry()=default
std::vector< Geometry::ConstPtr > GeometrysConst
virtual Geometry::Ptr clone() const =0
Create a copy of this shape.
friend class boost::serialization::access
bool operator!=(const Geometry &rhs) const
GeometryType type_
The type of the shape.
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
void serialize(Archive &ar, const unsigned int version)
GeometryType getType() const
Get the geometry type.
void setUUID(const boost::uuids::uuid &uuid)
Set the geometry UUID.
std::shared_ptr< const Geometry > ConstPtr
std::vector< Geometry::Ptr > Geometrys