20 grid->vertices.Insert(
id++, vertex);
30 <<
"chi_mesh::VolumeMesher::CreatePolygonCells "
31 "called with a cell not being of primary type"
32 " chi_mesh::CellType::POLYGON.";
40 cell->global_id_ = num_cells;
41 cell->local_id_ = num_cells;
44 cell->centroid_ = raw_cell->centroid;
45 cell->material_id_ = raw_cell->material_id;
46 cell->vertex_ids_ = raw_cell->vertex_ids;
50 for (
auto& raw_face : raw_cell->faces)
56 const auto& v0 = grid->vertices[new_face.
vertex_ids_[0]];
57 const auto& v1 = grid->vertices[new_face.
vertex_ids_[1]];
68 cell->faces_.push_back(new_face);
72 grid->cells.push_back(std::move(cell));
static void Exit(int error_code)
static chi::MPI_Info & mpi
const int & location_id
Current process rank.
Normal normal_
A list of the vertices.
bool has_neighbor_
Flag indicating whether face has a neighbor.
uint64_t neighbor_id_
Otherwise contains boundary_id.
std::vector< uint64_t > vertex_ids_
Vertex centroid_
The face centroid.
const std::vector< chi_mesh::Vertex > & GetVertices() const
std::vector< LightWeightCell * > & GetRawCells()
static void CreatePolygonCells(const chi_mesh::UnpartitionedMesh &umesh, chi_mesh::MeshContinuumPtr &grid)
std::shared_ptr< MeshContinuum > MeshContinuumPtr
Vector3 Cross(const Vector3 &that) const