Public Member Functions | List of all members
oomph::TriangleMeshOpenCurve Class Reference

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

#include <unstructured_two_d_mesh_geometry_base.h>

+ Inheritance diagram for oomph::TriangleMeshOpenCurve:

Public Member Functions

 TriangleMeshOpenCurve (const Vector< TriangleMeshCurveSection * > &curve_section_pt)
 Constructor. More...
 
virtual ~TriangleMeshOpenCurve ()
 Empty destructor. More...
 
unsigned nvertices () const
 Number of vertices. More...
 
unsigned nsegments () const
 Total number of segments. More...
 
void output (std::ostream &outfile, const unsigned &n_sample=50)
 Output each sub-boundary at n_sample (default: 50) points. More...
 
TriangleMeshPolyLinepolyline_pt (const unsigned &i) const
 Pointer to i-th constituent polyline. More...
 
TriangleMeshPolyLinepolyline_pt (const unsigned &i)
 Pointer to i-th constituent polyline. More...
 
- Public Member Functions inherited from oomph::TriangleMeshCurve
 TriangleMeshCurve (const Vector< TriangleMeshCurveSection * > &curve_section_pt)
 Empty constructor. More...
 
virtual ~TriangleMeshCurve ()
 Empty destructor. More...
 
unsigned max_boundary_id ()
 Return max boundary id of associated curves. More...
 
virtual unsigned ncurve_section () const
 Number of constituent curves. More...
 
void enable_polyline_refinement (const double &tolerance=0.08)
 Enable refinement of polylines to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the refinement tolerance. It defaults to 0.08 and the smaller the number the finer the surface representation. More...
 
void set_polyline_refinement_tolerance (const double &tolerance)
 Set tolerance for refinement of polylines to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the refinement tolerance. (The smaller the number the finer the surface representation). If set to a negative value, we're switching off refinement – equivalent to calling disable_polyline_refinement() More...
 
double polyline_refinement_tolerance ()
 Get tolerance for refinement of polylines to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative refinement is disabled. More...
 
void disable_polyline_refinement ()
 Disable refinement of polylines. More...
 
void enable_polyline_unrefinement (const double &tolerance=0.04)
 Enable unrefinement of polylines to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines. More...
 
void set_polyline_unrefinement_tolerance (const double &tolerance)
 Set tolerance for unrefinement of polylines to avoid unnecessarily large numbers of elements on of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation of the optional argument which specifies the unrefinement tolerance. It defaults to 0.04 and the larger the number the more agressive we are when removing unnecessary vertices on gently curved polylines. If set to a negative value, we're switching off unrefinement – equivalent to calling disable_polyline_unrefinement() More...
 
double polyline_unrefinement_tolerance ()
 Get tolerance for unrefinement of polylines to create a better representation of curvilinear boundaries (e.g. in free-surface problems). See tutorial for interpretation. If it's negative unrefinement is disabled. More...
 
void disable_polyline_unrefinement ()
 Disable unrefinement of polylines. More...
 
virtual TriangleMeshCurveSectioncurve_section_pt (const unsigned &i) const
 Pointer to i-th constituent curve section. More...
 
virtual TriangleMeshCurveSection *& curve_section_pt (const unsigned &i)
 Pointer to i-th constituent curve section. More...
 

Additional Inherited Members

- Protected Attributes inherited from oomph::TriangleMeshCurve
Vector< TriangleMeshCurveSection * > Curve_section_pt
 Vector of curve sections. More...
 

Detailed Description

////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////

Base class defining an open curve for the Triangle mesh generation Basically used to define internal boundaries on the mesh

Definition at line 1641 of file unstructured_two_d_mesh_geometry_base.h.

Constructor & Destructor Documentation

◆ TriangleMeshOpenCurve()

oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve ( const Vector< TriangleMeshCurveSection * > &  curve_section_pt)

Constructor.

////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////

Class defining an open curve for the Triangle mesh generation

Definition at line 1836 of file unstructured_two_d_mesh_geometry_base.cc.

References oomph::TriangleMeshCurve::Curve_section_pt, i, oomph::TriangleMeshPolyLine::nvertex(), oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, and oomph::TriangleMeshPolyLine::vertex_coordinate().

◆ ~TriangleMeshOpenCurve()

virtual oomph::TriangleMeshOpenCurve::~TriangleMeshOpenCurve ( )
inlinevirtual

Empty destructor.

Definition at line 1649 of file unstructured_two_d_mesh_geometry_base.h.

Member Function Documentation

◆ nsegments()

unsigned oomph::TriangleMeshOpenCurve::nsegments ( ) const
inlinevirtual

◆ nvertices()

unsigned oomph::TriangleMeshOpenCurve::nvertices ( ) const
inlinevirtual

◆ output()

void oomph::TriangleMeshOpenCurve::output ( std::ostream &  outfile,
const unsigned &  n_sample = 50 
)
inlinevirtual

Output each sub-boundary at n_sample (default: 50) points.

Implements oomph::TriangleMeshCurve.

Definition at line 1679 of file unstructured_two_d_mesh_geometry_base.h.

References oomph::TriangleMeshCurve::Curve_section_pt, and i.

◆ polyline_pt() [1/2]

TriangleMeshPolyLine * oomph::TriangleMeshOpenCurve::polyline_pt ( const unsigned &  i)
inline

Pointer to i-th constituent polyline.

Definition at line 1711 of file unstructured_two_d_mesh_geometry_base.h.

References oomph::TriangleMeshCurve::Curve_section_pt, and i.

◆ polyline_pt() [2/2]

TriangleMeshPolyLine * oomph::TriangleMeshOpenCurve::polyline_pt ( const unsigned &  i) const
inline

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