mesh_as_geometric_object.cc
Go to the documentation of this file.
1 // LIC// ====================================================================
2 // LIC// This file forms part of oomph-lib, the object-oriented,
3 // LIC// multi-physics finite-element library, available
4 // LIC// at http://www.oomph-lib.org.
5 // LIC//
6 // LIC// Copyright (C) 2006-2023 Matthias Heil and Andrew Hazel
7 // LIC//
8 // LIC// This library is free software; you can redistribute it and/or
9 // LIC// modify it under the terms of the GNU Lesser General Public
10 // LIC// License as published by the Free Software Foundation; either
11 // LIC// version 2.1 of the License, or (at your option) any later version.
12 // LIC//
13 // LIC// This library is distributed in the hope that it will be useful,
14 // LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // LIC// Lesser General Public License for more details.
17 // LIC//
18 // LIC// You should have received a copy of the GNU Lesser General Public
19 // LIC// License along with this library; if not, write to the Free Software
20 // LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 // LIC// 02110-1301 USA.
22 // LIC//
23 // LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
24 // LIC//
25 // LIC//====================================================================
26 // Templated functions for MeshAsGeomObject
27 // Config header generated by autoconfig
28 #ifdef HAVE_CONFIG_H
29 #include <oomph-lib-config.h>
30 #endif
31 
32 // oomph-lib headers
33 #include "mesh.h"
35 #include "multi_domain.h"
36 
37 #include <cstdio>
38 namespace oomph
39 {
40  /// /////////////////////////////////////////////////////////////////////
41  /// /////////////////////////////////////////////////////////////////////
42  /// /////////////////////////////////////////////////////////////////////
43 
44  //========================================================================
45  /// Helper namespace for MeshAsGeomObject -- its only function creates
46  /// SamplePointContainerParameters of the right type for the default
47  /// sample point container
48  //========================================================================
49  namespace MeshAsGeomObject_Helper
50  {
51  /// Default sample point container type. Must currently be one of
52  /// UseCGALSamplePointContainer, UseRefineableBinArray or
53  /// UseNonRefineableBinArray
54 #ifdef OOMPH_HAS_CGAL
57 #else
59 #endif
60 
61  /// "Factory" for SamplePointContainerParameters of the
62  /// right type as selected
63  /// by Default_sample_point_container_version
65  Mesh* mesh_pt,
66  SamplePointContainerParameters*& sample_point_container_parameters_pt)
67  {
69  {
71  sample_point_container_parameters_pt =
72  new RefineableBinArrayParameters(mesh_pt);
73 
74  break;
75 
77  sample_point_container_parameters_pt =
79 
80  break;
81 
82 #ifdef OOMPH_HAS_CGAL
83 
85  sample_point_container_parameters_pt =
87 
88  break;
89 
90 #endif
91 
92  default:
93 
94  throw OomphLibError("Wrong sample_point_container_parameters_pt",
95  OOMPH_CURRENT_FUNCTION,
96  OOMPH_EXCEPTION_LOCATION);
97  }
98  }
99 
100  } // namespace MeshAsGeomObject_Helper
101 
102  /// /////////////////////////////////////////////////////////////////////
103  /// /////////////////////////////////////////////////////////////////////
104  /// /////////////////////////////////////////////////////////////////////
105 
106 
107 } // namespace oomph
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
A general mesh class.
Definition: mesh.h:67
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
An OomphLibError object which should be thrown when an run-time error is encountered....
/////////////////////////////////////////////////////////////////////////// /////////////////////////...
///////////////////////////////////////////////////////////////// ///////////////////////////////////...
unsigned Default_sample_point_container_version
Default sample point container type. Must currently be one of UseCGALSamplePointContainer,...
void create_sample_point_container_parameters(Mesh *mesh_pt, SamplePointContainerParameters *&sample_point_container_parameters_pt)
"Factory" for SamplePointContainerParameters of the right type as selected by Default_sample_point_co...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...