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

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// More...

#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...
 
void output_paraview (std::ostream &outfile) const
 Outputs the faceted surface into a specified file in the Paraview format for viewing in Paraview. Make sure to output the file with a .vtu extension. (Not particularly optimised) More...
 
void output_paraview (const std::string &filename) const
 Outputs the faceted surface into a file with the specified name in the Paraview format. (Not particularly optimised) 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 305 of file tet_mesh.h.

Constructor & Destructor Documentation

◆ TetMeshFacetedSurface()

oomph::TetMeshFacetedSurface::TetMeshFacetedSurface ( )
inline

Constructor:

Definition at line 309 of file tet_mesh.h.

◆ ~TetMeshFacetedSurface()

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

Empty destructor.

Definition at line 316 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 355 of file tet_mesh.h.

References Boundaries_can_be_split_in_tetgen.

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 603 of file tet_mesh.h.

References Facet_pt.

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

◆ 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 622 of file tet_mesh.h.

References Facet_pt.

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

◆ 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 641 of file tet_mesh.h.

References Facet_pt.

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

◆ 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 367 of file tet_mesh.h.

References Boundaries_can_be_split_in_tetgen.

◆ 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 361 of file tet_mesh.h.

References Boundaries_can_be_split_in_tetgen.

◆ 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 386 of file tet_mesh.h.

References Geom_object_with_boundaries_pt.

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

◆ nfacet()

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

◆ nvertex()

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

◆ 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 349 of file tet_mesh.h.

References Facet_pt.

◆ 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 337 of file tet_mesh.h.

References Vertex_pt.

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

◆ output() [1/2]

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

Output.

Definition at line 403 of file tet_mesh.h.

References output().

◆ output() [2/2]

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

Output.

Definition at line 392 of file tet_mesh.h.

References Facet_pt.

Referenced by output().

◆ output_paraview() [1/2]

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

Outputs the faceted surface into a file with the specified name in the Paraview format. (Not particularly optimised)

Definition at line 589 of file tet_mesh.h.

References output_paraview().

◆ output_paraview() [2/2]

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

Outputs the faceted surface into a specified file in the Paraview format for viewing in Paraview. Make sure to output the file with a .vtu extension. (Not particularly optimised)

Definition at line 418 of file tet_mesh.h.

References Facet_pt, i, and vertex_pt().

Referenced by output_paraview().

◆ setup_facet_connectivity_for_tetgen()

void oomph::TetMeshFacetedSurface::setup_facet_connectivity_for_tetgen ( )
inlineprivate

Setup facet connectivity for tetgen.

Definition at line 688 of file tet_mesh.h.

References Facet_pt, Facet_vertex_index_in_tetgen, nfacet(), and Vertex_pt.

Referenced by vertex_index_in_tetgen().

◆ 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 343 of file tet_mesh.h.

References i, and Vertex_pt.

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 658 of file tet_mesh.h.

References Facet_vertex_index_in_tetgen, nfacet(), and setup_facet_connectivity_for_tetgen().

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 379 of file tet_mesh.h.

References Vertex_pt.

Referenced by output_paraview(), and 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 676 of file tet_mesh.h.

Referenced by boundaries_can_be_split_in_tetgen(), disable_boundaries_can_be_split_in_tetgen(), and enable_boundaries_can_be_split_in_tetgen().

◆ Facet_pt

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

◆ 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 680 of file tet_mesh.h.

Referenced by setup_facet_connectivity_for_tetgen(), and vertex_index_in_tetgen().

◆ Geom_object_with_boundaries_pt

DiskLikeGeomObjectWithBoundaries* oomph::TetMeshFacetedSurface::Geom_object_with_boundaries_pt
protected

GeomObject with boundaries associated with this surface.

Definition at line 683 of file tet_mesh.h.

Referenced by geom_object_with_boundaries_pt().

◆ Vertex_pt

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

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