box.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_GEOMETRY_BOX_H
27 #define TESSERACT_GEOMETRY_BOX_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 Box : public Geometry
45 {
46 public:
47  using Ptr = std::shared_ptr<Box>;
48  using ConstPtr = std::shared_ptr<const Box>;
49 
50  Box(double x, double y, double z);
51  Box() = default;
52  ~Box() override = default;
53 
54  double getX() const;
55  double getY() const;
56  double getZ() const;
57 
58  Geometry::Ptr clone() const override final;
59  bool operator==(const Box& rhs) const;
60  bool operator!=(const Box& rhs) const;
61 
62 private:
63  double x_{ 0 };
64  double y_{ 0 };
65  double z_{ 0 };
66 
69  template <class Archive>
70  void serialize(Archive& ar, const unsigned int version); // NOLINT
71 };
72 
73 } // namespace tesseract_geometry
74 
75 BOOST_CLASS_EXPORT_KEY(tesseract_geometry::Box)
76 #endif
tesseract_geometry::Box::getZ
double getZ() const
Definition: box.cpp:41
tesseract_geometry::Geometry::Ptr
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:72
tesseract_geometry::Box::getY
double getY() const
Definition: box.cpp:40
tesseract_geometry::Geometry
Definition: geometry.h:69
geometry.h
Tesseract Geometries.
tesseract_geometry::Box::z_
double z_
Definition: box.h:65
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_common::Serialization
tesseract_geometry::Box::access
friend class boost::serialization::access
Definition: box.h:67
tesseract_geometry::Box::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: box.cpp:57
boost::serialization
tesseract_geometry::Box::x_
double x_
Definition: box.h:63
tesseract_geometry::Box::~Box
~Box() override=default
tesseract_geometry::Box::getX
double getX() const
Definition: box.cpp:39
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_geometry
Definition: fwd.h:31
tesseract_geometry::Box::y_
double y_
Definition: box.h:64
tesseract_geometry::Geometry::ConstPtr
std::shared_ptr< const Geometry > ConstPtr
Definition: geometry.h:73
macros.h
tesseract_geometry::Box::Box
Box()=default
tesseract_geometry::Box
Definition: box.h:44
tesseract_geometry::Box::clone
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: box.cpp:43


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