1#ifndef CHI_MESH_UNPARTITIONED_MESH_H
2#define CHI_MESH_UNPARTITIONED_MESH_H
8class vtkUnstructuredGrid;
40 std::vector<LightWeightFace>
faces;
88 int dimension_to_copy);
125 std::array<size_t, 3> ortho_Nis = {0, 0, 0});
137 const std::string& sub_type_str,
139 int cell_material_id,
140 const std::vector<std::vector<uint64_t>>& proxy_faces);
const MeshAttributes & GetMeshAttributes() const
std::pair< vtkUGridPtr, std::string > vtkUGridPtrAndName
static LightWeightCell * CreateCellFromVTKLine(vtkCell *vtk_cell)
void ComputeCentroidsAndCheckQuality()
const BoundBox & GetBoundBox() const
void SetAttributes(MeshAttributes new_attribs, std::array< size_t, 3 > ortho_Nis={0, 0, 0})
vtkSmartPointer< vtkUnstructuredGrid > vtkUGridPtr
void ReadFromExodus(const Options &options)
MeshAttributes & GetMeshAttributes()
std::vector< chi_mesh::Vertex > & GetVertices()
const Options & GetMeshOptions() const
void ReadFromVTU(const Options &options)
void BuildMeshConnectivity()
const std::vector< chi_mesh::Vertex > & GetVertices() const
void CopyUGridCellsAndPoints(vtkUnstructuredGrid &ugrid, double scale, int dimension_to_copy)
void ReadFromEnsightGold(const Options &options)
std::vector< LightWeightCell * > & GetRawCells()
static LightWeightCell * CreateCellFromVTKVertex(vtkCell *vtk_cell)
void ReadFromPVTU(const Options &options)
void SetMaterialIDsFromList(const std::vector< int > &material_ids)
std::vector< chi_mesh::Vertex > vertices_
size_t GetNumberOfCells() const
std::vector< std::set< uint64_t > > vertex_cell_subscriptions_
void SetBoundaryIDsFromBlocks(std::vector< vtkUGridPtrAndName > &bndry_grid_blocks)
static LightWeightCell * CreateCellFromVTKPolygon(vtkCell *vtk_cell)
const std::vector< LightWeightCell * > & GetRawCells() const
Options & GetMeshOptions()
void ReadFromWavefrontOBJ(const Options &options)
MeshAttributes attributes_
void ReadFromMsh(const Options &options)
std::vector< LightWeightCell * > raw_cells_
std::vector< LightWeightCell * > raw_boundary_cells_
void PushProxyCell(const std::string &type_str, const std::string &sub_type_str, int cell_num_faces, int cell_material_id, const std::vector< std::vector< uint64_t > > &proxy_faces)
static LightWeightCell * CreateCellFromVTKPolyhedron(vtkCell *vtk_cell)
std::shared_ptr< BoundBox > bound_box_
uint64_t MakeBoundaryID(const std::string &boundary_name)
const std::vector< std::set< uint64_t > > & GetVertextCellSubscriptions() const
void AddCell(LightWeightCell *&cell)
LightWeightCell(chi_mesh::CellType in_type, chi_mesh::CellType in_sub_type)
std::vector< uint64_t > vertex_ids
const chi_mesh::CellType sub_type
chi_mesh::Vertex centroid
const chi_mesh::CellType type
std::vector< LightWeightFace > faces
LightWeightFace(std::vector< uint64_t > in_vertex_ids)
LightWeightFace()=default
std::vector< uint64_t > vertex_ids
std::map< uint64_t, std::string > boundary_id_map
std::string boundary_id_fieldname
std::string material_id_fieldname