OGS
DuplicateMeshComponents.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <vector>
7
8namespace MeshLib
9{
10class Node;
11class Element;
12
14std::vector<Node*> copyNodeVector(const std::vector<Node*>& nodes);
15
24std::vector<Element*> copyElementVector(
25 std::vector<Element*> const& elements,
26 std::vector<Node*> const& new_nodes,
27 std::vector<std::size_t> const* const node_id_map = nullptr);
28
31Element* copyElement(Element const* const element,
32 const std::vector<Node*>& nodes,
33 std::vector<std::size_t> const* const id_map = nullptr);
34
36std::vector<Element*> cloneElements(std::vector<Element*> const& elements);
37} // 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.