capsule.cpp
Go to the documentation of this file.
1 
27 #include <boost/serialization/access.hpp>
28 #include <boost/serialization/base_object.hpp>
29 #include <boost/serialization/nvp.hpp>
31 
32 #include <tesseract_common/utils.h>
34 
35 namespace tesseract_geometry
36 {
37 Capsule::Capsule(double radius, double length) : Geometry(GeometryType::CAPSULE), r_(radius), l_(length) {}
38 
39 double Capsule::getRadius() const { return r_; }
40 double Capsule::getLength() const { return l_; }
41 
42 Geometry::Ptr Capsule::clone() const { return std::make_shared<Capsule>(r_, l_); }
43 
44 bool Capsule::operator==(const Capsule& rhs) const
45 {
46  bool equal = true;
47  equal &= Geometry::operator==(rhs);
50  return equal;
51 }
52 bool Capsule::operator!=(const Capsule& rhs) const { return !operator==(rhs); }
53 
54 template <class Archive>
55 void Capsule::serialize(Archive& ar, const unsigned int /*version*/)
56 {
57  ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(Geometry);
58  ar& BOOST_SERIALIZATION_NVP(r_);
59  ar& BOOST_SERIALIZATION_NVP(l_);
60 }
61 } // namespace tesseract_geometry
62 
65 BOOST_CLASS_EXPORT_IMPLEMENT(tesseract_geometry::Capsule)
tesseract_geometry::Geometry::Ptr
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:72
tesseract_geometry::Geometry
Definition: geometry.h:69
utils.h
tesseract_geometry::GeometryType
GeometryType
Definition: geometry.h:48
tesseract_geometry::Capsule::getRadius
double getRadius() const
Definition: capsule.cpp:39
tesseract_common::almostEqualRelativeAndAbs
bool almostEqualRelativeAndAbs(const Eigen::Ref< const Eigen::VectorXd > &v1, const Eigen::Ref< const Eigen::VectorXd > &v2, const Eigen::Ref< const Eigen::VectorXd > &max_diff, const Eigen::Ref< const Eigen::VectorXd > &max_rel_diff)
tesseract_geometry::Capsule::r_
double r_
Definition: capsule.h:62
TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE
#define TESSERACT_SERIALIZE_ARCHIVES_INSTANTIATE(Type)
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_geometry::Capsule::clone
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: capsule.cpp:42
tesseract_geometry::Geometry::operator==
bool operator==(const Geometry &rhs) const
Definition: geometry.cpp:48
tesseract_geometry::Capsule::operator!=
bool operator!=(const Capsule &rhs) const
Definition: capsule.cpp:52
serialization.h
tesseract_geometry::Capsule::getLength
double getLength() const
Definition: capsule.cpp:40
tesseract_geometry::GeometryType::CAPSULE
@ CAPSULE
tesseract_geometry::Capsule
Definition: capsule.h:44
tesseract_geometry::Capsule::l_
double l_
Definition: capsule.h:63
tesseract_geometry::Capsule::Capsule
Capsule()=default
capsule.h
Tesseract Capsule Geometry.
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_geometry
Definition: fwd.h:31
tesseract_geometry::Capsule::operator==
bool operator==(const Capsule &rhs) const
Definition: capsule.cpp:44
macros.h


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