//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// More...
#include <unstructured_two_d_mesh_geometry_base.h>
Public Member Functions | |
TriangleMeshClosedCurve (const Vector< TriangleMeshCurveSection * > &curve_section_pt, const Vector< double > &internal_point_pt=Vector< double >(0), const bool &is_internal_point_fixed=false) | |
Constructor prototype. More... | |
virtual | ~TriangleMeshClosedCurve () |
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... | |
Vector< double > | internal_point () const |
Coordinates of the internal point. More... | |
Vector< double > & | internal_point () |
Coordinates of the internal point. More... | |
void | fix_internal_point () |
Fix the internal point (i.e. do not allow our automatic machinery to update it) More... | |
void | unfix_internal_point () |
Unfix the internal point (i.e. allow our automatic machinery to update it) More... | |
bool | is_internal_point_fixed () const |
Test whether the internal point is fixed. 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 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< double > | Internal_point_pt |
Vector of vertex coordinates. More... | |
bool | Is_internal_point_fixed |
Indicate whether the internal point should be updated automatically. More... | |
Protected Attributes inherited from oomph::TriangleMeshCurve | |
Vector< TriangleMeshCurveSection * > | Curve_section_pt |
Vector of curve sections. More... | |
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
Base class defining a closed curve for the Triangle mesh generation
Definition at line 1338 of file unstructured_two_d_mesh_geometry_base.h.
oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve | ( | const Vector< TriangleMeshCurveSection * > & | curve_section_pt, |
const Vector< double > & | internal_point_pt = Vector<double>(0) , |
||
const bool & | is_internal_point_fixed = false |
||
) |
Constructor prototype.
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
Class defining a closed curve for the Triangle mesh generation
Definition at line 1420 of file unstructured_two_d_mesh_geometry_base.cc.
References oomph::TriangleMeshCurve::curve_section_pt(), oomph::TriangleMeshCurve::Curve_section_pt, oomph::TriangleMeshCurveSection::final_vertex_coordinate(), i, oomph::TriangleMeshCurveSection::initial_vertex_coordinate(), oomph::TriangleMeshPolyLine::nvertex(), oomph::ToleranceForVertexMismatchInPolygons::Tolerable_error, and oomph::TriangleMeshPolyLine::vertex_coordinate().
|
inlinevirtual |
Empty destructor.
Definition at line 1348 of file unstructured_two_d_mesh_geometry_base.h.
|
inline |
Fix the internal point (i.e. do not allow our automatic machinery to update it)
Definition at line 1416 of file unstructured_two_d_mesh_geometry_base.h.
References Is_internal_point_fixed.
|
inline |
Coordinates of the internal point.
Definition at line 1409 of file unstructured_two_d_mesh_geometry_base.h.
References Internal_point_pt.
|
inline |
Coordinates of the internal point.
Definition at line 1403 of file unstructured_two_d_mesh_geometry_base.h.
References Internal_point_pt.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), oomph::ImmersedRigidBodyTriangleMeshPolygon::reset_reference_configuration(), and oomph::RefineableTriangleMesh< ELEMENT >::surface_remesh_for_inner_hole_boundaries().
|
inline |
Test whether the internal point is fixed.
Definition at line 1429 of file unstructured_two_d_mesh_geometry_base.h.
References Is_internal_point_fixed.
Referenced by oomph::UnstructuredTwoDMeshGeometryBase::closed_curve_to_polygon_helper(), and oomph::RefineableTriangleMesh< ELEMENT >::surface_remesh_for_inner_hole_boundaries().
|
inlinevirtual |
Total number of segments.
Implements oomph::TriangleMeshCurve.
Definition at line 1369 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurve::Curve_section_pt, and oomph::TriangleMeshCurve::ncurve_section().
|
inlinevirtual |
Number of vertices.
Implements oomph::TriangleMeshCurve.
Definition at line 1351 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurve::Curve_section_pt, and oomph::TriangleMeshCurve::ncurve_section().
|
inlinevirtual |
Output each sub-boundary at n_sample (default: 50) points.
Implements oomph::TriangleMeshCurve.
Definition at line 1387 of file unstructured_two_d_mesh_geometry_base.h.
References oomph::TriangleMeshCurve::Curve_section_pt, i, and Internal_point_pt.
|
inline |
Unfix the internal point (i.e. allow our automatic machinery to update it)
Definition at line 1423 of file unstructured_two_d_mesh_geometry_base.h.
References Is_internal_point_fixed.
|
protected |
Vector of vertex coordinates.
Definition at line 1436 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by internal_point(), output(), and oomph::TriangleMeshPolygon::TriangleMeshPolygon().
|
protected |
Indicate whether the internal point should be updated automatically.
Definition at line 1439 of file unstructured_two_d_mesh_geometry_base.h.
Referenced by fix_internal_point(), is_internal_point_fixed(), and unfix_internal_point().