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/export.hpp>
32 #include <memory>
34 
36 
37 namespace boost::serialization
38 {
39 class access;
40 }
41 
42 namespace tesseract_geometry
43 {
44 class Capsule : public Geometry
45 {
46 public:
47  using Ptr = std::shared_ptr<Capsule>;
48  using ConstPtr = std::shared_ptr<const Capsule>;
49 
50  Capsule(double radius, double length);
51  Capsule() = default;
52  ~Capsule() override = default;
53 
54  double getRadius() const;
55  double getLength() const;
56 
57  Geometry::Ptr clone() const override final;
58  bool operator==(const Capsule& rhs) const;
59  bool operator!=(const Capsule& rhs) const;
60 
61 private:
62  double r_{ 0 };
63  double l_{ 0 };
64 
67  template <class Archive>
68  void serialize(Archive& ar, const unsigned int version); // NOLINT
69 };
70 } // namespace tesseract_geometry
71 
72 BOOST_CLASS_EXPORT_KEY(tesseract_geometry::Capsule)
73 #endif // TESSERACT_GEOMETRY_CAPSULE_H
tesseract_geometry::Geometry::Ptr
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:72
tesseract_geometry::Capsule::~Capsule
~Capsule() override=default
tesseract_geometry::Geometry
Definition: geometry.h:69
geometry.h
Tesseract Geometries.
tesseract_geometry::Capsule::getRadius
double getRadius() const
Definition: capsule.cpp:39
tesseract_geometry::Capsule::r_
double r_
Definition: capsule.h:62
tesseract_geometry::Capsule::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: capsule.cpp:55
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_common::Serialization
tesseract_geometry::Capsule::clone
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: capsule.cpp:42
tesseract_geometry::Capsule::getLength
double getLength() const
Definition: capsule.cpp:40
boost::serialization
tesseract_geometry::Capsule
Definition: capsule.h:44
tesseract_geometry::Capsule::access
friend class boost::serialization::access
Definition: capsule.h:65
tesseract_geometry::Capsule::l_
double l_
Definition: capsule.h:63
tesseract_geometry::Capsule::Capsule
Capsule()=default
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_geometry
Definition: fwd.h:31
tesseract_geometry::Geometry::ConstPtr
std::shared_ptr< const Geometry > ConstPtr
Definition: geometry.h:73
macros.h


tesseract_geometry
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:46