compound_mesh.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_GEOMETRY_COMPOUND_MESH_H
27 #define TESSERACT_GEOMETRY_COMPOUND_MESH_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 ConvexMesh;
45 class Mesh;
46 class SDFMesh;
47 
49 class CompoundMesh : public Geometry
50 {
51 public:
52  using Ptr = std::shared_ptr<CompoundMesh>;
53  using ConstPtr = std::shared_ptr<const CompoundMesh>;
54 
55  CompoundMesh() = default;
56  CompoundMesh(std::vector<std::shared_ptr<PolygonMesh>> meshes);
57  CompoundMesh(std::vector<std::shared_ptr<ConvexMesh>> meshes);
58  CompoundMesh(std::vector<std::shared_ptr<Mesh>> meshes);
59  CompoundMesh(std::vector<std::shared_ptr<SDFMesh>> meshes);
60 
65  const std::vector<std::shared_ptr<PolygonMesh>>& getMeshes() const;
66 
74  std::shared_ptr<const tesseract_common::Resource> getResource() const;
75 
80  const Eigen::Vector3d& getScale() const;
81 
82  Geometry::Ptr clone() const override final;
83 
84  bool operator==(const CompoundMesh& rhs) const;
85  bool operator!=(const CompoundMesh& rhs) const;
86 
87 private:
88  std::vector<std::shared_ptr<PolygonMesh>> meshes_;
89 
90  friend class boost::serialization::access;
91  friend struct tesseract_common::Serialization;
92  template <class Archive>
93  void serialize(Archive& ar, const unsigned int version); // NOLINT
94 };
95 
96 } // namespace tesseract_geometry
97 
98 BOOST_CLASS_EXPORT_KEY(tesseract_geometry::CompoundMesh)
99 
100 #endif // TESSERACT_GEOMETRY_COMPOUND_MESH_H
tesseract_geometry::CompoundMesh::getMeshes
const std::vector< std::shared_ptr< PolygonMesh > > & getMeshes() const
Get the meshes.
Definition: compound_mesh.cpp:76
tesseract_geometry::Geometry::Ptr
std::shared_ptr< Geometry > Ptr
Definition: geometry.h:72
tesseract_common
tesseract_geometry::Geometry
Definition: geometry.h:69
tesseract_geometry::CompoundMesh::meshes_
std::vector< std::shared_ptr< PolygonMesh > > meshes_
Definition: compound_mesh.h:88
boost
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_geometry::CompoundMesh::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: compound_mesh.cpp:110
boost::serialization
polygon_mesh.h
Tesseract Polygon Mesh Geometry.
tesseract_geometry::CompoundMesh::getResource
std::shared_ptr< const tesseract_common::Resource > getResource() const
Get the path to file used to generate the meshs.
Definition: compound_mesh.cpp:78
tesseract_geometry::CompoundMesh::CompoundMesh
CompoundMesh()=default
tesseract_geometry::CompoundMesh::clone
Geometry::Ptr clone() const override final
Create a copy of this shape.
Definition: compound_mesh.cpp:85
tesseract_geometry::PolygonMesh
Definition: polygon_mesh.h:51
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
tesseract_geometry::CompoundMesh::getScale
const Eigen::Vector3d & getScale() const
Get the scale applied to file used to generate the meshs.
Definition: compound_mesh.cpp:83
macros.h
tesseract_geometry::CompoundMesh
This is store meshes that are associated with as single resource.
Definition: compound_mesh.h:49


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