oomph::SolidMesh Class Reference

#include <mesh.h>

+ Inheritance diagram for oomph::SolidMesh:

Public Member Functions

 SolidMesh ()
 Default constructor. More...
 
 SolidMesh (const SolidMesh &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const SolidMesh &)=delete
 Broken assignment operator. More...
 
 SolidMesh (const Vector< SolidMesh * > &sub_mesh_pt)
 
SolidNodenode_pt (const unsigned long &n)
 Return a pointer to the n-th global SolidNode. More...
 
SolidNodeboundary_node_pt (const unsigned &b, const unsigned &n)
 Return n-th SolidNodes on b-th boundary. More...
 
SolidNodeelement_node_pt (const unsigned long &e, const unsigned &n)
 
void set_lagrangian_nodal_coordinates ()
 
void scale_mesh (const double &factor)
 
- Public Member Functions inherited from oomph::Mesh
 Mesh ()
 Default constructor. More...
 
 Mesh (const Vector< Mesh * > &sub_mesh_pt)
 
void merge_meshes (const Vector< Mesh * > &sub_mesh_pt)
 
virtual void setup_boundary_element_info ()
 
virtual void setup_boundary_element_info (std::ostream &outfile)
 
virtual void reset_boundary_element_info (Vector< unsigned > &ntmp_boundary_elements, Vector< Vector< unsigned >> &ntmp_boundary_elements_in_region, Vector< FiniteElement * > &deleted_elements)
 Virtual function to perform the reset boundary elements info rutines. More...
 
template<class BULK_ELEMENT >
void doc_boundary_coordinates (const unsigned &b, std::ofstream &the_file)
 
 Mesh (const Mesh &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const Mesh &)=delete
 Broken assignment operator. More...
 
virtual ~Mesh ()
 Virtual Destructor to clean up all memory. More...
 
void flush_element_and_node_storage ()
 
void flush_element_storage ()
 
void flush_node_storage ()
 
Node *& node_pt (const unsigned long &n)
 Return pointer to global node n. More...
 
Nodenode_pt (const unsigned long &n) const
 Return pointer to global node n (const version) More...
 
GeneralisedElement *& element_pt (const unsigned long &e)
 Return pointer to element e. More...
 
GeneralisedElementelement_pt (const unsigned long &e) const
 Return pointer to element e (const version) More...
 
const Vector< GeneralisedElement * > & element_pt () const
 Return reference to the Vector of elements. More...
 
Vector< GeneralisedElement * > & element_pt ()
 Return reference to the Vector of elements. More...
 
FiniteElementfinite_element_pt (const unsigned &e) const
 
Node *& boundary_node_pt (const unsigned &b, const unsigned &n)
 Return pointer to node n on boundary b. More...
 
Nodeboundary_node_pt (const unsigned &b, const unsigned &n) const
 Return pointer to node n on boundary b. More...
 
void set_nboundary (const unsigned &nbound)
 Set the number of boundaries in the mesh. More...
 
void remove_boundary_nodes ()
 Clear all pointers to boundary nodes. More...
 
void remove_boundary_nodes (const unsigned &b)
 
void remove_boundary_node (const unsigned &b, Node *const &node_pt)
 Remove a node from the boundary b. More...
 
void add_boundary_node (const unsigned &b, Node *const &node_pt)
 Add a (pointer to) a node to the b-th boundary. More...
 
void copy_boundary_node_data_from_nodes ()
 
bool boundary_coordinate_exists (const unsigned &i) const
 Indicate whether the i-th boundary has an intrinsic coordinate. More...
 
unsigned long nelement () const
 Return number of elements in the mesh. More...
 
unsigned long nnode () const
 Return number of nodes in the mesh. More...
 
unsigned ndof_types () const
 Return number of dof types in mesh. More...
 
unsigned elemental_dimension () const
 Return number of elemental dimension in mesh. More...
 
unsigned nodal_dimension () const
 Return number of nodal dimension in mesh. More...
 
void add_node_pt (Node *const &node_pt)
 Add a (pointer to a) node to the mesh. More...
 
void add_element_pt (GeneralisedElement *const &element_pt)
 Add a (pointer to) an element to the mesh. More...
 
virtual void node_update (const bool &update_all_solid_nodes=false)
 
virtual void reorder_nodes (const bool &use_old_ordering=true)
 
