Public Member Functions | Protected Attributes | List of all members
oomph::TriangleMeshParameters Class Reference

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// More...

#include <triangle_mesh.template.h>

Public Member Functions

 TriangleMeshParameters (Vector< TriangleMeshClosedCurve * > &outer_boundary_pt)
 Constructor: Only takes the outer boundary, all the other parameters are stated with the specific parameters. More...
 
 TriangleMeshParameters (TriangleMeshClosedCurve *outer_boundary_pt)
 Constructor: Only takes the outer boundary, all the other parameters are stated with the specific parameters. More...
 
 TriangleMeshParameters ()
 Constructor: Takes nothing and initializes the other parameters to the default ones. More...
 
virtual ~TriangleMeshParameters ()
 Empty destructor. More...
 
Vector< TriangleMeshClosedCurve * > outer_boundary_pt () const
 Helper function for getting the outer boundary. More...
 
Vector< TriangleMeshClosedCurve * > & outer_boundary_pt ()
 Helper function for getting access to the outer boundary. More...
 
TriangleMeshClosedCurveouter_boundary_pt (const unsigned &i) const
 Helper function for getting the i-th outer boundary. More...
 
TriangleMeshClosedCurve *& outer_boundary_pt (const unsigned &i)
 Helper function for getting access to the i-th outer boundary. More...
 
Vector< TriangleMeshClosedCurve * > internal_closed_curve_pt () const
 Helper function for getting the internal closed boundaries. More...
 
Vector< TriangleMeshClosedCurve * > & internal_closed_curve_pt ()
 Helper function for getting access to the internal closed boundaries. More...
 
Vector< TriangleMeshOpenCurve * > internal_open_curves_pt () const
 Helper function for getting the internal open boundaries. More...
 
Vector< TriangleMeshOpenCurve * > & internal_open_curves_pt ()
 Helper function for getting access to the internal open boundaries. More...
 
double element_area () const
 Helper function for getting the element area. More...
 
double & element_area ()
 Helper function for getting access to the element area. More...
 
Vector< Vector< double > > extra_holes_coordinates () const
 Helper function for getting the extra holes. More...
 
Vector< Vector< double > > & extra_holes_coordinates ()
 Helper function for getting access to the extra holes. More...
 
void add_region_coordinates (const unsigned &i, Vector< double > &region_coordinates)
 Helper function for getting the extra regions. More...
 
std::map< unsigned, Vector< double > > & regions_coordinates ()
 Helper function for getting access to the regions coordinates. More...
 
void set_target_area_for_region (const unsigned &i, const double &area)
 Helper function to specify target area for region. More...
 
std::map< unsigned, double > & target_area_for_region ()
 Helper function for getting access to the region's target areas. More...
 
void enable_use_attributes ()
 Helper function for enabling the use of attributes. More...
 
void disable_use_attributes ()
 Helper function for disabling the use of attributes. More...
 
bool is_use_attributes () const
 Helper function for getting the status of use_attributes variable. More...
 
void enable_boundary_refinement ()
 Helper function for enabling the use of boundary refinement. More...
 
bool is_mesh_distributed () const
 Boolean to indicate if Mesh has been distributed. More...
 
void set_communicator_pt (OomphCommunicator *comm_pt)
 Function to set communicator (mesh is then assumed to be distributed) More...
 
OomphCommunicatorcommunicator_pt () const
 Read-only access fct to communicator (Null if mesh is not distributed) More...
 
void disable_boundary_refinement ()
 Helper function for disabling the use of boundary refinement. More...
 
bool is_boundary_refinement_allowed () const
 Helper function for getting the status of boundary refinement. More...
 
void enable_internal_boundary_refinement ()
 Helper function for enabling the use of boundary refinement. More...
 
void disable_internal_boundary_refinement ()
 Helper function for disabling the use of boundary refinement. More...
 
bool is_internal_boundary_refinement_allowed () const
 Helper function for getting the status of boundary refinement. More...
 
void enable_automatic_creation_of_vertices_on_boundaries ()
 Enables the creation of points (by Triangle) on the outer and internal boundaries. More...
 
void disable_automatic_creation_of_vertices_on_boundaries ()
 Disables the creation of points (by Triangle) on the outer and internal boundaries. More...
 
bool is_automatic_creation_of_vertices_on_boundaries_allowed ()
 Returns the status of the variable Allow_automatic_creation_of_vertices_on_boundaries. More...
 

Protected Attributes

Vector< TriangleMeshClosedCurve * > Outer_boundary_pt
 The outer boundary. More...
 
Vector< TriangleMeshClosedCurve * > Internal_closed_curve_pt
 Internal closed boundaries. More...
 
Vector< TriangleMeshOpenCurve * > Internal_open_curves_pt
 Internal boundaries. More...
 
