Skip to content
Snippets Groups Projects
Commit ca389bde authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Add support for polygonal cells

parent 11672c6b
No related branches found
No related tags found
1 merge request!125Rename DualConnectivityBuilder and MedianDualMeshBuilder's files
......@@ -11,6 +11,7 @@ enum class CellType : unsigned short
Triangle,
Quadrangle,
Polygon,
Diamond,
Hexahedron,
......@@ -28,6 +29,8 @@ name(CellType cell_type)
return "line";
case CellType::Triangle:
return "triangle";
case CellType::Polygon:
return "polygon";
case CellType::Quadrangle:
return "quadrangle";
case CellType::Diamond:
......
......@@ -61,6 +61,14 @@ ConnectivityBuilderBase::_computeCellFaceAndFaceNodeConnectivities(ConnectivityD
face_cells_map[f3].emplace_back(std::make_tuple(j, 3, f3.reversed()));
break;
}
case CellType::Polygon: {
cell_nb_faces[j] = cell_nodes.size();
for (size_t i = 0; i < cell_nodes.size(); ++i) {
Face f({cell_nodes[i], cell_nodes[(i + 1) % cell_nodes.size()]}, node_number_vector);
face_cells_map[f].emplace_back(std::make_tuple(j, i, f.reversed()));
}
break;
}
default: {
std::ostringstream error_msg;
error_msg << name(descriptor.cell_type_vector[j]) << ": unexpected cell type in dimension 2";
......
......@@ -491,6 +491,10 @@ VTKWriter::_write(const std::shared_ptr<const MeshType>& mesh,
types[j] = 9;
break;
}
case CellType::Polygon: {
types[j] = 7;
break;
}
case CellType::Tetrahedron: {
types[j] = 10;
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment