[Bf-blender-cvs] [53309357dfe] soc-2021-adaptive-cloth: adaptive_cloth: MeshDiff: initial
ishbosamiya
noreply at git.blender.org
Mon Jul 5 17:33:40 CEST 2021
Commit: 53309357dfee64f8e795bec66762d415ab5b5a51
Author: ishbosamiya
Date: Sun Jul 4 17:46:34 2021 +0530
Branches: soc-2021-adaptive-cloth
https://developer.blender.org/rB53309357dfee64f8e795bec66762d415ab5b5a51
adaptive_cloth: MeshDiff: initial
===================================================================
M source/blender/blenkernel/BKE_cloth_remesh.hh
===================================================================
diff --git a/source/blender/blenkernel/BKE_cloth_remesh.hh b/source/blender/blenkernel/BKE_cloth_remesh.hh
index 03fb4704629..efcf73a7009 100644
--- a/source/blender/blenkernel/BKE_cloth_remesh.hh
+++ b/source/blender/blenkernel/BKE_cloth_remesh.hh
@@ -83,6 +83,7 @@ template<typename> class Edge;
template<typename> class Face;
template<typename, typename, typename, typename> class Mesh;
class MeshIO;
+template<typename, typename, typename, typename> class MeshDiff;
namespace ga = blender::generational_arena;
namespace fs = std::filesystem;
@@ -1251,6 +1252,82 @@ template<typename END, typename EVD, typename EED, typename EFD> class Mesh {
}
};
+template<typename END, typename EVD, typename EED, typename EFD> class MeshDiff {
+ blender::Vector<NodeIndex> added_nodes;
+ blender::Vector<VertIndex> added_verts;
+ blender::Vector<EdgeIndex> added_edges;
+ blender::Vector<FaceIndex> added_faces;
+
+ blender::Vector<Node<END>> deleted_nodes;
+ blender::Vector<Vert<EVD>> deleted_verts;
+ blender::Vector<Edge<EED>> deleted_edges;
+ blender::Vector<Face<EFD>> deleted_faces;
+
+ public:
+ MeshDiff() = default;
+
+ /* Move based constructor */
+ MeshDiff(blender::Vector<NodeIndex> &&added_nodes,
+ blender::Vector<VertIndex> &&added_verts,
+ blender::Vector<EdgeIndex> &&added_edges,
+ blender::Vector<FaceIndex> &&added_faces,
+
+ blender::Vector<Node<END>> &&deleted_nodes,
+ blender::Vector<Vert<EVD>> &&deleted_verts,
+ blender::Vector<Edge<EED>> &&deleted_edges,
+ blender::Vector<Face<EFD>> &&deleted_faces)
+ : added_nodes(std::move(added_nodes)),
+ added_verts(std::move(added_verts)),
+ added_edges(std::move(added_edges)),
+ added_faces(std::move(added_faces)),
+ deleted_nodes(std::move(deleted_nodes)),
+ deleted_verts(std::move(deleted_verts)),
+ deleted_edges(std::move(deleted_edges)),
+ deleted_faces(std::move(deleted_faces))
+ {
+ }
+
+ const auto &get_added_nodes() const
+ {
+ return this->added_nodes;
+ }
+
+ const auto &get_added_verts() const
+ {
+ return this->added_verts;
+ }
+
+ const auto &get_added_edges() const
+ {
+ return this->added_edges;
+ }
+
+ const auto &get_added_faces() const
+ {
+ return this->added_faces;
+ }
+
+ const auto &get_deleted_nodes() const
+ {
+ return this->deleted_nodes;
+ }
+
+ const auto &get_deleted_verts() const
+ {
+ return this->deleted_verts;
+ }
+
+ const auto &get_deleted_edges() const
+ {
+ return this->deleted_edges;
+ }
+
+ const auto &get_deleted_faces() const
+ {
+ return this->deleted_faces;
+ }
+};
+
} /* namespace blender::bke::internal */
#endif /* __cplusplus */
More information about the Bf-blender-cvs
mailing list