//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// More...
#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 1135 of file unstructured_two_d_mesh_geometry_base.h.
|
inline |
Empty constructor.
Definition at line 1139 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Empty destructor.
Definition at line 1147 of file unstructured_two_d_mesh_geometry_base.h.
|
inlinevirtual |
Pointer to i-th constituent curve section.
Definition at line 1314 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, and i.
|
inlinevirtual |
Pointer to i-th constituent curve section.
Definition at line 1308 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, and 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::TriangleMeshClosedCurve::TriangleMeshClosedCurve(), 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().
|
inline |
Disable refinement of polylines.
Definition at line 1226 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_refinement_tolerance.
|
inline |
Disable unrefinement of polylines.
Definition at line 1291 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_unrefinement_tolerance.
|
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 1183 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_refinement_tolerance.
|
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 1245 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_unrefinement_tolerance.
|
inline |
Return max boundary id of associated curves.
Definition at line 1156 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and ncurve_section().
|
inlinevirtual |
Number of constituent curves.
Reimplemented in oomph::TriangleMeshPolygon.
Definition at line 1172 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt.
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(), max_boundary_id(), oomph::TriangleMeshClosedCurve::nsegments(), oomph::TriangleMeshOpenCurve::nsegments(), oomph::TriangleMeshClosedCurve::nvertices(), oomph::TriangleMeshOpenCurve::nvertices(), 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 1220 of file unstructured_two_d_mesh_geometry_base.h.
References Polyline_refinement_tolerance.
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 1285 of file unstructured_two_d_mesh_geometry_base.h.
References Polyline_unrefinement_tolerance.
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 1203 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_refinement_tolerance.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), and oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_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 1268 of file unstructured_two_d_mesh_geometry_base.h.
References Curve_section_pt, i, and Polyline_unrefinement_tolerance.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), and oomph::UnstructuredTwoDMeshGeometryBase::create_open_curve_with_polyline_helper().
|
protected |
Vector of curve sections.
Definition at line 1321 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by curve_section_pt(), disable_polyline_refinement(), disable_polyline_unrefinement(), enable_polyline_refinement(), enable_polyline_unrefinement(), max_boundary_id(), ncurve_section(), oomph::TriangleMeshPolygon::npolyline(), oomph::TriangleMeshClosedCurve::nsegments(), oomph::TriangleMeshOpenCurve::nsegments(), oomph::TriangleMeshClosedCurve::nvertices(), oomph::TriangleMeshOpenCurve::nvertices(), oomph::TriangleMeshClosedCurve::output(), oomph::TriangleMeshOpenCurve::output(), oomph::TriangleMeshPolygon::polygon_boundary_id(), oomph::TriangleMeshPolygon::polyline_pt(), oomph::TriangleMeshOpenCurve::polyline_pt(), set_polyline_refinement_tolerance(), set_polyline_unrefinement_tolerance(), oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve(), and oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve().
|
private |
Tolerance for refinement of polylines (neg if refinement is disabled)
Definition at line 1325 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_polyline_refinement(), enable_polyline_refinement(), polyline_refinement_tolerance(), and set_polyline_refinement_tolerance().
|
private |
Tolerance for unrefinement of polylines (neg if refinement is disabled)
Definition at line 1328 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by disable_polyline_unrefinement(), enable_polyline_unrefinement(), polyline_unrefinement_tolerance(), and set_polyline_unrefinement_tolerance().