![]() |
|
#include <unstructured_two_d_mesh_geometry_base.h>
Public Member Functions | |
TriangleMeshCurviLine (GeomObject *geom_object_pt, const double &zeta_start, const double &zeta_end, const unsigned &nsegment, const unsigned &boundary_id, const bool &space_vertices_evenly_in_arclength=true, const unsigned &boundary_chunk=0) | |
virtual | ~TriangleMeshCurviLine () |
Empty Destuctor. More... | |
GeomObject * | geom_object_pt () |
Pointer to GeomObject that represents this part of the boundary. More... | |
double | zeta_start () |
Start coordinate in terms of the GeomObject's intrinsic coordinate. More... | |
double | zeta_end () |
End coordinate in terms of the GeomObject's intrinsic coordinate. More... | |
unsigned | nsegment () const |
unsigned & | nsegment () |
unsigned | boundary_id () const |
Boundary ID. More... | |
unsigned | boundary_chunk () const |
void | output (std::ostream &outfile, const unsigned &n_sample=50) |
Output curvilinear boundary at n_sample (default: 50) points. More... | |
bool | space_vertices_evenly_in_arclength () const |
unsigned | nvertex () const |
Number of vertices. More... | |
void | initial_vertex_coordinate (Vector< double > &vertex) |
Get first vertex coordinates. More... | |
void | final_vertex_coordinate (Vector< double > &vertex) |
Get last vertex coordinates. More... | |
bool | are_there_connection_points () |
Does the vector for storing connections has elements? More... | |
Vector< double > * | connection_points_pt () |
Returns the connection points vector. More... | |
void | add_connection_point (const double &z_value, const double &tol=1.0e-12) |
![]() | |
TriangleMeshCurveSection () | |
Empty constructor. Initialises the curve section as non connected. More... | |
virtual | ~TriangleMeshCurveSection () |
Empty destructor. More... | |
void | enable_refinement_tolerance (const double &tolerance=0.08) |
void | set_refinement_tolerance (const double &tolerance) |
double | refinement_tolerance () |
void | disable_refinement_tolerance () |
Disable refinement of curve section. More... | |
void | enable_unrefinement_tolerance (const double &tolerance=0.04) |
void | set_unrefinement_tolerance (const double &tolerance) |
double | unrefinement_tolerance () |
void | disable_unrefinement_tolerance () |
Disable unrefinement of curve sections. More... | |
void | set_maximum_length (const double &maximum_length) |
void | disable_use_maximum_length () |
double | maximum_length () |
Gets access to the maximum length variable. More... | |
void | connect_initial_vertex_to_polyline (TriangleMeshPolyLine *polyline_pt, const unsigned &vertex_number, const double &tolerance_for_connection=1.0e-14) |
void | connect_final_vertex_to_polyline (TriangleMeshPolyLine *polyline_pt, const unsigned &vertex_number, const double &tolerance_for_connection=1.0e-14) |
void | connect_initial_vertex_to_curviline (TriangleMeshCurviLine *curviline_pt, const double &s_value, const double &tolerance_for_connection=1.0e-14) |
void | connect_final_vertex_to_curviline (TriangleMeshCurviLine *curviline_pt, const double &s_value, const double &tolerance_for_connection=1.0e-14) |
bool | is_initial_vertex_connected () const |
Test whether initial vertex is connected or not. More... | |
void | set_initial_vertex_connected () |
Sets the initial vertex as connected. More... | |
void | unset_initial_vertex_connected () |
Sets the initial vertex as non connected. More... | |
void | suspend_initial_vertex_connected () |
void | resume_initial_vertex_connected () |
bool | is_final_vertex_connected () const |
Test whether final vertex is connected or not. More... | |
void | set_final_vertex_connected () |
Sets the final vertex as connected. More... | |
void | unset_final_vertex_connected () |
Sets the final vertex as non connected. More... | |
void | suspend_final_vertex_connected () |
void | resume_final_vertex_connected () |
unsigned | initial_vertex_connected_bnd_id () const |
Gets the id to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_bnd_id () |
Sets the id to which the initial end is connected. More... | |
unsigned | initial_vertex_connected_n_vertex () const |
Gets the vertex number to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_n_vertex () |
Sets the vertex number to which the initial end is connected. More... | |
unsigned | initial_vertex_connected_n_chunk () const |
Gets the boundary chunk to which the initial end is connected. More... | |
unsigned & | initial_vertex_connected_n_chunk () |
Sets the boundary chunk to which the initial end is connected. More... | |
unsigned | final_vertex_connected_bnd_id () const |
Gets the id to which the final end is connected. More... | |
unsigned & | final_vertex_connected_bnd_id () |
Sets the id to which the final end is connected. More... | |
unsigned | final_vertex_connected_n_vertex () const |
Sets the vertex number to which the final end is connected. More... | |
unsigned & | final_vertex_connected_n_vertex () |
Gets the vertex number to which the final end is connected. More... | |
unsigned | final_vertex_connected_n_chunk () const |
Gets the boundary chunk to which the final end is connected. More... | |
unsigned & | final_vertex_connected_n_chunk () |
Sets the boundary chunk to which the final end is connected. More... | |
bool | is_initial_vertex_connected_to_curviline () const |
Test whether the initial vertex is connected to a curviline. More... | |
void | set_initial_vertex_connected_to_curviline () |
Sets the initial vertex as connected to a curviline. More... | |
void | unset_initial_vertex_connected_to_curviline () |
Sets the initial vertex as non connected to a curviline. More... | |
bool | is_final_vertex_connected_to_curviline () const |
Test whether the final vertex is connected to a curviline. More... | |
void | set_final_vertex_connected_to_curviline () |
Sets the final vertex as connected to a curviline. More... | |
void | unset_final_vertex_connected_to_curviline () |
Sets the final vertex as non connected to a curviline. More... | |
double | initial_s_connection_value () const |
Gets the s value to which the initial end is connected. More... | |
double & | initial_s_connection_value () |
Sets the s value to which the initial end is connected. More... | |
double | final_s_connection_value () const |
Gets the s value to which the final end is connected. More... | |
double & | final_s_connection_value () |
Sets the s value to which the final end is connected. More... | |
double | tolerance_for_s_connection () const |
double & | tolerance_for_s_connection () |
Private Attributes | |
GeomObject * | Geom_object_pt |
Pointer to GeomObject that represents this part of the boundary. More... | |
double | Zeta_start |
Start coordinate in terms of the GeomObject's intrinsic coordinate. More... | |
double | Zeta_end |
End coordinate in terms of the GeomObject's intrinsic coordinate. More... | |
unsigned | Nsegment |
unsigned | Boundary_id |
Boundary ID. More... | |
bool | Space_vertices_evenly_in_arclength |
unsigned | Boundary_chunk |
Vector< double > | Connection_points_pt |
Additional Inherited Members | |
![]() | |
bool | Initial_vertex_connected |
bool | Final_vertex_connected |
bool | Initial_vertex_connected_suspended |
bool | Final_vertex_connected_suspended |
unsigned | Initial_vertex_connected_bnd_id |
Stores the id to which the initial end is connected. More... | |
unsigned | Initial_vertex_connected_n_vertex |
unsigned | Initial_vertex_connected_n_chunk |
unsigned | Final_vertex_connected_bnd_id |
Stores the id to which the initial end is connected. More... | |
unsigned | Final_vertex_connected_n_vertex |
unsigned | Final_vertex_connected_n_chunk |
bool | Initial_vertex_connected_to_curviline |
States if the initial vertex is connected to a curviline. More... | |
bool | Final_vertex_connected_to_curviline |
States if the final vertex is connected to a curviline. More... | |
double | Initial_s_connection_value |
double | Final_s_connection_value |
double | Tolerance_for_s_connection |
Tolerance used for connecting the ends to a curviline. More... | |
Class definining a curvilinear triangle mesh boundary in terms of a GeomObject. Curvlinear equivalent of PolyLine.
|
inline |
Constructor: Specify GeomObject, the start and end coordinates of the relevant boundary in terms of the GeomObject's intrinsic coordinate, the number of (initially straight-line) segments that this GeomObject is to be split up into, and the boundary ID. The final optional boolean argument specifies if vertices in polygonhal represenation are spaced (approximately) evenly in arclength along the GeomObject [true, default] or in equal increments in zeta. This is the curvlinear equivalent of PolyLine.
|
inlinevirtual |
|
inline |
Add the connection point (z_value) to the connection points that receive the curviline
References Connection_points_pt, boost::multiprecision::fabs(), i, Zeta_end, and Zeta_start.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
|
inline |
Does the vector for storing connections has elements?
References Connection_points_pt.
|
inlinevirtual |
Boundary chunk (Used when a boundary is represented by more than one polyline
Implements oomph::TriangleMeshCurveSection.
References Boundary_chunk.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
|
inlinevirtual |
Boundary ID.
Implements oomph::TriangleMeshCurveSection.
References Boundary_id.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
Returns the connection points vector.
References Connection_points_pt.
|
inlinevirtual |
Get last vertex coordinates.
Implements oomph::TriangleMeshCurveSection.
References Geom_object_pt, oomph::GeomObject::position(), and Zeta_end.
|
inline |
Pointer to GeomObject that represents this part of the boundary.
References Geom_object_pt.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
|
inlinevirtual |
Get first vertex coordinates.
Implements oomph::TriangleMeshCurveSection.
References Geom_object_pt, oomph::GeomObject::position(), and Zeta_start.
|
inline |
|
inlinevirtual |
Number of (initially straight-line) segments that this part of the boundary is to be represented by
Implements oomph::TriangleMeshCurveSection.
References Nsegment.
|
inlinevirtual |
|
inlinevirtual |
Output curvilinear boundary at n_sample (default: 50) points.
Implements oomph::TriangleMeshCurveSection.
References Boundary_id, Geom_object_pt, i, oomph::GeomObject::position(), UniformPSDSelfTest::r, Eigen::zeta(), Zeta_end, and Zeta_start.
|
inline |
Boolean to indicate if vertices in polygonal representation of the Curvline are spaced (approximately) evenly in arclength along the GeomObject [true] or in equal increments in zeta [false]
References Space_vertices_evenly_in_arclength.
|
inline |
End coordinate in terms of the GeomObject's intrinsic coordinate.
References Zeta_end.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
|
inline |
Start coordinate in terms of the GeomObject's intrinsic coordinate.
References Zeta_start.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_curviline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_curviline().
|
private |
Boundary chunk (Used when a boundary is represented by more than one polyline
Referenced by boundary_chunk().
|
private |
Boundary ID.
Referenced by boundary_id(), and output().
Stores the information for connections received on the curviline. Used when converting to polyline
Referenced by add_connection_point(), are_there_connection_points(), and connection_points_pt().
|
private |
Pointer to GeomObject that represents this part of the boundary.
Referenced by final_vertex_coordinate(), geom_object_pt(), initial_vertex_coordinate(), and output().
|
private |
Number of (initially straight-line) segments that this part of the boundary is to be represented by
Referenced by nsegment().
|
private |
Boolean to indicate if vertices in polygonal representation of the Curviline are spaced (approximately) evenly in arclength along the GeomObject [true] or in equal increments in zeta [false]
Referenced by space_vertices_evenly_in_arclength().
|
private |
End coordinate in terms of the GeomObject's intrinsic coordinate.
Referenced by add_connection_point(), final_vertex_coordinate(), output(), and zeta_end().
|
private |
Start coordinate in terms of the GeomObject's intrinsic coordinate.
Referenced by add_connection_point(), initial_vertex_coordinate(), output(), and zeta_start().