PolyFEM
|
Functions | |
void | build_connectivity (Mesh3DStorage &hmi) |
void | reorder_hex_mesh_propogation (Mesh3DStorage &hmi) |
bool | scaled_jacobian (Mesh3DStorage &hmi, Mesh_Quality &mq) |
double | a_jacobian (Eigen::Vector3d &v0, Eigen::Vector3d &v1, Eigen::Vector3d &v2, Eigen::Vector3d &v3) |
void | global_orientation_hexes (Mesh3DStorage &hmi) |
void | refine_catmul_clark_polar (Mesh3DStorage &M, int iter, bool reverse, std::vector< int > &Parents) |
void | refine_red_refinement_tet (Mesh3DStorage &M, int iter) |
void | straight_sweeping (const Mesh3DStorage &Mi, int sweep_coord, double height, int nlayer, Mesh3DStorage &Mo) |
void | orient_surface_mesh (Mesh3DStorage &hmi) |
void | orient_volume_mesh (Mesh3DStorage &hmi) |
void | ele_subdivison_levels (const Mesh3DStorage &hmi, std::vector< int > &Ls) |
void | set_intersection_own (const std::vector< uint32_t > &A, const std::vector< uint32_t > &B, std::array< uint32_t, 2 > &C, int &num) |
Variables | |
const int | hex_face_table [6][4] |
const int | hex_tetra_table [8][4] |
const int | tet_faces [4][3] |
const int | tet_edges [6][2] |
double polyfem::mesh::MeshProcessing3D::a_jacobian | ( | Eigen::Vector3d & | v0, |
Eigen::Vector3d & | v1, | ||
Eigen::Vector3d & | v2, | ||
Eigen::Vector3d & | v3 | ||
) |
Referenced by refine_red_refinement_tet(), and scaled_jacobian().
void polyfem::mesh::MeshProcessing3D::build_connectivity | ( | Mesh3DStorage & | hmi | ) |
Definition at line 18 of file MeshProcessing3D.cpp.
References polyfem::mesh::Mesh3DStorage::edges, polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::EV, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Mesh3DStorage::FE, polyfem::mesh::Mesh3DStorage::FH, polyfem::mesh::Mesh3DStorage::FHi, polyfem::mesh::find(), polyfem::mesh::Mesh3DStorage::FV, hex_face_table, polyfem::mesh::Mesh3DStorage::HF, polyfem::mesh::Mesh3DStorage::HV, polyfem::mesh::Mesh3DStorage::type, and polyfem::mesh::Mesh3DStorage::vertices.
Referenced by polyfem::mesh::CMesh3D::geomesh_2_mesh_storage(), global_orientation_hexes(), orient_volume_mesh(), polyfem::mesh::Navigation3D::prepare_mesh(), refine_catmul_clark_polar(), refine_red_refinement_tet(), and straight_sweeping().
void polyfem::mesh::MeshProcessing3D::ele_subdivison_levels | ( | const Mesh3DStorage & | hmi, |
std::vector< int > & | Ls | ||
) |
Definition at line 1691 of file MeshProcessing3D.cpp.
References polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Mesh3DStorage::points, x, y, and z.
Referenced by refine_catmul_clark_polar().
void polyfem::mesh::MeshProcessing3D::global_orientation_hexes | ( | Mesh3DStorage & | hmi | ) |
Definition at line 679 of file MeshProcessing3D.cpp.
References build_connectivity(), polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Vertex::id, polyfem::mesh::Element::id, polyfem::mesh::Mesh3DStorage::points, reorder_hex_mesh_propogation(), polyfem::mesh::Mesh3DStorage::type, polyfem::mesh::Vertex::v, polyfem::mesh::Mesh3DStorage::vertices, and polyfem::mesh::Element::vs.
Referenced by polyfem::mesh::Navigation3D::prepare_mesh().
void polyfem::mesh::MeshProcessing3D::orient_surface_mesh | ( | Mesh3DStorage & | hmi | ) |
Definition at line 1495 of file MeshProcessing3D.cpp.
References polyfem::mesh::Mesh3DStorage::edges, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Mesh3DStorage::points, x, y, and z.
Referenced by orient_volume_mesh().
void polyfem::mesh::MeshProcessing3D::orient_volume_mesh | ( | Mesh3DStorage & | hmi | ) |
Definition at line 1553 of file MeshProcessing3D.cpp.
References build_connectivity(), polyfem::mesh::Mesh3DStorage::edges, polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Vertex::id, polyfem::logger(), orient_surface_mesh(), polyfem::mesh::Mesh3DStorage::points, polyfem::mesh::Mesh3DStorage::type, and polyfem::mesh::Mesh3DStorage::vertices.
Referenced by refine_catmul_clark_polar(), refine_red_refinement_tet(), and straight_sweeping().
void polyfem::mesh::MeshProcessing3D::refine_catmul_clark_polar | ( | Mesh3DStorage & | M, |
int | iter, | ||
bool | reverse, | ||
std::vector< int > & | Parents | ||
) |
Definition at line 714 of file MeshProcessing3D.cpp.
References build_connectivity(), ele_subdivison_levels(), polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::find(), polyfem::mesh::Element::fs, polyfem::mesh::Element::fs_flag, polyfem::mesh::Element::hex, hex_face_table, polyfem::mesh::Vertex::id, polyfem::mesh::Element::id, orient_volume_mesh(), polyfem::mesh::Mesh3DStorage::points, polyfem::mesh::Mesh3DStorage::type, polyfem::mesh::Vertex::v, polyfem::mesh::Element::v_in_Kernel, and polyfem::mesh::Mesh3DStorage::vertices.
Referenced by polyfem::mesh::CMesh3D::refine().
void polyfem::mesh::MeshProcessing3D::refine_red_refinement_tet | ( | Mesh3DStorage & | M, |
int | iter | ||
) |
Definition at line 1122 of file MeshProcessing3D.cpp.
References a_jacobian(), build_connectivity(), polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Element::fs, polyfem::mesh::Element::fs_flag, polyfem::mesh::Element::hex, polyfem::mesh::Vertex::id, polyfem::mesh::Element::id, orient_volume_mesh(), polyfem::mesh::Mesh3DStorage::points, polyfem::mesh::signed_volume(), tet_edges, tet_faces, polyfem::mesh::Mesh3DStorage::type, polyfem::mesh::Vertex::v, polyfem::mesh::Element::v_in_Kernel, polyfem::mesh::Mesh3DStorage::vertices, and polyfem::mesh::Element::vs.
Referenced by polyfem::mesh::CMesh3D::refine().
void polyfem::mesh::MeshProcessing3D::reorder_hex_mesh_propogation | ( | Mesh3DStorage & | hmi | ) |
Definition at line 492 of file MeshProcessing3D.cpp.
References polyfem::mesh::Mesh_Quality::ave_Jacobian, polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, hex_face_table, polyfem::mesh::Mesh_Quality::min_Jacobian, polyfem::mesh::Mesh3DStorage::points, scaled_jacobian(), polyfem::mesh::Mesh3DStorage::type, and polyfem::mesh::Mesh3DStorage::vertices.
Referenced by global_orientation_hexes().
bool polyfem::mesh::MeshProcessing3D::scaled_jacobian | ( | Mesh3DStorage & | hmi, |
Mesh_Quality & | mq | ||
) |
Definition at line 608 of file MeshProcessing3D.cpp.
References a_jacobian(), polyfem::mesh::Mesh_Quality::ave_Jacobian, polyfem::mesh::Mesh_Quality::deviation_Jacobian, polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh_Quality::H_Js, hex_tetra_table, polyfem::mesh::Mesh_Quality::min_Jacobian, polyfem::mesh::Mesh3DStorage::points, polyfem::mesh::Mesh3DStorage::type, and polyfem::mesh::Mesh_Quality::V_Js.
Referenced by reorder_hex_mesh_propogation().
void polyfem::mesh::MeshProcessing3D::set_intersection_own | ( | const std::vector< uint32_t > & | A, |
const std::vector< uint32_t > & | B, | ||
std::array< uint32_t, 2 > & | C, | ||
int & | num | ||
) |
Definition at line 1737 of file MeshProcessing3D.cpp.
Referenced by polyfem::mesh::Navigation3D::get_index_from_element_face(), and polyfem::mesh::Navigation3D::switch_face().
void polyfem::mesh::MeshProcessing3D::straight_sweeping | ( | const Mesh3DStorage & | Mi, |
int | sweep_coord, | ||
double | height, | ||
int | nlayer, | ||
Mesh3DStorage & | Mo | ||
) |
Definition at line 1371 of file MeshProcessing3D.cpp.
References build_connectivity(), polyfem::mesh::Mesh3DStorage::edges, polyfem::mesh::Mesh3DStorage::elements, polyfem::mesh::Mesh3DStorage::faces, polyfem::mesh::Element::fs, polyfem::mesh::Element::fs_flag, polyfem::mesh::Element::hex, polyfem::mesh::Vertex::id, polyfem::mesh::Face::id, polyfem::mesh::Element::id, polyfem::logger(), orient_volume_mesh(), polyfem::mesh::Mesh3DStorage::points, polyfem::mesh::Mesh3DStorage::type, polyfem::mesh::Vertex::v, polyfem::mesh::Element::v_in_Kernel, polyfem::mesh::Mesh3DStorage::vertices, and polyfem::mesh::Face::vs.
const int polyfem::mesh::MeshProcessing3D::hex_face_table[6][4] |
Definition at line 15 of file MeshProcessing3D.hpp.
Referenced by build_connectivity(), refine_catmul_clark_polar(), and reorder_hex_mesh_propogation().
const int polyfem::mesh::MeshProcessing3D::hex_tetra_table[8][4] |
Definition at line 24 of file MeshProcessing3D.hpp.
Referenced by scaled_jacobian().
const int polyfem::mesh::MeshProcessing3D::tet_edges[6][2] |
Definition at line 40 of file MeshProcessing3D.hpp.
Referenced by refine_red_refinement_tet().
const int polyfem::mesh::MeshProcessing3D::tet_faces[4][3] |
Definition at line 35 of file MeshProcessing3D.hpp.
Referenced by refine_red_refinement_tet().