double Element_area
 The element are when calling triangulate external routine. More...
 
Vector< Vector< double > > Extra_holes_coordinates
 Store the coordinates for defining extra holes. More...
 
std::map< unsigned, Vector< double > > Regions_coordinates
 Store the coordinates for defining extra regions The key on the map is the region id. More...
 
std::map< unsigned, double > Regions_areas
 Target areas for regions; defaults to 0.0 which (luckily) implies "no specific target area" for triangle! More...
 
bool Use_attributes
 Define the use of attributes (regions) More...
 
bool Boundary_refinement
 Do not allow refinement of nodes on the boundary. More...
 
bool Internal_boundary_refinement
 Do not allow refinement of nodes on the internal boundary. More...
 
bool Allow_automatic_creation_of_vertices_on_boundaries
 Allows automatic creation of vertices along boundaries by Triangle. More...
 
OomphCommunicatorComm_pt
 Pointer to communicator – set to NULL if mesh is not distributed Required to pass it to new distributed meshes created at the adaptation stage. More...
 

Detailed Description

///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

Helper object for dealing with the parameters used for the TriangleMesh objects

Definition at line 93 of file triangle_mesh.template.h.

Constructor & Destructor Documentation

◆ TriangleMeshParameters() [1/3]

oomph::TriangleMeshParameters::TriangleMeshParameters ( Vector< TriangleMeshClosedCurve * > &  outer_boundary_pt)
inline

Constructor: Only takes the outer boundary, all the other parameters are stated with the specific parameters.

Definition at line 98 of file triangle_mesh.template.h.

◆ TriangleMeshParameters() [2/3]

oomph::TriangleMeshParameters::TriangleMeshParameters ( TriangleMeshClosedCurve outer_boundary_pt)
inline

Constructor: Only takes the outer boundary, all the other parameters are stated with the specific parameters.

Definition at line 111 of file triangle_mesh.template.h.

References outer_boundary_pt(), and Outer_boundary_pt.

◆ TriangleMeshParameters() [3/3]

oomph::TriangleMeshParameters::TriangleMeshParameters ( )
inline

Constructor: Takes nothing and initializes the other parameters to the default ones.

Definition at line 125 of file triangle_mesh.template.h.

◆ ~TriangleMeshParameters()

virtual oomph::TriangleMeshParameters::~TriangleMeshParameters ( )
inlinevirtual

Empty destructor.

Definition at line 136 of file triangle_mesh.template.h.

Member Function Documentation

◆ add_region_coordinates()

void oomph::TriangleMeshParameters::add_region_coordinates ( const unsigned &  i,
Vector< double > &  region_coordinates 
)
inline

Helper function for getting the extra regions.

Definition at line 213 of file triangle_mesh.template.h.

References enable_use_attributes(), i, and Regions_coordinates.

◆ communicator_pt()

OomphCommunicator * oomph::TriangleMeshParameters::communicator_pt ( ) const
inline

Read-only access fct to communicator (Null if mesh is not distributed)

Definition at line 310 of file triangle_mesh.template.h.

References Comm_pt.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ disable_automatic_creation_of_vertices_on_boundaries()

void oomph::TriangleMeshParameters::disable_automatic_creation_of_vertices_on_boundaries ( )
inline

Disables the creation of points (by Triangle) on the outer and internal boundaries.

Definition at line 354 of file triangle_mesh.template.h.

References Allow_automatic_creation_of_vertices_on_boundaries.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ disable_boundary_refinement()

void oomph::TriangleMeshParameters::disable_boundary_refinement ( )
inline

Helper function for disabling the use of boundary refinement.

Definition at line 316 of file triangle_mesh.template.h.

References Boundary_refinement.

◆ disable_internal_boundary_refinement()

void oomph::TriangleMeshParameters::disable_internal_boundary_refinement ( )
inline

Helper function for disabling the use of boundary refinement.

Definition at line 334 of file triangle_mesh.template.h.

References Internal_boundary_refinement.

◆ disable_use_attributes()

void oomph::TriangleMeshParameters::disable_use_attributes ( )
inline

Helper function for disabling the use of attributes.

Definition at line 279 of file triangle_mesh.template.h.

References Use_attributes.

◆ element_area() [1/2]

double & oomph::TriangleMeshParameters::element_area ( )
inline

Helper function for getting access to the element area.

Definition at line 195 of file triangle_mesh.template.h.

References Element_area.

◆ element_area() [2/2]

double oomph::TriangleMeshParameters::element_area ( ) const
inline

◆ enable_automatic_creation_of_vertices_on_boundaries()

void oomph::TriangleMeshParameters::enable_automatic_creation_of_vertices_on_boundaries ( )
inline

Enables the creation of points (by Triangle) on the outer and internal boundaries.

Definition at line 347 of file triangle_mesh.template.h.

