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

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

#include <triangle_mesh.template.h>

Public Member Functions

 TriangleMeshParameters (Vector< TriangleMeshClosedCurve *> &outer_boundary_pt)
 
 TriangleMeshParameters (TriangleMeshClosedCurve *outer_boundary_pt)
 
 TriangleMeshParameters ()
 
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...
 
TriangleMeshClosedCurve * outer_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...
 
OomphCommunicator * communicator_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 ()
 
void disable_automatic_creation_of_vertices_on_boundaries ()
 
bool is_automatic_creation_of_vertices_on_boundaries_allowed ()
 

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
 
OomphCommunicator * Comm_pt
 

Detailed Description

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

Definition at line 86 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 93 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 105 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 119 of file triangle_mesh.template.h.

◆ ~TriangleMeshParameters()

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

Empty destructor.

Definition at line 129 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 180 of file triangle_mesh.template.h.

References enable_use_attributes(), and Regions_coordinates.

◆ communicator_pt()

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

◆ 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 284 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 258 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 268 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 237 of file triangle_mesh.template.h.

References Use_attributes.

◆ element_area() [1/2]

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

◆ element_area() [2/2]

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

Helper function for getting access to the element area.

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

References Element_area.

◆ 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 277 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 244 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 264 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 234 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 ( ) const
inline

◆ extra_holes_coordinates() [2/2]

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

Helper function for getting access to the extra holes.

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

References Extra_holes_coordinates.

◆ internal_closed_curve_pt() [1/2]

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

◆ internal_closed_curve_pt() [2/2]

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

Helper function for getting access to the internal closed boundaries.

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

References Internal_closed_curve_pt.

◆ internal_open_curves_pt() [1/2]

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

◆ internal_open_curves_pt() [2/2]

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

Helper function for getting access to the internal open boundaries.

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

References Internal_open_curves_pt.

◆ is_automatic_creation_of_vertices_on_boundaries_allowed()

bool oomph::TriangleMeshParameters::is_automatic_creation_of_vertices_on_boundaries_allowed ( )
inline

◆ 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 261 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 272 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

◆ is_use_attributes()

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

Helper function for getting the status of use_attributes variable.

Definition at line 241 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 ( ) const
inline

◆ outer_boundary_pt() [2/4]

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

Helper function for getting access to the outer boundary.

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

References Outer_boundary_pt.

◆ outer_boundary_pt() [3/4]

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

Helper function for getting the i-th outer boundary.

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

References Outer_boundary_pt.

◆ outer_boundary_pt() [4/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 144 of file triangle_mesh.template.h.

References 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 250 of file triangle_mesh.template.h.

References Comm_pt.

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

◆ 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 224 of file triangle_mesh.template.h.

References 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 230 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 325 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 337 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 308 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 311 of file triangle_mesh.template.h.

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

◆ Internal_boundary_refinement

bool oomph::TriangleMeshParameters::Internal_boundary_refinement
protected

Do not allow refinement of nodes on the internal boundary.

Definition at line 328 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 302 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 305 of file triangle_mesh.template.h.

Referenced by internal_open_curves_pt().

◆ Outer_boundary_pt

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

◆ 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 319 of file triangle_mesh.template.h.

Referenced by oomph::RefineableTriangleMesh< ELEMENT >::compute_area_target(), set_target_area_for_region(), target_area_for_region(), and oomph::TriangleMesh< ELEMENT >::TriangleMesh().

◆ 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 315 of file triangle_mesh.template.h.

Referenced by add_region_coordinates(), oomph::TriangleMesh< ELEMENT >::generic_constructor(), and regions_coordinates().

◆ Use_attributes

bool oomph::TriangleMeshParameters::Use_attributes
protected

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