virtual void get_node_reordering (Vector< Node * > &reordering, const bool &use_old_ordering=true) const
 
template<class BULK_ELEMENT , template< class > class FACE_ELEMENT>
void build_face_mesh (const unsigned &b, Mesh *const &face_mesh_pt)
 
unsigned self_test ()
 Self-test: Check elements and nodes. Return 0 for OK. More...
 
void max_and_min_element_size (double &max_size, double &min_size)
 
double total_size ()
 
void check_inverted_elements (bool &mesh_has_inverted_elements, std::ofstream &inverted_element_file)
 
void check_inverted_elements (bool &mesh_has_inverted_elements)
 
unsigned check_for_repeated_nodes (const double &epsilon=1.0e-12)
 
Vector< Node * > prune_dead_nodes ()
 
unsigned nboundary () const
 Return number of boundaries. More...
 
unsigned long nboundary_node (const unsigned &ibound) const
 Return number of nodes on a particular boundary. More...
 
FiniteElementboundary_element_pt (const unsigned &b, const unsigned &e) const
 Return pointer to e-th finite element on boundary b. More...
 
Nodeget_some_non_boundary_node () const
 
unsigned nboundary_element (const unsigned &b) const
 Return number of finite elements that are adjacent to boundary b. More...
 
int face_index_at_boundary (const unsigned &b, const unsigned &e) const
 
virtual void dump (std::ofstream &dump_file, const bool &use_old_ordering=true) const
 Dump the data in the mesh into a file for restart. More...
 
void dump (const std::string &dump_file_name, const bool &use_old_ordering=true) const
 Dump the data in the mesh into a file for restart. More...
 
virtual void read (std::ifstream &restart_file)
 Read solution from restart file. More...
 
void output_paraview (std::ofstream &file_out, const unsigned &nplot) const
 
void output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt) const
 
void output_fct_paraview (std::ofstream &file_out, const unsigned &nplot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt) const
 
void output (std::ostream &outfile)
 Output for all elements. More...
 
void output (std::ostream &outfile, const unsigned &n_plot)
 Output at f(n_plot) points in each element. More...
 
void output (FILE *file_pt)
 Output for all elements (C-style output) More...
 
void output (FILE *file_pt, const unsigned &nplot)
 Output at f(n_plot) points in each element (C-style output) More...
 
void output (const std::string &output_filename)
 Output for all elements. More...
 
void output (const std::string &output_filename, const unsigned &n_plot)
 Output at f(n_plot) points in each element. More...
 
void output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt)
 Output a given Vector function at f(n_plot) points in each element. More...
 
void output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt)
 
void output_boundaries (std::ostream &outfile)
 Output the nodes on the boundaries (into separate tecplot zones) More...
 
void output_boundaries (const std::string &output_filename)
 
void assign_initial_values_impulsive ()
 Assign initial values for an impulsive start. More...
 
void shift_time_values ()
 
void calculate_predictions ()
 
void set_nodal_and_elemental_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data)
 
virtual void set_mesh_level_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data)
 
void set_consistent_pinned_values_for_continuation (ContinuationStorageScheme *const &continuation_stepper_pt)
 Set consistent values for pinned data in continuation. More...
 
bool does_pointer_correspond_to_mesh_data (double *const &parameter_pt)
 Does the double pointer correspond to any mesh data. More...
 
void set_nodal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data)
 Set the timestepper associated with the nodal data in the mesh. More...
 
void set_elemental_internal_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data)
 
virtual void compute_norm (double &norm)
 
virtual void compute_norm (Vector< double > &norm)
 
virtual void compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm)
 
virtual void compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
 
virtual void compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
 
virtual void compute_error (FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm)
 
virtual void compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm)
 
virtual void compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, Vector< double > &error, Vector< double > &norm)
 
virtual void compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm)
 Returns the norm of the error and that of the exact solution. More...
 
virtual void compute_error (FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, Vector< double > &error, Vector< double > &norm)
 
bool is_mesh_distributed () const
 Boolean to indicate if Mesh has been distributed. More...
 
OomphCommunicatorcommunicator_pt () const
 
void delete_all_external_storage ()
 Wipe the storage for all externally-based elements. More...
 

Static Public Attributes

static SolidICProblem Solid_IC_problem
 
