Rheolef  7.1
an efficient C++ finite element environment
geo_nearest.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_GEO_NEAREST_H
2 #define _RHEOLEF_GEO_NEAREST_H
3 //
24 // given x, search x* the closest point in the boundary of omega
25 // gives also K* in mesh such that x* in K*
26 //
27 // author: Pierre.Saramito@imag.fr
28 //
29 // date: 12 march 2012
30 //
31 #include "rheolef/point.h"
32 #include "rheolef/disarray.h"
33 
34 namespace rheolef {
35 
36 // forward declarations:
37 template <class T, class M> class geo_base_rep;
38 template <class T, class M> class geo_nearest_abstract_rep;
39 
40 template <class T, class M>
41 class geo_nearest {
42 public:
44  geo_nearest() : _ptr(0) {}
46  geo_nearest<T,M>& operator= (const geo_nearest<T,M>&) { _ptr = 0; return *this; }
47  ~geo_nearest();
48  static geo_nearest_abstract_rep<T,M>* make_ptr (const geo_base_rep<T,M>& omega);
50  const geo_base_rep<T,M>& omega,
51  const point_basic<T>& x,
52  point_basic<T>& x_nearest) const;
54  const geo_base_rep<T,M>& omega,
55  const point_basic<T>& x,
56  point_basic<T>& x_nearest) const;
57 // data:
58 protected:
59  mutable geo_nearest_abstract_rep<T,M>* _ptr;
60 };
61 
62 } // namespace rheolef
63 #endif // _RHEOLEF_GEO_NEAREST_H
rheolef::point_basic
Definition: point.h:87
rheolef::geo_nearest::size_type
disarray< T, M >::size_type size_type
Definition: geo_nearest.h:43
rheolef::geo_base_rep
base class for M=sequential or distributed meshes representations
Definition: geo.h:528
rheolef::geo_nearest::dis_nearest
size_type dis_nearest(const geo_base_rep< T, M > &omega, const point_basic< T > &x, point_basic< T > &x_nearest) const
Definition: geo_nearest.cc:72
rheolef::geo_nearest::geo_nearest
geo_nearest(const geo_nearest< T, M > &)
Definition: geo_nearest.h:45
rheolef::geo_nearest::make_ptr
static geo_nearest_abstract_rep< T, M > * make_ptr(const geo_base_rep< T, M > &omega)
Definition: geo_nearest.cc:317
rheolef::geo_nearest::operator=
geo_nearest< T, M > & operator=(const geo_nearest< T, M > &)
Definition: geo_nearest.h:46
rheolef::geo_nearest::~geo_nearest
~geo_nearest()
Definition: geo_nearest.cc:54
rheolef::geo_nearest::geo_nearest
geo_nearest()
Definition: geo_nearest.h:44
rheolef
This file is part of Rheolef.
Definition: compiler_eigen.h:37
rheolef::geo_nearest::_ptr
geo_nearest_abstract_rep< T, M > * _ptr
Definition: geo_nearest.h:59
rheolef::disarray
see the disarray page for the full documentation
Definition: disarray.h:459
size_type
field::size_type size_type
Definition: branch.cc:425
rheolef::geo_nearest::seq_nearest
size_type seq_nearest(const geo_base_rep< T, M > &omega, const point_basic< T > &x, point_basic< T > &x_nearest) const
Definition: geo_nearest.cc:62
rheolef::geo_nearest
Definition: geo_nearest.h:41