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...
 
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 ()
 
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
 
OomphCommunicatorComm_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

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.

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.

oomph::TriangleMeshParameters::TriangleMeshParameters ( )
inline

Constructor: Takes nothing and initialize the other paremeters to the default ones

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

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

Empty destructor.

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

Member Function Documentation

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(), i, and Regions_coordinates.

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

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

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

References Comm_pt.

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

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().

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.

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.

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.

double oomph::TriangleMeshParameters::element_area ( ) const
inline
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.

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.

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.

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.

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().

Vector<Vector<double> > oomph::TriangleMeshParameters::extra_holes_coordinates ( ) const
inline
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.

Vector<TriangleMeshClosedCurve*> oomph::TriangleMeshParameters::internal_closed_curve_pt ( ) const
inline
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.

Vector<TriangleMeshOpenCurve*> oomph::TriangleMeshParameters::internal_open_curves_pt ( ) const
inline
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.

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 291 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().

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().

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().

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

Boolean to indicate if Mesh has been distributed.

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

References Comm_pt.

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

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().

Vector<TriangleMeshClosedCurve *> oomph::TriangleMeshParameters::outer_boundary_pt ( ) const
inline
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.

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 i, and Outer_boundary_pt.

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 i, and Outer_boundary_pt.

std::map<unsigned, Vector<double> >& oomph::TriangleMeshParameters::regions_coordinates ( )
inline
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().

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 i, and Regions_areas.

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

bool oomph::TriangleMeshParameters::Allow_automatic_creation_of_vertices_on_boundaries
protected
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().

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().

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().

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().

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().

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().

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().

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

The outer boundary.

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

Referenced by outer_boundary_pt(), and TriangleMeshParameters().

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 set_target_area_for_region(), and target_area_for_region().

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(), and regions_coordinates().

bool oomph::TriangleMeshParameters::Use_attributes
protected

Define the use of attributes (regions)

Definition at line 322 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: