#include <unstructured_two_d_mesh_geometry_base.h>
Public Member Functions | |
TriangleMeshCurve (const Vector< TriangleMeshCurveSection *> &curve_section_pt) | |
Empty constructor. More... | |
virtual | ~TriangleMeshCurve () |
Empty destructor. More... | |
virtual unsigned | nvertices () const =0 |
Number of vertices. More... | |
virtual unsigned | nsegments () const =0 |
Total number of segments. 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 void | output (std::ostream &outfile, const unsigned &n_sample=50)=0 |
Output each sub-boundary at n_sample (default: 50) points. 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... | |
Protected Attributes | |
Vector< TriangleMeshCurveSection * > | Curve_section_pt |
Vector of curve sections. More... | |
Private Attributes | |
double | Polyline_refinement_tolerance |
Tolerance for refinement of polylines (neg if refinement is disabled) More... | |
double | Polyline_unrefinement_tolerance |
Tolerance for unrefinement of polylines (neg if refinement is disabled) More... | |
closed curves and open curves. All TriangleMeshCurves are composed of a Vector of TriangleMeshCurveSections
Definition at line 1047 of file unstructured_two_d_mesh_geometry_base.h.
|
inline |
Empty constructor.
Definition at line 1053 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Empty destructor.
Definition at line 1062 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Pointer to i-th constituent curve section.
Definition at line 1213 of file unstructured_two_d_mesh_geometry_base.h.
References i.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper(), oomph::RefineableTriangleMesh< ELEMENT >::get_face_mesh_representation(), oomph::UnstructuredTwoDMeshGeometryBase::set_geom_objects_and_coordinate_limits_for_close_curve(), oomph::UnstructuredTwoDMeshGeometryBase::set_geom_objects_and_coordinate_limits_for_open_curve(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_elements_area(), oomph::RefineableTriangleMesh< ELEMENT >::update_open_curve_using_face_mesh(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_after_restart(), oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_elements_area(), and oomph::RefineableTriangleMesh< ELEMENT >::update_polygon_using_face_mesh().
|
inlinevirtual |
Pointer to i-th constituent curve section.
Definition at line 1217 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inline |
Disable refinement of polylines.
Definition at line 1136 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inline |
Disable unrefinement of polylines.
Definition at line 1199 of file unstructured_two_d_mesh_geometry_base.h.
References i, and oomph::output().
|
inline |
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.
Definition at line 1093 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inline |
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.
Definition at line 1153 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inline |
Return max boundary id of associated curves.
Definition at line 1071 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
inlinevirtual |
Number of constituent curves.
Reimplemented in oomph::TriangleMeshPolygon.
Definition at line 1084 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::RefineableTriangleMesh< ELEMENT >::add_vertices_for_non_deletion(), oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper(), oomph::RefineableTriangleMesh< ELEMENT >::create_temporary_boundary_connections(), oomph::RefineableTriangleMesh< ELEMENT >::get_face_mesh_representation(), oomph::RefineableTriangleMesh< ELEMENT >::restore_boundary_connections(), oomph::UnstructuredTwoDMeshGeometryBase::set_geom_objects_and_coordinate_limits_for_close_curve(), oomph::UnstructuredTwoDMeshGeometryBase::set_geom_objects_and_coordinate_limits_for_open_curve(), 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().
|
pure virtual |
Total number of segments.
Implemented in oomph::TriangleMeshOpenCurve, and oomph::TriangleMeshClosedCurve.
|
pure virtual |
Number of vertices.
Implemented in oomph::TriangleMeshOpenCurve, and oomph::TriangleMeshClosedCurve.
|
pure virtual |
Output each sub-boundary at n_sample (default: 50) points.
Implemented in oomph::TriangleMeshOpenCurve, and oomph::TriangleMeshClosedCurve.
|
inline |
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.
Definition at line 1130 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), and oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper().
|
inline |
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.
Definition at line 1193 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), and oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper().
|
inline |
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()
Definition at line 1113 of file unstructured_two_d_mesh_geometry_base.h.
References i.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper().
|
inline |
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()
Definition at line 1176 of file unstructured_two_d_mesh_geometry_base.h.
References i.
|
protected |
Vector of curve sections.
Definition at line 1223 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve(), and oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve().
|
private |
Tolerance for refinement of polylines (neg if refinement is disabled)
Definition at line 1228 of file unstructured_two_d_mesh_geometry_base.h.
|
private |
Tolerance for unrefinement of polylines (neg if refinement is disabled)
Definition at line 1231 of file unstructured_two_d_mesh_geometry_base.h.