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

Protected Attributes

Vector< TriangleMeshClosedCurve * > Outer_boundary_pt
 The outer boundary.
 
Vector< TriangleMeshClosedCurve * > Internal_closed_curve_pt
 Internal closed boundaries.
 
Vector< TriangleMeshOpenCurve * > Internal_open_curves_pt
 Internal boundaries.
 
double Element_area
 The element are when calling triangulate external routine.
 
Vector< Vector< double > > Extra_holes_coordinates
 Store the coordinates for defining extra holes.
 
std::map< unsigned, Vector< double > > Regions_coordinates
 Store the coordinates for defining extra regions The key on the map is the region id.
 
std::map< unsigned, doubleRegions_areas
 Target areas for regions; defaults to 0.0 which (luckily) implies "no specific target area" for triangle!
 
bool Use_attributes
 Define the use of attributes (regions)
 
bool Boundary_refinement
 Do not allow refinement of nodes on the boundary.
 
bool Internal_boundary_refinement
 Do not allow refinement of nodes on the internal boundary.
 
bool Allow_automatic_creation_of_vertices_on_boundaries
 Allows automatic creation of vertices along boundaries by Triangle.
 
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.
 

Detailed Description

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

Definition at line 78 of file meshes/triangle_mesh.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 83 of file meshes/triangle_mesh.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 96 of file meshes/triangle_mesh.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 110 of file meshes/triangle_mesh.h.

◆ ~TriangleMeshParameters()

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

Empty destructor.

Definition at line 121 of file meshes/triangle_mesh.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 198 of file meshes/triangle_mesh.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 295 of file meshes/triangle_mesh.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 339 of file meshes/triangle_mesh.h.

References Allow_automatic_creation_of_vertices_on_boundaries.

◆ disable_boundary_refinement()

void oomph::TriangleMeshParameters::disable_boundary_refinement ( )
inline

Helper function for disabling the use of boundary refinement.

Definition at line 301 of file meshes/triangle_mesh.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 319 of file meshes/triangle_mesh.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 264 of file meshes/triangle_mesh.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 180 of file meshes/triangle_mesh.h.

References Element_area.

◆ element_area() [2/2]

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

Helper function for getting the element area.

Definition at line 174 of file meshes/triangle_mesh.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 332 of file meshes/triangle_mesh.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 277 of file meshes/triangle_mesh.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 313 of file meshes/triangle_mesh.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 258 of file meshes/triangle_mesh.h.

References Use_attributes.

Referenced by 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 192 of file meshes/triangle_mesh.h.

References Extra_holes_coordinates.

◆ extra_holes_coordinates() [2/2]

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

Helper function for getting the extra holes.

Definition at line 186 of file meshes/triangle_mesh.h.

References Extra_holes_coordinates.

◆ 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 155 of file meshes/triangle_mesh.h.

References Internal_closed_curve_pt.

◆ internal_closed_curve_pt() [2/2]

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

Helper function for getting the internal closed boundaries.

Definition at line 148 of file meshes/triangle_mesh.h.

References Internal_closed_curve_pt.

◆ 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 168 of file meshes/triangle_mesh.h.

References Internal_open_curves_pt.

◆ internal_open_curves_pt() [2/2]

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

Helper function for getting the internal open boundaries.

Definition at line 161 of file meshes/triangle_mesh.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

Returns the status of the variable Allow_automatic_creation_of_vertices_on_boundaries.

Definition at line 346 of file meshes/triangle_mesh.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 307 of file meshes/triangle_mesh.h.

References Boundary_refinement.

◆ 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 325 of file meshes/triangle_mesh.h.

References Internal_boundary_refinement.

◆ is_mesh_distributed()

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

Boolean to indicate if Mesh has been distributed.

Definition at line 283 of file meshes/triangle_mesh.h.

References Comm_pt.

◆ is_use_attributes()

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

Helper function for getting the status of use_attributes variable.

Definition at line 271 of file meshes/triangle_mesh.h.

References Use_attributes.

◆ 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 130 of file meshes/triangle_mesh.h.

References Outer_boundary_pt.

◆ outer_boundary_pt() [2/4]

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

Helper function for getting the outer boundary.

Definition at line 124 of file meshes/triangle_mesh.h.

References Outer_boundary_pt.

Referenced by TriangleMeshParameters().

◆ 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 142 of file meshes/triangle_mesh.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 136 of file meshes/triangle_mesh.h.

References i, and Outer_boundary_pt.

◆ regions_coordinates()

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

Helper function for getting access to the regions coordinates.

Definition at line 240 of file meshes/triangle_mesh.h.

References Regions_coordinates.

◆ 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 289 of file meshes/triangle_mesh.h.

References Comm_pt.

◆ 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 246 of file meshes/triangle_mesh.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 252 of file meshes/triangle_mesh.h.

References Regions_areas.

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 379 of file meshes/triangle_mesh.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 391 of file meshes/triangle_mesh.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 362 of file meshes/triangle_mesh.h.

Referenced by element_area(), and element_area().

◆ Extra_holes_coordinates

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

Store the coordinates for defining extra holes.

Definition at line 365 of file meshes/triangle_mesh.h.

Referenced by extra_holes_coordinates(), and 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 382 of file meshes/triangle_mesh.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 356 of file meshes/triangle_mesh.h.

Referenced by internal_closed_curve_pt(), and internal_closed_curve_pt().

◆ Internal_open_curves_pt

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

Internal boundaries.

Definition at line 359 of file meshes/triangle_mesh.h.

Referenced by internal_open_curves_pt(), and 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 373 of file meshes/triangle_mesh.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 369 of file meshes/triangle_mesh.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 376 of file meshes/triangle_mesh.h.

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


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