References Allow_automatic_creation_of_vertices_on_boundaries.

◆ enable_boundary_refinement()

void oomph::TriangleMeshParameters::enable_boundary_refinement ( )
inline

Helper function for enabling the use of boundary refinement.

Definition at line 292 of file triangle_mesh.template.h.

References Boundary_refinement.

◆ enable_internal_boundary_refinement()

void oomph::TriangleMeshParameters::enable_internal_boundary_refinement ( )
inline

Helper function for enabling the use of boundary refinement.

Definition at line 328 of file triangle_mesh.template.h.

References Internal_boundary_refinement.

◆ enable_use_attributes()

void oomph::TriangleMeshParameters::enable_use_attributes ( )
inline

Helper function for enabling the use of attributes.

Definition at line 273 of file triangle_mesh.template.h.

References Use_attributes.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt(), and add_region_coordinates().

◆ extra_holes_coordinates() [1/2]

Vector< Vector< double > > & oomph::TriangleMeshParameters::extra_holes_coordinates ( )
inline

Helper function for getting access to the extra holes.

Definition at line 207 of file triangle_mesh.template.h.

References Extra_holes_coordinates.

◆ extra_holes_coordinates() [2/2]

Vector< Vector< double > > oomph::TriangleMeshParameters::extra_holes_coordinates ( ) const
inline

◆ internal_closed_curve_pt() [1/2]

Vector< TriangleMeshClosedCurve * > & oomph::TriangleMeshParameters::internal_closed_curve_pt ( )
inline

Helper function for getting access to the internal closed boundaries.

Definition at line 170 of file triangle_mesh.template.h.

References Internal_closed_curve_pt.

◆ internal_closed_curve_pt() [2/2]

Vector< TriangleMeshClosedCurve * > oomph::TriangleMeshParameters::internal_closed_curve_pt ( ) const
inline

◆ internal_open_curves_pt() [1/2]

Vector< TriangleMeshOpenCurve * > & oomph::TriangleMeshParameters::internal_open_curves_pt ( )
inline

Helper function for getting access to the internal open boundaries.

Definition at line 183 of file triangle_mesh.template.h.

References Internal_open_curves_pt.

◆ internal_open_curves_pt() [2/2]

Vector< TriangleMeshOpenCurve * > oomph::TriangleMeshParameters::internal_open_curves_pt ( ) const
inline

◆ is_automatic_creation_of_vertices_on_boundaries_allowed()

bool oomph::TriangleMeshParameters::is_automatic_creation_of_vertices_on_boundaries_allowed ( )
inline

Returns the status of the variable Allow_automatic_creation_of_vertices_on_boundaries.

Definition at line 361 of file triangle_mesh.template.h.

References Allow_automatic_creation_of_vertices_on_boundaries.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ is_boundary_refinement_allowed()

bool oomph::TriangleMeshParameters::is_boundary_refinement_allowed ( ) const
inline

Helper function for getting the status of boundary refinement.

Definition at line 322 of file triangle_mesh.template.h.

References Boundary_refinement.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ is_internal_boundary_refinement_allowed()

bool oomph::TriangleMeshParameters::is_internal_boundary_refinement_allowed ( ) const
inline

Helper function for getting the status of boundary refinement.

Definition at line 340 of file triangle_mesh.template.h.

References Internal_boundary_refinement.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ is_mesh_distributed()

bool oomph::TriangleMeshParameters::is_mesh_distributed ( ) const
inline

Boolean to indicate if Mesh has been distributed.

Definition at line 298 of file triangle_mesh.template.h.

References Comm_pt.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ is_use_attributes()

bool oomph::TriangleMeshParameters::is_use_attributes ( ) const
inline

Helper function for getting the status of use_attributes variable.

Definition at line 286 of file triangle_mesh.template.h.

References Use_attributes.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ outer_boundary_pt() [1/4]

Vector< TriangleMeshClosedCurve * > & oomph::TriangleMeshParameters::outer_boundary_pt ( )
inline

Helper function for getting access to the outer boundary.

Definition at line 145 of file triangle_mesh.template.h.

References Outer_boundary_pt.

◆ outer_boundary_pt() [2/4]

Vector< TriangleMeshClosedCurve * > oomph::TriangleMeshParameters::outer_boundary_pt ( ) const
inline

◆ outer_boundary_pt() [3/4]

TriangleMeshClosedCurve *& oomph::TriangleMeshParameters::outer_boundary_pt ( const unsigned &  i)
inline

Helper function for getting access to the i-th outer boundary.

Definition at line 157 of file triangle_mesh.template.h.

References i, and Outer_boundary_pt.

◆ outer_boundary_pt() [4/4]

TriangleMeshClosedCurve * oomph::TriangleMeshParameters::outer_boundary_pt ( const unsigned &  i) const
inline

Helper function for getting the i-th outer boundary.

