Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
geometry.h
Go to the documentation of this file.
1
26#ifndef TESSERACT_GEOMETRY_GEOMETRY_H
27#define TESSERACT_GEOMETRY_GEOMETRY_H
28
31#include <boost/serialization/access.hpp>
32#include <boost/serialization/export.hpp>
33#include <memory>
34#include <string>
35#include <vector>
37
39{
41{
54};
55static const std::vector<std::string> GeometryTypeStrings = { "UNINITIALIZED", "SPHERE", "CYLINDER", "CAPSULE",
56 "CONE", "BOX", "PLANE", "MESH",
57 "CONVEX_MESH", "SDF_MESH", "OCTREE", "POLYGON_MESH" };
58
60{
61public:
62 using Ptr = std::shared_ptr<Geometry>;
63 using ConstPtr = std::shared_ptr<const Geometry>;
64
66 virtual ~Geometry() = default;
67 Geometry(const Geometry&) = default;
68 Geometry& operator=(const Geometry&) = default;
69 Geometry(Geometry&&) = default;
71
73 virtual Geometry::Ptr clone() const = 0;
74
75 GeometryType getType() const { return type_; }
76
77 bool operator==(const Geometry& rhs) const;
78 bool operator!=(const Geometry& rhs) const;
79
80private:
83
85 template <class Archive>
86 void serialize(Archive& ar, const unsigned int version); // NOLINT
87};
88
89using Geometrys = std::vector<Geometry::Ptr>;
90using GeometrysConst = std::vector<Geometry::ConstPtr>;
91} // namespace tesseract_geometry
92
93#include <boost/serialization/tracking.hpp>
94BOOST_CLASS_EXPORT_KEY2(tesseract_geometry::Geometry, "Geometry")
95#endif // TESSERACT_GEOMETRY_GEOMETRY_H
Definition: geometry.h:60
Geometry & operator=(const Geometry &)=default
void serialize(Archive &ar, const unsigned int version)
Definition: geometry.cpp:46
virtual ~Geometry()=default
Geometry & operator=(Geometry &&)=default
std::shared_ptr< const Geometry > ConstPtr
Definition: geometry.h:63
Geometry(const Geometry &)=default
bool operator==(const Geometry &rhs) const
Definition: geometry.cpp:37
friend class boost::serialization::access
Definition: geometry.h:84
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:62
Geometry(Geometry &&)=default
Geometry(GeometryType type=GeometryType::UNINITIALIZED)
Definition: geometry.h:65
GeometryType getType() const
Definition: geometry.h:75
virtual Geometry::Ptr clone() const =0
Create a copy of this shape.
GeometryType type_
The type of the shape.
Definition: geometry.h:82
bool operator!=(const Geometry &rhs) const
Definition: geometry.cpp:43
Common Tesseract Macros.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: geometry.h:39
static const std::vector< std::string > GeometryTypeStrings
Definition: geometry.h:55
GeometryType
Definition: geometry.h:41
@ BOX
Definition: geometry.h:47
@ CAPSULE
Definition: geometry.h:45
@ UNINITIALIZED
Definition: geometry.h:42
@ CONE
Definition: geometry.h:46
@ POLYGON_MESH
Definition: geometry.h:53
@ PLANE
Definition: geometry.h:48
@ CYLINDER
Definition: geometry.h:44
@ OCTREE
Definition: geometry.h:52
@ SDF_MESH
Definition: geometry.h:51
@ MESH
Definition: geometry.h:49
@ CONVEX_MESH
Definition: geometry.h:50
@ SPHERE
Definition: geometry.h:43
std::vector< Geometry::Ptr > Geometrys
Definition: geometry.h:89
std::vector< Geometry::ConstPtr > GeometrysConst
Definition: geometry.h:90
mCollisionCheckConfig contact_request type
Definition: tesseract_environment_collision.cpp:103