#include <unstructured_two_d_mesh_geometry_base.h>
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... | |
TriangleMeshPolyLine * | polyline_pt (const unsigned &i) const |
Pointer to i-th constituent polyline. More... | |
TriangleMeshPolyLine * | polyline_pt (const unsigned &i) |
Pointer to i-th constituent polyline. More... | |
![]() | |
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 TriangleMeshCurveSection * | curve_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 | |
![]() | |
Vector< TriangleMeshCurveSection * > | Curve_section_pt |
Vector of curve sections. More... | |
Base class defining an open curve for the Triangle mesh generation Basically used to define internal boundaries on the mesh
Definition at line 1512 of file unstructured_two_d_mesh_geometry_base.h.
oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve | ( | const Vector< TriangleMeshCurveSection *> & | curve_section_pt | ) |
Constructor.
Class defining an open curve for the Triangle mesh generation.
Definition at line 1870 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().
|
inlinevirtual |
Empty destructor.
Definition at line 1522 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Total number of segments.
Implements oomph::TriangleMeshCurve.
Definition at line 1537 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Number of vertices.
Implements oomph::TriangleMeshCurve.
Definition at line 1525 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inlinevirtual |
Output each sub-boundary at n_sample (default: 50) points.
Implements oomph::TriangleMeshCurve.
Definition at line 1547 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inline |
Pointer to i-th constituent polyline.
Definition at line 1558 of file unstructured_two_d_mesh_geometry_base.h.
References i.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::RefineableTriangleMesh< ELEMENT >::create_temporary_boundary_connections(), oomph::RefineableTriangleMesh< ELEMENT >::restore_boundary_connections(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh().
|
inline |
Pointer to i-th constituent polyline.
Definition at line 1581 of file unstructured_two_d_mesh_geometry_base.h.
References i.