Rheolef  7.2
an efficient C++ finite element environment
geo_trace_ray_boundary.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_GEO_TRACE_RAY_BOUNDARY_H
2 #define _RHEOLEF_GEO_TRACE_RAY_BOUNDARY_H
23 //
24 // given x and v, search S on boudary mesh such that ray(x,v) hits S
25 // and returns the closest hit to x
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_trace_ray_boundary_abstract_rep;
39 
40 template <class T, class M>
42 public:
48  static geo_trace_ray_boundary_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  const point_basic<T>& v,
53  point_basic<T>& y) const;
55  const geo_base_rep<T,M>& omega,
56  const point_basic<T>& x,
57  const point_basic<T>& v,
58  point_basic<T>& y) const;
59 // data:
60 protected:
61  mutable geo_trace_ray_boundary_abstract_rep<T,M>* _ptr;
62 };
63 
64 } // namespace rheolef
65 #endif // _RHEOLEF_TRACE_RAY_BOUNDARY_H
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
geo_trace_ray_boundary_abstract_rep< T, M > * _ptr
bool seq_trace_ray_boundary(const geo_base_rep< T, M > &omega, const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
bool dis_trace_ray_boundary(const geo_base_rep< T, M > &omega, const point_basic< T > &x, const point_basic< T > &v, point_basic< T > &y) const
geo_trace_ray_boundary(const geo_trace_ray_boundary< T, M > &)
disarray< T, M >::size_type size_type
geo_trace_ray_boundary< T, M > & operator=(const geo_trace_ray_boundary< T, M > &)
static geo_trace_ray_boundary_abstract_rep< T, M > * make_ptr(const geo_base_rep< T, M > &omega)
This file is part of Rheolef.