![]() |
|
Class defining a polyline for use in Triangle Mesh generation. More...
#include <unstructured_two_d_mesh_geometry_base.h>
Public Member Functions | |
TriangleMeshPolyLine (const Vector< Vector< double >> &vertex_coordinate, const unsigned &boundary_id, const unsigned &boundary_chunk=0) | |
virtual | ~TriangleMeshPolyLine () |
Empty destructor. More... | |
unsigned | nvertex () const |
Number of vertices. More... | |
unsigned | nsegment () const |
Number of segments. More... | |
unsigned | boundary_id () const |
Boundary id. More... | |
unsigned | boundary_chunk () const |
Vector< double > | vertex_coordinate (const unsigned &i) const |
Coordinate vector of i-th vertex (const version) More... | |
Vector< double > & | vertex_coordinate (const unsigned &i) |
Coordinate vector of i-th vertex. 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... | |
void | output (std::ostream &outfile, const unsigned &n_sample=50) |
Output the polyline – n_sample is ignored. More... | |
void | reverse () |
![]() | |
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 | |
Vector< Vector< double > > | Vertex_coordinate |
Vector of Vector of vertex coordinates. More... | |
unsigned | Boundary_id |
Boundary ID. More... | |
unsigned | Boundary_chunk |
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 defining a polyline for use in Triangle Mesh generation.
|
inline |
Constructor: Takes vectors of vertex coordinates in order Also allows the optional specification of a boundary ID – useful in a mesh generation context. If not specified it defaults to zero.
References i, OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, size, and Vertex_coordinate.
|
inlinevirtual |
|
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_polyline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_polyline().
|
inlinevirtual |
Boundary id.
Implements oomph::TriangleMeshCurveSection.
References Boundary_id.
Referenced by oomph::TriangleMeshCurveSection::connect_final_vertex_to_polyline(), and oomph::TriangleMeshCurveSection::connect_initial_vertex_to_polyline().
|
inlinevirtual |
Get last vertex coordinates.
Implements oomph::TriangleMeshCurveSection.
References nvertex(), and Vertex_coordinate.
|
inlinevirtual |
Get first vertex coordinates.
Implements oomph::TriangleMeshCurveSection.
References Vertex_coordinate.
|
inlinevirtual |
|
inlinevirtual |
Number of vertices.
Implements oomph::TriangleMeshCurveSection.
References Vertex_coordinate.
Referenced by oomph::ImmersedRigidBodyTriangleMeshPolygon::assign_zeta(), oomph::TriangleMeshCurveSection::connect_final_vertex_to_polyline(), oomph::TriangleMeshCurveSection::connect_initial_vertex_to_polyline(), final_vertex_coordinate(), oomph::UnstructuredTwoDMeshGeometryBase::get_connected_vertex_number_on_destination_polyline(), oomph::ImmersedRigidBodyTriangleMeshPolygon::get_initial_position(), oomph::ImmersedRigidBodyTriangleMeshPolygon::reset_reference_configuration(), oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve(), oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve(), and oomph::TriangleMeshPolygon::TriangleMeshPolygon().
|
inlinevirtual |
Output the polyline – n_sample is ignored.
Implements oomph::TriangleMeshCurveSection.
References Boundary_id, i, and Vertex_coordinate.
|
inline |
Reverse the polyline, this includes the connection information and the vertices order
References oomph::TriangleMeshCurveSection::final_s_connection_value(), oomph::TriangleMeshCurveSection::final_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::final_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::initial_s_connection_value(), oomph::TriangleMeshCurveSection::initial_vertex_connected_bnd_id(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_chunk(), oomph::TriangleMeshCurveSection::initial_vertex_connected_n_vertex(), oomph::TriangleMeshCurveSection::is_final_vertex_connected(), oomph::TriangleMeshCurveSection::is_final_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected(), oomph::TriangleMeshCurveSection::is_initial_vertex_connected_to_curviline(), reverse(), oomph::TriangleMeshCurveSection::set_final_vertex_connected(), oomph::TriangleMeshCurveSection::set_final_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::set_initial_vertex_connected(), oomph::TriangleMeshCurveSection::set_initial_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::tolerance_for_s_connection(), oomph::TriangleMeshCurveSection::unset_final_vertex_connected(), oomph::TriangleMeshCurveSection::unset_final_vertex_connected_to_curviline(), oomph::TriangleMeshCurveSection::unset_initial_vertex_connected(), oomph::TriangleMeshCurveSection::unset_initial_vertex_connected_to_curviline(), and Vertex_coordinate.
Coordinate vector of i-th vertex.
References i, and Vertex_coordinate.
Coordinate vector of i-th vertex (const version)
References i, and Vertex_coordinate.
Referenced by oomph::ImmersedRigidBodyTriangleMeshPolygon::assign_zeta(), oomph::TriangleMeshCurveSection::connect_final_vertex_to_polyline(), oomph::TriangleMeshCurveSection::connect_initial_vertex_to_polyline(), oomph::UnstructuredTwoDMeshGeometryBase::get_connected_vertex_number_on_destination_polyline(), oomph::ImmersedRigidBodyTriangleMeshPolygon::get_initial_position(), oomph::ImmersedRigidBodyTriangleMeshPolygon::ImmersedRigidBodyTriangleMeshPolygon(), oomph::ImmersedRigidBodyTriangleMeshPolygon::reset_reference_configuration(), oomph::TriangleMeshClosedCurve::TriangleMeshClosedCurve(), oomph::TriangleMeshOpenCurve::TriangleMeshOpenCurve(), and oomph::TriangleMeshPolygon::TriangleMeshPolygon().
|
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().
Vector of Vector of vertex coordinates.
Referenced by final_vertex_coordinate(), initial_vertex_coordinate(), nsegment(), nvertex(), output(), reverse(), TriangleMeshPolyLine(), and vertex_coordinate().