Public Member Functions | Protected Attributes | Private Member Functions | List of all members
oomph::TetMeshFacetedSurface Class Reference

#include <tet_mesh.h>

+ Inheritance diagram for oomph::TetMeshFacetedSurface:

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...
 
TetMeshFacetfacet_pt (const unsigned &j) const
 Pointer to j-th facet. More...
 
TetMeshVertexvertex_pt (const unsigned &j) const
 Pointer to j-th vertex. More...
 
DiskLikeGeomObjectWithBoundariesgeom_object_with_boundaries_pt ()
 Access to GeomObject with boundaries associated with this surface (Null if there isn't one!) More...
 
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 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. More...
 
virtual void boundary_zeta12 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta)
 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. More...
 
virtual void boundary_zeta20 (const unsigned &facet_id, const double &zeta_boundary, Vector< double > &zeta)
 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. More...
 
Vector< unsigned > vertex_index_in_tetgen (const unsigned &f)
 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. More...
 

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
 Boolean to indicate whether extra vertices can be added on the boundary in tetgen. More...
 
Vector< Vector< unsigned > > Facet_vertex_index_in_tetgen
 Facet connectivity: Facet_vertex_index[f][j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f. More...
 
DiskLikeGeomObjectWithBoundariesGeom_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...
 

Detailed Description

Base class for tet mesh boundary defined by polygonal planar facets

Definition at line 302 of file tet_mesh.h.

Constructor & Destructor Documentation

◆ TetMeshFacetedSurface()

oomph::TetMeshFacetedSurface::TetMeshFacetedSurface ( )
inline

Constructor:

Definition at line 307 of file tet_mesh.h.

◆ ~TetMeshFacetedSurface()

virtual oomph::TetMeshFacetedSurface::~TetMeshFacetedSurface ( )
inlinevirtual

Empty destructor.

Definition at line 312 of file tet_mesh.h.

Member Function Documentation

◆ boundaries_can_be_split_in_tetgen()

bool oomph::TetMeshFacetedSurface::boundaries_can_be_split_in_tetgen ( )
inline

Test whether boundary can be split in tetgen.

Definition at line 351 of file tet_mesh.h.

Referenced by oomph::TetgenMesh< ELEMENT >::TetgenMesh().

◆ boundary_zeta01()

virtual void oomph::TetMeshFacetedSurface::boundary_zeta01 ( const unsigned &  facet_id,
const double &  zeta_boundary,
Vector< double > &  zeta 
)
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.

Definition at line 413 of file tet_mesh.h.

◆ boundary_zeta12()

virtual void oomph::TetMeshFacetedSurface::boundary_zeta12 ( const unsigned &  facet_id,
const double &  zeta_boundary,
Vector< double > &  zeta 
)
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.

Definition at line 430 of file tet_mesh.h.

◆ boundary_zeta20()

virtual void oomph::TetMeshFacetedSurface::boundary_zeta20 ( const unsigned &  facet_id,
const double &  zeta_boundary,
Vector< double > &  zeta 
)
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.

Definition at line 447 of file tet_mesh.h.

◆ disable_boundaries_can_be_split_in_tetgen()

void oomph::TetMeshFacetedSurface::disable_boundaries_can_be_split_in_tetgen ( )
inline

Test whether boundaries can be split in tetgen.

Definition at line 363 of file tet_mesh.h.

◆ enable_boundaries_can_be_split_in_tetgen()

void oomph::TetMeshFacetedSurface::enable_boundaries_can_be_split_in_tetgen ( )
inline

Test whether boundaries can be split in tetgen.

Definition at line 357 of file tet_mesh.h.

◆ facet_pt()

TetMeshFacet* oomph::TetMeshFacetedSurface::facet_pt ( const unsigned &  j) const
inline

◆ geom_object_with_boundaries_pt()

DiskLikeGeomObjectWithBoundaries* oomph::TetMeshFacetedSurface::geom_object_with_boundaries_pt ( )
inline

Access to GeomObject with boundaries associated with this surface (Null if there isn't one!)

Definition at line 382 of file tet_mesh.h.

Referenced by oomph::TetMeshBase::snap_nodes_onto_geometric_objects().

◆ nfacet()

unsigned oomph::TetMeshFacetedSurface::nfacet ( ) const
inline

◆ nvertex()

unsigned oomph::TetMeshFacetedSurface::nvertex ( ) const
inline

Number of vertices.

Definition at line 315 of file tet_mesh.h.

Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio(), and oomph::GmshTetScaffoldMesh::write_geo_file().

◆ nvertex_on_facet()

unsigned oomph::TetMeshFacetedSurface::nvertex_on_facet ( const unsigned &  j) const
inline

Number of vertices defining the j-th facet.

Definition at line 345 of file tet_mesh.h.

◆ one_based_facet_boundary_id()

unsigned oomph::TetMeshFacetedSurface::one_based_facet_boundary_id ( const unsigned &  j) const
inline

◆ one_based_vertex_boundary_id()

unsigned oomph::TetMeshFacetedSurface::one_based_vertex_boundary_id ( const unsigned &  j) const
inline

First (of possibly multiple) one-based boundary id of j-th vertex.

Definition at line 333 of file tet_mesh.h.

Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().

◆ output() [1/2]

void oomph::TetMeshFacetedSurface::output ( std::ostream &  outfile) const
inline

Output.

Definition at line 388 of file tet_mesh.h.

◆ output() [2/2]

void oomph::TetMeshFacetedSurface::output ( const std::string &  filename) const
inline

Output.

Definition at line 399 of file tet_mesh.h.

References oomph::output().

◆ setup_facet_connectivity_for_tetgen()

void oomph::TetMeshFacetedSurface::setup_facet_connectivity_for_tetgen ( )
inlineprivate

Setup facet connectivity for tetgen.

Definition at line 495 of file tet_mesh.h.

◆ vertex_coordinate()

double oomph::TetMeshFacetedSurface::vertex_coordinate ( const unsigned &  j,
const unsigned &  i 
) const
inline

i-th coordinate of j-th vertex

Definition at line 339 of file tet_mesh.h.

Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().

◆ vertex_index_in_tetgen()

Vector<unsigned> oomph::TetMeshFacetedSurface::vertex_index_in_tetgen ( const unsigned &  f)
inline

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.

Definition at line 462 of file tet_mesh.h.

Referenced by oomph::TetgenMesh< ELEMENT >::build_tetgenio().

◆ vertex_pt()

TetMeshVertex* oomph::TetMeshFacetedSurface::vertex_pt ( const unsigned &  j) const
inline

Pointer to j-th vertex.

Definition at line 375 of file tet_mesh.h.

Referenced by oomph::GmshTetScaffoldMesh::write_geo_file().

Member Data Documentation

◆ Boundaries_can_be_split_in_tetgen

bool oomph::TetMeshFacetedSurface::Boundaries_can_be_split_in_tetgen
protected

Boolean to indicate whether extra vertices can be added on the boundary in tetgen.

Definition at line 481 of file tet_mesh.h.

◆ Facet_pt

Vector<TetMeshFacet*> oomph::TetMeshFacetedSurface::Facet_pt
protected

Vector of pointers to facets.

Definition at line 477 of file tet_mesh.h.

◆ Facet_vertex_index_in_tetgen

Vector<Vector<unsigned> > oomph::TetMeshFacetedSurface::Facet_vertex_index_in_tetgen
protected

Facet connectivity: Facet_vertex_index[f][j] is the index of the j-th vertex (in the Vertex_pt vector) in facet f.

Definition at line 485 of file tet_mesh.h.

◆ Geom_object_with_boundaries_pt

DiskLikeGeomObjectWithBoundaries* oomph::TetMeshFacetedSurface::Geom_object_with_boundaries_pt
protected

GeomObject with boundaries associated with this surface.

Definition at line 488 of file tet_mesh.h.

◆ Vertex_pt

Vector<TetMeshVertex*> oomph::TetMeshFacetedSurface::Vertex_pt
protected

Vector pointers to vertices.

Definition at line 474 of file tet_mesh.h.


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