PolyFEM
Loading...
Searching...
No Matches
polyfem::mesh::MeshData Class Reference

Format-independent input used to construct a runtime Mesh. More...

#include <MeshData.hpp>

Public Member Functions

 MeshData (Eigen::MatrixXd vertices, Eigen::MatrixXi elements)
 
void validate () const
 
int dimension () const
 
bool has_polyhedral_topology () const
 

Public Attributes

Eigen::MatrixXd vertices
 
Eigen::MatrixXi elements
 
bool elements_are_ordered = true
 Whether each element row carries a format-defined local vertex order.
 
std::vector< int > body_ids
 
std::vector< int > geometry_ids
 
std::vector< int > node_ids
 
std::vector< std::vector< int > > boundary_elements
 
std::vector< int > boundary_ids
 
Eigen::MatrixXd higher_order_nodes
 
std::vector< std::vector< int > > higher_order_connectivity
 
std::vector< std::vector< double > > higher_order_weights
 
std::vector< std::vector< int > > faces
 Optional topology for arbitrary polyhedral cells.
 
std::vector< std::vector< int > > cell_faces
 
std::vector< std::vector< int > > cell_face_orientations
 
std::vector< bool > cell_is_hex
 
Eigen::MatrixXd cell_kernel_points
 

Detailed Description

Format-independent input used to construct a runtime Mesh.

Definition at line 11 of file MeshData.hpp.

Constructor & Destructor Documentation

◆ MeshData()

polyfem::mesh::MeshData::MeshData ( Eigen::MatrixXd  vertices,
Eigen::MatrixXi  elements 
)
inline

Definition at line 14 of file MeshData.hpp.

Member Function Documentation

◆ dimension()

int polyfem::mesh::MeshData::dimension ( ) const
inline

Definition at line 18 of file MeshData.hpp.

References vertices.

Referenced by polyfem::mesh::Mesh::create(), polyfem::mesh::MeshReader::read_msh(), validate(), and polyfem::io::CheckpointWriter::write_mesh().

Here is the caller graph for this function:

◆ has_polyhedral_topology()

bool polyfem::mesh::MeshData::has_polyhedral_topology ( ) const
inline

Definition at line 19 of file MeshData.hpp.

References faces.

Referenced by polyfem::mesh::Mesh::build_from_data(), polyfem::mesh::CMesh3D::build_topology(), polyfem::mesh::NCMesh3D::build_topology(), validate(), and polyfem::io::CheckpointWriter::write_mesh().

Here is the caller graph for this function:

◆ validate()

void polyfem::mesh::MeshData::validate ( ) const

Definition at line 7 of file MeshData.cpp.

References body_ids, boundary_elements, boundary_ids, cell_face_orientations, cell_faces, cell_is_hex, cell_kernel_points, dimension(), elements, faces, geometry_ids, has_polyhedral_topology(), higher_order_connectivity, higher_order_nodes, higher_order_weights, polyfem::log_and_throw_error(), node_ids, and vertices.

Referenced by polyfem::mesh::Mesh::create(), polyfem::mesh::Mesh::to_mesh_data(), and polyfem::io::CheckpointWriter::write_mesh().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ body_ids

◆ boundary_elements

std::vector<std::vector<int> > polyfem::mesh::MeshData::boundary_elements

◆ boundary_ids

◆ cell_face_orientations

◆ cell_faces

◆ cell_is_hex

◆ cell_kernel_points

◆ elements

◆ elements_are_ordered

bool polyfem::mesh::MeshData::elements_are_ordered = true

Whether each element row carries a format-defined local vertex order.

Arbitrary HYBRID polyhedra only provide an unordered vertex set.

Definition at line 25 of file MeshData.hpp.

Referenced by polyfem::mesh::CMesh3D::build_topology(), polyfem::mesh::MeshReader::read_hybrid(), and polyfem::io::CheckpointWriter::write_mesh().

◆ faces

std::vector<std::vector<int> > polyfem::mesh::MeshData::faces

◆ geometry_ids

std::vector<int> polyfem::mesh::MeshData::geometry_ids

◆ higher_order_connectivity

std::vector<std::vector<int> > polyfem::mesh::MeshData::higher_order_connectivity

◆ higher_order_nodes

Eigen::MatrixXd polyfem::mesh::MeshData::higher_order_nodes

◆ higher_order_weights

std::vector<std::vector<double> > polyfem::mesh::MeshData::higher_order_weights

◆ node_ids

std::vector<int> polyfem::mesh::MeshData::node_ids

◆ vertices


The documentation for this class was generated from the following files: