Rheolef  7.2
an efficient C++ finite element environment
geo_locate.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_GEO_LOCATE_H
2 #define _RHEOLEF_GEO_LOCATE_H
23 //
24 // given x, search K in mesh such that x in K
25 //
26 // author: Pierre.Saramito@imag.fr
27 //
28 // date: 12 march 2012
29 //
30 #include "rheolef/point.h"
31 #include "rheolef/disarray.h"
32 
33 namespace rheolef {
34 
35 // forward declarations:
36 template <class T, class M> class geo_base_rep;
37 template <class T, class M> class geo_locate_abstract_rep;
38 
39 template <class T, class M>
40 class geo_locate {
41 public:
43  geo_locate() : _ptr(0) {}
45  geo_locate<T,M>& operator= (const geo_locate<T,M>&) { _ptr = 0; return *this; }
46  ~geo_locate();
47  static geo_locate_abstract_rep<T,M>* make_ptr (const geo_base_rep<T,M>& omega);
49  const geo_base_rep<T,M>& omega,
50  const point_basic<T>& x,
51  size_type dis_ie_guest = std::numeric_limits<size_type>::max()) const;
53  const geo_base_rep<T,M>& omega,
54  const point_basic<T>& x,
55  size_type dis_ie_guest = std::numeric_limits<size_type>::max()) const;
56 // data:
57 protected:
58  mutable geo_locate_abstract_rep<T,M>* _ptr;
59 };
60 
61 } // namespace rheolef
62 #endif // _RHEOLEF_GEO_LOCATE_H
field::size_type size_type
Definition: branch.cc:430
see the disarray page for the full documentation
Definition: disarray.h:497
base class for M=sequential or distributed meshes representations
Definition: geo.h:528
size_type seq_locate(const geo_base_rep< T, M > &omega, const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
Definition: geo_locate.cc:218
size_type dis_locate(const geo_base_rep< T, M > &omega, const point_basic< T > &x, size_type dis_ie_guest=std::numeric_limits< size_type >::max()) const
Definition: geo_locate.cc:228
static geo_locate_abstract_rep< T, M > * make_ptr(const geo_base_rep< T, M > &omega)
Definition: geo_locate.cc:296
geo_locate< T, M > & operator=(const geo_locate< T, M > &)
Definition: geo_locate.h:45
geo_locate(const geo_locate< T, M > &)
Definition: geo_locate.h:44
disarray< T, M >::size_type size_type
Definition: geo_locate.h:42
geo_locate_abstract_rep< T, M > * _ptr
Definition: geo_locate.h:58
This file is part of Rheolef.