28 #include <boost/serialization/access.hpp>
29 #include <boost/serialization/base_object.hpp>
30 #include <boost/serialization/nvp.hpp>
31 #include <boost/serialization/string.hpp>
32 #include <boost/serialization/vector.hpp>
33 #include <boost/serialization/shared_ptr.hpp>
45 std::shared_ptr<const Eigen::VectorXi> faces,
46 std::shared_ptr<const tesseract_common::Resource> resource,
47 const Eigen::Vector3d& scale,
48 std::shared_ptr<const tesseract_common::VectorVector3d> normals,
49 std::shared_ptr<const tesseract_common::VectorVector4d> vertex_colors,
50 std::shared_ptr<MeshMaterial> mesh_material,
51 std::shared_ptr<
const std::vector<std::shared_ptr<MeshTexture>>> mesh_textures,
54 , vertices_(std::move(vertices))
55 , faces_(std::move(faces))
56 , vertex_count_(static_cast<int>(vertices_->size()))
57 , resource_(std::move(resource))
59 , normals_(std::move(normals))
60 , vertex_colors_(std::move(vertex_colors))
61 , mesh_material_(std::move(mesh_material))
62 , mesh_textures_(std::move(mesh_textures))
64 for (
int i = 0; i <
faces_->size(); ++i)
67 int num_verts = (*faces_)(i);
73 std::shared_ptr<const Eigen::VectorXi> faces,
76 const Eigen::Vector3d& scale,
77 std::shared_ptr<const tesseract_common::VectorVector3d> normals,
78 std::shared_ptr<const tesseract_common::VectorVector4d> vertex_colors,
80 std::shared_ptr<
const std::vector<MeshTexture::Ptr>> mesh_textures,
83 , vertices_(std::move(vertices))
84 , faces_(std::move(faces))
85 , vertex_count_(static_cast<int>(vertices_->size()))
86 , face_count_(face_count)
87 , resource_(std::move(resource))
89 , normals_(std::move(normals))
90 , vertex_colors_(std::move(vertex_colors))
91 , mesh_material_(std::move(mesh_material))
92 , mesh_textures_(std::move(mesh_textures))
136 template <
class Archive>
139 ar& BOOST_SERIALIZATION_BASE_OBJECT_NVP(
Geometry);
141 ar& BOOST_SERIALIZATION_NVP(
faces_);
145 ar& BOOST_SERIALIZATION_NVP(
scale_);
146 ar& BOOST_SERIALIZATION_NVP(
normals_);