- Static Public Attributes inherited from oomph::Mesh
static Steady< 0 > Default_TimeStepper
 The Steady Timestepper. More...
 
static bool Suppress_warning_about_empty_mesh_level_time_stepper_function
 Static boolean flag to control warning about mesh level timesteppers. More...
 

Additional Inherited Members

- Public Types inherited from oomph::Mesh
typedef void(FiniteElement::* SteadyExactSolutionFctPt) (const Vector< double > &x, Vector< double > &soln)
 
typedef void(FiniteElement::* UnsteadyExactSolutionFctPt) (const double &time, const Vector< double > &x, Vector< double > &soln)
 
- Protected Member Functions inherited from oomph::Mesh
unsigned long assign_global_eqn_numbers (Vector< double * > &Dof_pt)
 Assign (global) equation numbers to the nodes. More...
 
void describe_dofs (std::ostream &out, const std::string &current_string) const
 
void describe_local_dofs (std::ostream &out, const std::string &current_string) const
 
void assign_local_eqn_numbers (const bool &store_local_dof_pt)
 Assign local equation numbers in all elements. More...
 
void convert_to_boundary_node (Node *&node_pt, const Vector< FiniteElement * > &finite_element_pt)
 
void convert_to_boundary_node (Node *&node_pt)
 
- Protected Attributes inherited from oomph::Mesh
Vector< Vector< Node * > > Boundary_node_pt
 
bool Lookup_for_elements_next_boundary_is_setup
 
Vector< Vector< FiniteElement * > > Boundary_element_pt
 
Vector< Vector< int > > Face_index_at_boundary
 
Vector< Node * > Node_pt
 Vector of pointers to nodes. More...
 
Vector< GeneralisedElement * > Element_pt
 Vector of pointers to generalised elements. More...
 
std::vector< boolBoundary_coordinate_exists
 

Detailed Description

General SolidMesh class.

Solid meshes contain SolidFiniteElements which contain SolidNodes. This class simply overloads the appropriate access functions from the underlying Mesh class.

Constructor & Destructor Documentation

◆ SolidMesh() [1/3]

oomph::SolidMesh::SolidMesh ( )
inline

Default constructor.

2565 {}

◆ SolidMesh() [2/3]

oomph::SolidMesh::SolidMesh ( const SolidMesh dummy)
delete

Broken copy constructor.

◆ SolidMesh() [3/3]

oomph::SolidMesh::SolidMesh ( const Vector< SolidMesh * > &  sub_mesh_pt)
inline

Constructor builds combined mesh from the meshes specified. Note: This simply merges the meshes' elements and nodes (ignoring duplicates; no boundary information etc. is created).

2577  {
2578 #ifdef OOMPH_HAS_MPI
2579  // Mesh hasn't been distributed: Null out pointer to communicator
2580  Comm_pt = 0;
2581 #endif
2582 
2583  unsigned n = sub_mesh_pt.size();
2584  Vector<Mesh*> sub_mesh_mesh_pt(n);
2585  for (unsigned i = 0; i < n; i++)
2586  {
2587  sub_mesh_mesh_pt[i] = static_cast<Mesh*>(sub_mesh_pt[i]);
2588  }
2589  merge_meshes(sub_mesh_mesh_pt);
2590  }
int i
Definition: BiCGSTAB_step_by_step.cpp:9
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Mesh()
Default constructor.
Definition: mesh.h:236
void merge_meshes(const Vector< Mesh * > &sub_mesh_pt)
Definition: mesh.cc:65

References i, oomph::Mesh::merge_meshes(), and n.

Member Function Documentation

◆ boundary_node_pt()

SolidNode* oomph::SolidMesh::boundary_node_pt ( const unsigned b,
const unsigned n 
)
inline

Return n-th SolidNodes on b-th boundary.

