cylinder.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_GEOMETRY_CYLINDER_H
27 #define TESSERACT_GEOMETRY_CYLINDER_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 Cylinder : public Geometry
45 {
46 public:
47  using Ptr = std::shared_ptr<Cylinder>;
48  using ConstPtr = std::shared_ptr<const Cylinder>;
49 
50  Cylinder(double radius, double length);
51  Cylinder() = default;
52  ~Cylinder() override = default;
53 
54  double getRadius() const;
55  double getLength() const;
56 
57  Geometry::Ptr clone() const override final;
58  bool operator==(const Cylinder& rhs) const;
59  bool operator!=(const Cylinder& 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::Cylinder)
73 #endif
tesseract_geometry::Cylinder::getLength
double getLength() const
Definition: cylinder.cpp:40
tesseract_geometry::Geometry::Ptr
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:72
tesseract_geometry::Geometry
Definition: geometry.h:69
geometry.h
Tesseract Geometries.
tesseract_geometry::Cylinder::getRadius
double getRadius() const
Definition: cylinder.cpp:39
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_geometry::Cylinder::l_
double l_
Definition: cylinder.h:63
tesseract_common::Serialization
tesseract_geometry::Cylinder::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: cylinder.cpp:55
tesseract_geometry::Cylinder::clone
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: cylinder.cpp:42
tesseract_geometry::Cylinder
Definition: cylinder.h:44
tesseract_geometry::Cylinder::~Cylinder
~Cylinder() override=default
tesseract_geometry::Cylinder::Cylinder
Cylinder()=default
boost::serialization
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_geometry::Cylinder::access
friend class boost::serialization::access
Definition: cylinder.h:65
tesseract_geometry::Cylinder::r_
double r_
Definition: cylinder.h:62
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