![]() |
|
#include <tet_mesh.h>
Public Member Functions | |
TetMeshFacetedSurface () | |
Constructor: More... | |
virtual | ~TetMeshFacetedSurface () |
Empty destructor. More... | |
unsigned | nvertex () const |
Number of vertices. More... | |
unsigned | nfacet () const |
Number of facets. More... | |
unsigned | one_based_facet_boundary_id (const unsigned &j) const |
One-based boundary id of j-th facet. More... | |
unsigned | one_based_vertex_boundary_id (const unsigned &j) const |
First (of possibly multiple) one-based boundary id of j-th vertex. More... | |
double | vertex_coordinate (const unsigned &j, const unsigned &i) const |
i-th coordinate of j-th vertex More... | |
unsigned | nvertex_on_facet (const unsigned &j) const |
Number of vertices defining the j-th facet. More... | |
bool | boundaries_can_be_split_in_tetgen () |
Test whether boundary can be split in tetgen. More... | |
void | enable_boundaries_can_be_split_in_tetgen () |
Test whether boundaries can be split in tetgen. More... | |
void | disable_boundaries_can_be_split_in_tetgen () |
Test whether boundaries can be split in tetgen. More... | |
TetMeshFacet * | facet_pt (const unsigned &j) const |
Pointer to j-th facet. More... | |
TetMeshVertex * | vertex_pt (const unsigned &j) const |
Pointer to j-th vertex. More... | |
DiskLikeGeomObjectWithBoundaries * | geom_object_with_boundaries_pt () |
void | output (std::ostream &outfile) const |
Output. More... | |
void | output (const std::string &filename) const |
Output. More... | |
virtual void | boundary_zeta01 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
virtual void | boundary_zeta12 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
virtual void | boundary_zeta20 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta) |
Vector< unsigned > | vertex_index_in_tetgen (const unsigned &f) |
Protected Attributes | |
Vector< TetMeshVertex * > | Vertex_pt |
Vector pointers to vertices. More... | |
Vector< TetMeshFacet * > | Facet_pt |
Vector of pointers to facets. More... | |
bool | Boundaries_can_be_split_in_tetgen |
Vector< Vector< unsigned > > | Facet_vertex_index_in_tetgen |
DiskLikeGeomObjectWithBoundaries * | Geom_object_with_boundaries_pt |
GeomObject with boundaries associated with this surface. More... | |
Private Member Functions | |
void | setup_facet_connectivity_for_tetgen () |
Setup facet connectivity for tetgen. More... | |
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// Base class for tet mesh boundary defined by polygonal planar facets
|
inline |
Constructor:
|
inlinevirtual |
|
inline |
Test whether boundary can be split in tetgen.
References Boundaries_can_be_split_in_tetgen.
Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 0 and 1 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 0; zeta_boundary=1.0: we're on vertex 1.
Reimplemented in oomph::DiskTetMeshFacetedSurface.
References Facet_pt, and Eigen::zeta().
Referenced by oomph::TetMeshBase::snap_nodes_onto_geometric_objects().
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 1 and 2 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 1; zeta_boundary=1.0: we're on vertex 2.
References Facet_pt, and Eigen::zeta().
Referenced by oomph::TetMeshBase::snap_nodes_onto_geometric_objects().
|
inlinevirtual |
Virtual function that specifies the variation of the zeta coordinates in the GeomObject along the boundary connecting vertices 2 and 0 in facet facet_id. Default implementation: Linear interpolation between edges. zeta_boundary=0.0: we're on vertex 2; zeta_boundary=1.0: we're on vertex 0.
References Facet_pt, and Eigen::zeta().
Referenced by oomph::TetMeshBase::snap_nodes_onto_geometric_objects().
|
inline |
Test whether boundaries can be split in tetgen.
References Boundaries_can_be_split_in_tetgen.
|
inline |
Test whether boundaries can be split in tetgen.
References Boundaries_can_be_split_in_tetgen.
|
inline |
|
inline |
Access to GeomObject with boundaries associated with this surface (Null if there isn't one!)
References Geom_object_with_boundaries_pt.
Referenced by oomph::TetMeshBase::snap_nodes_onto_geometric_objects().
|
inline |
Number of facets.
References Facet_pt.
Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), setup_facet_connectivity_for_tetgen(), oomph::TetgenMesh< ELEMENT >::setup_reverse_lookup_schemes_for_faceted_surface(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::RefineableTetgenMesh< ELEMENT >::update_faceted_surface_using_face_mesh(), vertex_index_in_tetgen(), oomph::GmshTetScaffoldMesh::write_geo_file(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
|
inline |
Number of vertices.
References Vertex_pt.
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::GmshTetScaffoldMesh::write_geo_file(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
|
inline |
One-based boundary id of j-th facet.
Referenced by oomph::GmshTetMesh< ELEMENT >::build_it(), oomph::TetgenMesh< ELEMENT >::build_tetgenio(), oomph::TetgenMesh< ELEMENT >::setup_reverse_lookup_schemes_for_faceted_surface(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::RefineableTetgenMesh< ELEMENT >::update_faceted_surface_using_face_mesh(), and oomph::GmshTetScaffoldMesh::write_geo_file().
|
inline |
First (of possibly multiple) one-based boundary id of j-th vertex.
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().
|
inline |
Output.
References MergeRestartFiles::filename, and output().
|
inline |
Output.
References Facet_pt, j, and n.
Referenced by FallingBlockProblem< ELEMENT >::FallingBlockProblem(), output(), and TetmeshPoissonProblem< ELEMENT >::TetmeshPoissonProblem().
|
inlineprivate |
Setup facet connectivity for tetgen.
References f(), Facet_pt, Facet_vertex_index_in_tetgen, j, nfacet(), v, and Vertex_pt.
Referenced by vertex_index_in_tetgen().
Facet connectivity: vertex_index[j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f. Bit of an obscure functionality that's only needed for setup tetgen_io.
References f(), Facet_vertex_index_in_tetgen, nfacet(), and setup_facet_connectivity_for_tetgen().
Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().
|
inline |
Pointer to j-th vertex.
Referenced by oomph::DiskTetMeshFacetedSurface::boundary_zeta01(), and oomph::GmshTetScaffoldMesh::write_geo_file().
|
protected |
Boolean to indicate whether extra vertices can be added on the boundary in tetgen
Referenced by boundaries_can_be_split_in_tetgen(), disable_boundaries_can_be_split_in_tetgen(), and enable_boundaries_can_be_split_in_tetgen().
|
protected |
Vector of pointers to facets.
Referenced by oomph::DiskTetMeshFacetedSurface::boundary_zeta01(), boundary_zeta01(), boundary_zeta12(), boundary_zeta20(), oomph::RectangularTetMeshFacetedSurface::build_it(), oomph::CubicTetMeshFacetedSurface::build_it(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), oomph::DiskWithTwoLayersTetMeshFacetedSurface::DiskWithTwoLayersTetMeshFacetedSurface(), facet_pt(), nfacet(), nvertex_on_facet(), one_based_facet_boundary_id(), output(), setup_facet_connectivity_for_tetgen(), oomph::TetMeshFacetedClosedSurfaceForRemesh::TetMeshFacetedClosedSurfaceForRemesh(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().
Facet connectivity: Facet_vertex_index[f][j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f.
Referenced by setup_facet_connectivity_for_tetgen(), and vertex_index_in_tetgen().
|
protected |
GeomObject with boundaries associated with this surface.
Referenced by oomph::DiskTetMeshFacetedSurface::boundary_zeta01(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), and geom_object_with_boundaries_pt().
|
protected |
Vector pointers to vertices.
Referenced by oomph::RectangularTetMeshFacetedSurface::build_it(), oomph::CubicTetMeshFacetedSurface::build_it(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), oomph::DiskWithTwoLayersTetMeshFacetedSurface::DiskWithTwoLayersTetMeshFacetedSurface(), nvertex(), one_based_vertex_boundary_id(), setup_facet_connectivity_for_tetgen(), oomph::TetMeshFacetedClosedSurfaceForRemesh::TetMeshFacetedClosedSurfaceForRemesh(), vertex_coordinate(), vertex_pt(), and oomph::TetMeshFacetedClosedSurfaceForRemesh::~TetMeshFacetedClosedSurfaceForRemesh().