OGS
DuplicateMeshComponents.h
Go to the documentation of this file.
1 
15 #pragma once
16 
17 #include <vector>
18 
19 namespace MeshLib
20 {
21 class Mesh;
22 class Node;
23 class Element;
24 
26 std::vector<Node*> copyNodeVector(const std::vector<Node*>& nodes);
27 
36 std::vector<Element*> copyElementVector(
37  std::vector<Element*> const& elements,
38  std::vector<Node*> const& new_nodes,
39  std::vector<std::size_t> const* const node_id_map = nullptr);
40 
43 Element* copyElement(Element const* const element,
44  const std::vector<Node*>& nodes,
45  std::vector<std::size_t> const* const id_map = nullptr);
46 
48 std::vector<Element*> cloneElements(std::vector<Element*> const& elements);
49 } // end namespace MeshLib
std::vector< Node * > copyNodeVector(const std::vector< Node * > &nodes)
Creates a deep copy of a Node vector.
Element * copyElement(Element const *const element, const std::vector< Node * > &nodes, std::vector< std::size_t > const *const id_map)
std::vector< Element * > copyElementVector(std::vector< Element * > const &elements, std::vector< Node * > const &new_nodes, std::vector< std::size_t > const *const node_id_map)
std::vector< Element * > cloneElements(std::vector< Element * > const &elements)
Clones a vector of elements using the Element::clone() function.