2613  {
2614 #ifdef PARANOID
2615  if (!dynamic_cast<SolidNode*>(Mesh::boundary_node_pt(b, n)))
2616  {
2617  std::ostringstream error_stream;
2618  error_stream << "Error: Node " << n << "is a "
2619  << typeid(Mesh::boundary_node_pt(b, n)).name()
2620  << ", not an SolidNode" << std::endl;
2621  throw OomphLibError(
2622  error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
2623  }
2624 #endif
2625  return static_cast<SolidNode*>(Mesh::boundary_node_pt(b, n));
2626  }
Scalar * b
Definition: benchVecAdd.cpp:17
Node *& boundary_node_pt(const unsigned &b, const unsigned &n)
Return pointer to node n on boundary b.
Definition: mesh.h:493
string name
Definition: plotDoE.py:33
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86

References b, oomph::Mesh::boundary_node_pt(), n, plotDoE::name, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

Referenced by CantileverProblem< ELEMENT >::CantileverProblem(), demo_smoothing_with_linear_elasticity(), demo_smoothing_with_poisson(), oomph::ElasticRefineableRectangularQuadMesh< ELEMENT >::ElasticRefineableRectangularQuadMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), and TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem().

◆ element_node_pt()

SolidNode* oomph::SolidMesh::element_node_pt ( const unsigned long &  e,
const unsigned n 
)
inline

Return the n-th local SolidNode in elemnet e. This is required to cast the nodes in a solid mesh to be SolidNodes and therefore allow access to the extra SolidNode data

2632  {
2633 #ifdef PARANOID
2634  // Try to cast to FiniteElement
2635  FiniteElement* el_pt = dynamic_cast<FiniteElement*>(Element_pt[e]);
2636  if (el_pt == 0)
2637  {
2638  // Error
2639  throw OomphLibError("Failed cast to FiniteElement* ",
2642  }
2643  if (!dynamic_cast<SolidNode*>(el_pt->node_pt(n)))
2644  {
2645  std::ostringstream error_message;
2646  Node* np = el_pt->node_pt(n);
2647  error_message << "Error: Node " << n << " of element " << e << "is a "
2648  << typeid(*np).name() << ", not an SolidNode"
2649  << std::endl;
2650 
2651  throw OomphLibError(error_message.str(),
2654  }
2655 #endif
2656  // Return a cast to an SolidNode
2657  return (static_cast<SolidNode*>(
2658  dynamic_cast<FiniteElement*>(Element_pt[e])->node_pt(n)));
2659  }
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Vector< GeneralisedElement * > Element_pt
Vector of pointers to generalised elements.
Definition: mesh.h:186
SolidNode * node_pt(const unsigned long &n)
Return a pointer to the n-th global SolidNode.
Definition: mesh.h:2594

References e(), oomph::Mesh::Element_pt, n, oomph::FiniteElement::node_pt(), node_pt(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

◆ node_pt()

SolidNode* oomph::SolidMesh::node_pt ( const unsigned long &  n)
inline

Return a pointer to the n-th global SolidNode.

2595  {
2596 #ifdef PARANOID
2597  if (!dynamic_cast<SolidNode*>(Node_pt[n]))
2598  {
2599  std::ostringstream error_stream;
2600  error_stream << "Error: Node " << n << "is a "
2601  << typeid(Node_pt[n]).name() << ", not an SolidNode"
2602  << std::endl;
2603  throw OomphLibError(
2604  error_stream.str(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION);
2605  }
2606 #endif
2607  // Return a static cast to the Node_pt
2608  return (static_cast<SolidNode*>(Node_pt[n]));
2609  }
Vector< Node * > Node_pt
Vector of pointers to nodes.
Definition: mesh.h:183

References n, plotDoE::name, oomph::Mesh::Node_pt, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::NonLinearElasticitySmoothMesh< ELEMENT >::actions_before_newton_solve(), SolidBag::actionsBeforeOomphTimeStep(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::backup(), SolidBag::bendBag(), InterfaceProblem< ELEMENT, TIMESTEPPER >::deform_free_surface(), demo_smoothing_with_nonlinear_elasticity(), oomph::FSI_functions::doc_fsi(), element_node_pt(), FlatPlateMesh< ELEMENT >::FlatPlateMesh(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::reset(), set_lagrangian_nodal_coordinates(), and ShellMesh< ELEMENT >::ShellMesh().

◆ operator=()

void oomph::SolidMesh::operator= ( const SolidMesh )
delete

Broken assignment operator.

◆ scale_mesh()

void oomph::SolidMesh::scale_mesh ( const double factor)
inlinevirtual

Scale all nodal coordinates by given factor and re-assign the Lagrangian coordinates

Reimplemented from oomph::Mesh.

2670  {
2671  Mesh::scale_mesh(factor);
2672 
2673  // Re-assign the Lagrangian coordinates
2675  }
virtual void scale_mesh(const double &factor)
Definition: mesh.h:373
void set_lagrangian_nodal_coordinates()
Definition: mesh.cc:9564

References oomph::Mesh::scale_mesh(), and set_lagrangian_nodal_coordinates().

◆ set_lagrangian_nodal_coordinates()

void SolidMesh::set_lagrangian_nodal_coordinates ( )

Make the current configuration the undeformed one by setting the nodal Lagrangian coordinates to their current Eulerian ones

/////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////// Make the current configuration the undeformed one by setting the nodal Lagrangian coordinates to their current Eulerian ones

9565  {
9566  // Find out how many nodes there are
9567  unsigned long n_node = nnode();
9568 
9569  // Loop over all the nodes
9570  for (unsigned n = 0; n < n_node; n++)
9571  {
9572  // Cast node to solid node (can safely be done because
9573  // SolidMeshes consist of SolidNodes
9574  SolidNode* node_pt = static_cast<SolidNode*>(Node_pt[n]);
9575 
9576  // Number of Lagrangian coordinates
9577  unsigned n_lagrangian = node_pt->nlagrangian();
9578 
9579  // Number of generalised Lagrangian coordinates
9580  unsigned n_lagrangian_type = node_pt->nlagrangian_type();
9581 
9582  // The assumption here is that there must be fewer lagrangian coordinates
9583  // than eulerian (which must be true?)
9584  // Set (generalised) Lagrangian coords = (generalised) Eulerian coords
9585  for (unsigned k = 0; k < n_lagrangian_type; k++)
9586  {
9587  // Loop over lagrangian coordinates and set their values
9588  for (unsigned j = 0; j < n_lagrangian; j++)
9589  {
9590  node_pt->xi_gen(k, j) = node_pt->x_gen(k, j);
9591  }
9592  }
9593  }
9594  }
unsigned long nnode() const
Return number of nodes in the mesh.
Definition: mesh.h:596
double & x_gen(const unsigned &k, const unsigned &i)
Definition: nodes.h:1126
unsigned nlagrangian_type() const
Definition: nodes.h:1877
double & xi_gen(const unsigned &k, const unsigned &i)
Definition: nodes.h:1902
unsigned nlagrangian() const
Return number of lagrangian coordinates.
Definition: nodes.h:1870
char char char int int * k
Definition: level2_impl.h:374
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2

References j, k, n, oomph::SolidNode::nlagrangian(), oomph::SolidNode::nlagrangian_type(), oomph::Mesh::nnode(), oomph::Mesh::Node_pt, node_pt(), oomph::Node::x_gen(), and oomph::SolidNode::xi_gen().

Referenced by InterfaceProblem< ELEMENT, TIMESTEPPER >::deform_free_surface(), oomph::ElasticQuarterPipeMesh< ELEMENT >::ElasticQuarterPipeMesh(), ElasticSimpleCubicMesh< ELEMENT >::ElasticSimpleCubicMesh(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::PseudoElasticChannelWithLeafletMesh< ELEMENT >::PseudoElasticChannelWithLeafletMesh(), oomph::RefineableSolidBrickFromTetMesh< ELEMENT >::RefineableSolidBrickFromTetMesh(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), oomph::RefineableSolidThinLayerBrickOnTetMesh< ELEMENT >::RefineableSolidThinLayerBrickOnTetMesh(), scale_mesh(), oomph::SolidBrickFromTetMesh< ELEMENT >::SolidBrickFromTetMesh(), oomph::SolidTetgenMesh< ELEMENT >::SolidTetgenMesh(), oomph::SolidThinLayerBrickOnTetMesh< ELEMENT >::SolidThinLayerBrickOnTetMesh(), oomph::SolidTriangleMesh< ELEMENT >::SolidTriangleMesh(), and oomph::SolidXdaTetMesh< ELEMENT >::SolidXdaTetMesh().

Member Data Documentation

◆ Solid_IC_problem

SolidICProblem SolidMesh::Solid_IC_problem
static

Static problem that can be used to assign initial conditions on a given solid mesh (need to define this as a static problem somewhere because deleting the problem would wipe out the mesh too!)

Static problem that can be used to assign initial conditions on a given mesh.


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