26 #ifndef TESSERACT_GEOMETRY_SDF_MESH_H
27 #define TESSERACT_GEOMETRY_SDF_MESH_H
31 #include <boost/serialization/export.hpp>
32 #include <Eigen/Geometry>
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
52 using Ptr = std::shared_ptr<SDFMesh>;
53 using ConstPtr = std::shared_ptr<const SDFMesh>;
69 SDFMesh(std::shared_ptr<const tesseract_common::VectorVector3d> vertices,
70 std::shared_ptr<const Eigen::VectorXi> triangles,
71 std::shared_ptr<const tesseract_common::Resource> resource =
nullptr,
72 const Eigen::Vector3d& scale = Eigen::Vector3d(1, 1, 1),
73 std::shared_ptr<const tesseract_common::VectorVector3d> normals =
nullptr,
74 std::shared_ptr<const tesseract_common::VectorVector4d> vertex_colors =
nullptr,
75 std::shared_ptr<MeshMaterial> mesh_material =
nullptr,
76 std::shared_ptr<
const std::vector<std::shared_ptr<MeshTexture>>> mesh_textures =
nullptr);
93 SDFMesh(std::shared_ptr<const tesseract_common::VectorVector3d> vertices,
94 std::shared_ptr<const Eigen::VectorXi> triangles,
96 std::shared_ptr<const tesseract_common::Resource> resource =
nullptr,
97 const Eigen::Vector3d& scale = Eigen::Vector3d(1, 1, 1),
98 std::shared_ptr<const tesseract_common::VectorVector3d> normals =
nullptr,
99 std::shared_ptr<const tesseract_common::VectorVector4d> vertex_colors =
nullptr,
100 std::shared_ptr<MeshMaterial> mesh_material =
nullptr,
101 std::shared_ptr<
const std::vector<std::shared_ptr<MeshTexture>>> mesh_textures =
nullptr);
108 bool operator==(const
SDFMesh& rhs) const;
109 bool operator!=(const
SDFMesh& rhs) const;
112 friend class
boost::serialization::access;
114 template <class Archive>
115 void serialize(Archive& ar, const
unsigned int version);