Definition at line 151 of file triangle_mesh.template.h.

References i, and Outer_boundary_pt.

◆ regions_coordinates()

std::map< unsigned, Vector< double > > & oomph::TriangleMeshParameters::regions_coordinates ( )
inline

◆ set_communicator_pt()

void oomph::TriangleMeshParameters::set_communicator_pt ( OomphCommunicator comm_pt)
inline

Function to set communicator (mesh is then assumed to be distributed)

Definition at line 304 of file triangle_mesh.template.h.

References Comm_pt.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::adapt().

◆ set_target_area_for_region()

void oomph::TriangleMeshParameters::set_target_area_for_region ( const unsigned &  i,
const double &  area 
)
inline

Helper function to specify target area for region.

Definition at line 261 of file triangle_mesh.template.h.

References i, and Regions_areas.

◆ target_area_for_region()

std::map< unsigned, double > & oomph::TriangleMeshParameters::target_area_for_region ( )
inline

Helper function for getting access to the region's target areas.

Definition at line 267 of file triangle_mesh.template.h.

References Regions_areas.

Referenced by oomph::QuadFromTriangleMesh< ELEMENT >::QuadFromTriangleMesh(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

Member Data Documentation

◆ Allow_automatic_creation_of_vertices_on_boundaries

bool oomph::TriangleMeshParameters::Allow_automatic_creation_of_vertices_on_boundaries
protected

◆ Boundary_refinement

bool oomph::TriangleMeshParameters::Boundary_refinement
protected

Do not allow refinement of nodes on the boundary.

Definition at line 394 of file triangle_mesh.template.h.

Referenced by disable_boundary_refinement(), enable_boundary_refinement(), and is_boundary_refinement_allowed().

◆ Comm_pt

OomphCommunicator* oomph::TriangleMeshParameters::Comm_pt
protected

Pointer to communicator – set to NULL if mesh is not distributed Required to pass it to new distributed meshes created at the adaptation stage.

Definition at line 406 of file triangle_mesh.template.h.

Referenced by communicator_pt(), is_mesh_distributed(), and set_communicator_pt().

◆ Element_area

double oomph::TriangleMeshParameters::Element_area
protected

The element are when calling triangulate external routine.

Definition at line 377 of file triangle_mesh.template.h.

Referenced by element_area().

◆ Extra_holes_coordinates

Vector<Vector<double> > oomph::TriangleMeshParameters::Extra_holes_coordinates
protected

Store the coordinates for defining extra holes.

Definition at line 380 of file triangle_mesh.template.h.

Referenced by extra_holes_coordinates().

◆ Internal_boundary_refinement

bool oomph::TriangleMeshParameters::Internal_boundary_refinement
protected

Do not allow refinement of nodes on the internal boundary.

Definition at line 397 of file triangle_mesh.template.h.

Referenced by disable_internal_boundary_refinement(), enable_internal_boundary_refinement(), and is_internal_boundary_refinement_allowed().

◆ Internal_closed_curve_pt

Vector<TriangleMeshClosedCurve*> oomph::TriangleMeshParameters::Internal_closed_curve_pt
protected

Internal closed boundaries.

Definition at line 371 of file triangle_mesh.template.h.

Referenced by internal_closed_curve_pt().

◆ Internal_open_curves_pt

Vector<TriangleMeshOpenCurve*> oomph::TriangleMeshParameters::Internal_open_curves_pt
protected

Internal boundaries.

Definition at line 374 of file triangle_mesh.template.h.

Referenced by internal_open_curves_pt().

◆ Outer_boundary_pt

Vector<TriangleMeshClosedCurve*> oomph::TriangleMeshParameters::Outer_boundary_pt
protected

The outer boundary.

Definition at line 368 of file triangle_mesh.template.h.

Referenced by outer_boundary_pt(), and TriangleMeshParameters().

◆ Regions_areas

std::map<unsigned, double> oomph::TriangleMeshParameters::Regions_areas
protected

Target areas for regions; defaults to 0.0 which (luckily) implies "no specific target area" for triangle!

Definition at line 388 of file triangle_mesh.template.h.

Referenced by set_target_area_for_region(), and target_area_for_region().

◆ Regions_coordinates

std::map<unsigned, Vector<double> > oomph::TriangleMeshParameters::Regions_coordinates
protected

Store the coordinates for defining extra regions The key on the map is the region id.

Definition at line 384 of file triangle_mesh.template.h.

Referenced by add_region_coordinates(), and regions_coordinates().

◆ Use_attributes

bool oomph::TriangleMeshParameters::Use_attributes
protected

Define the use of attributes (regions)

Definition at line 391 of file triangle_mesh.template.h.

Referenced by disable_use_attributes(), enable_use_attributes(), and is_use_attributes().


The documentation for this class was generated from the following file: