Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
capsule.h
Go to the documentation of this file.
1
26#ifndef TESSERACT_GEOMETRY_CAPSULE_H
27#define TESSERACT_GEOMETRY_CAPSULE_H
28
31#include <boost/serialization/access.hpp>
32#include <boost/serialization/export.hpp>
33#include <memory>
35
37
38namespace tesseract_geometry
39{
40class Capsule : public Geometry
41{
42public:
43 using Ptr = std::shared_ptr<Capsule>;
44 using ConstPtr = std::shared_ptr<const Capsule>;
45
46 Capsule(double r, double l) : Geometry(GeometryType::CAPSULE), r_(r), l_(l) {}
47 Capsule() = default;
48 ~Capsule() override = default;
49
50 double getRadius() const { return r_; }
51 double getLength() const { return l_; }
52
53 Geometry::Ptr clone() const override final { return std::make_shared<Capsule>(r_, l_); }
54 bool operator==(const Capsule& rhs) const;
55 bool operator!=(const Capsule& rhs) const;
56
57private:
58 double r_{ 0 };
59 double l_{ 0 };
60
62 template <class Archive>
63 void serialize(Archive& ar, const unsigned int version); // NOLINT
64};
65} // namespace tesseract_geometry
66
67BOOST_CLASS_EXPORT_KEY2(tesseract_geometry::Capsule, "Capsule")
68#endif // TESSERACT_GEOMETRY_CAPSULE_H
Definition: capsule.h:41
void serialize(Archive &ar, const unsigned int version)
Definition: capsule.cpp:49
Capsule(double r, double l)
Definition: capsule.h:46
double l_
Definition: capsule.h:59
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: capsule.h:53
std::shared_ptr< Capsule > Ptr
Definition: capsule.h:43
bool operator!=(const Capsule &rhs) const
Definition: capsule.cpp:46
bool operator==(const Capsule &rhs) const
Definition: capsule.cpp:38
double getLength() const
Definition: capsule.h:51
double getRadius() const
Definition: capsule.h:50
friend class boost::serialization::access
Definition: capsule.h:61
std::shared_ptr< const Capsule > ConstPtr
Definition: capsule.h:44
double r_
Definition: capsule.h:58
~Capsule() override=default
Definition: geometry.h:60
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:62
Common Tesseract Macros.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: geometry.h:39
GeometryType
Definition: geometry.h:41
@ CAPSULE
Definition: geometry.h:45
Tesseract Geometries.