12 const std::size_t nNodes(nodes.size());
13 std::vector<Node*> new_nodes;
14 new_nodes.reserve(nNodes);
15 for (std::size_t k = 0; k < nNodes; ++k)
17 new_nodes.push_back(
new Node(nodes[k]->data(), new_nodes.size()));
23 std::vector<Element*>
const& elements,
24 std::vector<Node*>
const& new_nodes,
25 std::vector<std::size_t>
const*
const node_id_map)
27 std::vector<Element*> new_elements;
28 new_elements.reserve(elements.size());
29 std::transform(elements.begin(), elements.end(),
30 std::back_inserter(new_elements),
31 [&new_nodes, &node_id_map](
auto const& element)
32 { return copyElement(element, new_nodes, node_id_map); });
40 const std::vector<Node*>& nodes,
41 std::vector<std::size_t>
const*
const id_map)
44 auto** new_nodes =
new Node*[number_of_element_nodes];
47 for (
unsigned i = 0; i < number_of_element_nodes; ++i)
49 new_nodes[i] = nodes[(*id_map)[element->
getNode(i)->
getID()]];
54 for (
unsigned i = 0; i < number_of_element_nodes; ++i)
59 return new E(new_nodes);
63 const std::vector<Node*>& nodes,
64 std::vector<std::size_t>
const*
const id_map)
100 ERR(
"Error: Unknown cell type.");
108 std::vector<Element*> cloned_elements;
109 cloned_elements.reserve(elements.size());
110 std::transform(begin(elements), end(elements),
111 std::back_inserter(cloned_elements),
113 return cloned_elements;