Skip to content
Snippets Groups Projects
Commit 596f45cc authored by Dmitri Naumov's avatar Dmitri Naumov
Browse files

[MeL] clang-format MeshSurfaceExtraction.

parent 3ae72189
No related branches found
No related tags found
No related merge requests found
...@@ -156,8 +156,8 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface( ...@@ -156,8 +156,8 @@ MeshLib::Mesh* MeshSurfaceExtraction::getMeshSurface(
face_ids_map); face_ids_map);
} }
if (!createSfcMeshProperties(*result, subsfc_mesh.getProperties(), if (!createSfcMeshProperties(*result, subsfc_mesh.getProperties(), id_map,
id_map, element_ids_map)) element_ids_map))
{ {
ERR("Transferring subsurface properties failed."); ERR("Transferring subsurface properties failed.");
} }
...@@ -355,7 +355,8 @@ std::vector<MeshLib::Element*> MeshSurfaceExtraction::createSfcElementVector( ...@@ -355,7 +355,8 @@ std::vector<MeshLib::Element*> MeshSurfaceExtraction::createSfcElementVector(
auto** new_nodes = new MeshLib::Node*[n_elem_nodes]; auto** new_nodes = new MeshLib::Node*[n_elem_nodes];
for (unsigned k(0); k < n_elem_nodes; k++) for (unsigned k(0); k < n_elem_nodes; k++)
{ {
new_nodes[k] = sfc_nodes[node_id_map[sfc_element->getNode(k)->getID()]]; new_nodes[k] =
sfc_nodes[node_id_map[sfc_element->getNode(k)->getID()]];
} }
if (sfc_element->getGeomType() == MeshElemType::TRIANGLE) if (sfc_element->getGeomType() == MeshElemType::TRIANGLE)
{ {
...@@ -382,8 +383,10 @@ bool MeshSurfaceExtraction::createSfcMeshProperties( ...@@ -382,8 +383,10 @@ bool MeshSurfaceExtraction::createSfcMeshProperties(
if (node_ids_map.size() != n_nodes) if (node_ids_map.size() != n_nodes)
{ {
ERR("MeshSurfaceExtraction::createSfcMeshProperties() - Incorrect " ERR("MeshSurfaceExtraction::createSfcMeshProperties() - Incorrect "
"number of node IDs (%d) compared to actual number of surface nodes " "number of node IDs (%d) compared to actual number of surface "
"(%d).", node_ids_map.size(), n_nodes); "nodes "
"(%d).",
node_ids_map.size(), n_nodes);
return false; return false;
} }
...@@ -391,28 +394,42 @@ bool MeshSurfaceExtraction::createSfcMeshProperties( ...@@ -391,28 +394,42 @@ bool MeshSurfaceExtraction::createSfcMeshProperties(
{ {
ERR("MeshSurfaceExtraction::createSfcMeshProperties() - Incorrect " ERR("MeshSurfaceExtraction::createSfcMeshProperties() - Incorrect "
"number of element IDs (%d) compared to actual number of surface " "number of element IDs (%d) compared to actual number of surface "
"elements (%d).", element_ids_map.size(), n_elems); "elements (%d).",
element_ids_map.size(), n_elems);
return false; return false;
} }
std::size_t vectors_copied (0), vectors_skipped (0); std::size_t vectors_copied(0), vectors_skipped(0);
std::vector<std::string> const& array_names = properties.getPropertyVectorNames(); std::vector<std::string> const& array_names =
properties.getPropertyVectorNames();
for (std::string const& name : array_names) for (std::string const& name : array_names)
{ {
if (processPropertyVector<double>(name, MeshLib::MeshItemType::Cell, properties, n_elems, element_ids_map, sfc_mesh) || if (processPropertyVector<double>(name, MeshLib::MeshItemType::Cell,
processPropertyVector<int>(name, MeshLib::MeshItemType::Cell, properties, n_elems, element_ids_map, sfc_mesh) || properties, n_elems, element_ids_map,
processPropertyVector<double>(name, MeshLib::MeshItemType::Node, properties, n_nodes, node_ids_map, sfc_mesh) || sfc_mesh) ||
processPropertyVector<int>(name, MeshLib::MeshItemType::Node, properties, n_nodes, node_ids_map, sfc_mesh)) processPropertyVector<int>(name, MeshLib::MeshItemType::Cell,
properties, n_elems, element_ids_map,
sfc_mesh) ||
processPropertyVector<double>(name, MeshLib::MeshItemType::Node,
properties, n_nodes, node_ids_map,
sfc_mesh) ||
processPropertyVector<int>(name, MeshLib::MeshItemType::Node,
properties, n_nodes, node_ids_map,
sfc_mesh))
{ {
vectors_copied++; vectors_copied++;
} }
else else
{ {
WARN("Skipping property vector \"%s\" - no matching data type found.", name.c_str()); WARN(
"Skipping property vector \"%s\" - no matching data type "
"found.",
name.c_str());
vectors_skipped++; vectors_skipped++;
} }
} }
INFO("%d property vectors copied, %d vectors skipped.", vectors_copied, vectors_skipped); INFO("%d property vectors copied, %d vectors skipped.", vectors_copied,
vectors_skipped);
return true; return true;
} }
......
...@@ -105,32 +105,34 @@ private: ...@@ -105,32 +105,34 @@ private:
template <typename T> template <typename T>
static bool processPropertyVector(std::string const& name, static bool processPropertyVector(std::string const& name,
MeshLib::MeshItemType const type, MeshLib::MeshItemType const type,
MeshLib::Properties const& properties, MeshLib::Properties const& properties,
std::size_t const vec_size, std::size_t const vec_size,
std::vector<std::size_t> const& id_map, std::vector<std::size_t> const& id_map,
MeshLib::Mesh& sfc_mesh) MeshLib::Mesh& sfc_mesh)
{ {
if (properties.existsPropertyVector<T>(name, type, 1)) if (properties.existsPropertyVector<T>(name, type, 1))
{ {
std::vector<T> const& org_vec = *properties.getPropertyVector<T>(name, type, 1); std::vector<T> const& org_vec =
*properties.getPropertyVector<T>(name, type, 1);
std::vector<T> sfc_prop; std::vector<T> sfc_prop;
sfc_prop.reserve(vec_size); sfc_prop.reserve(vec_size);
for (auto bulk_id : id_map) for (auto bulk_id : id_map)
{ {
sfc_prop.push_back(org_vec[bulk_id]); sfc_prop.push_back(org_vec[bulk_id]);
} }
MeshLib::addPropertyToMesh<T>( sfc_mesh, name, type, 1, sfc_prop); MeshLib::addPropertyToMesh<T>(sfc_mesh, name, type, 1, sfc_prop);
return true; return true;
} }
return false; return false;
} }
/// Copies relevant parts of scalar arrays to the surface mesh /// Copies relevant parts of scalar arrays to the surface mesh
static bool createSfcMeshProperties(MeshLib::Mesh& sfc_mesh, static bool createSfcMeshProperties(
MeshLib::Properties const& properties, MeshLib::Mesh& sfc_mesh,
std::vector<std::size_t> const& node_ids_map, MeshLib::Properties const& properties,
std::vector<std::size_t> const& element_ids_map); std::vector<std::size_t> const& node_ids_map,
std::vector<std::size_t> const& element_ids_map);
}; };
} // end namespace MeshLib } // end namespace MeshLib
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment