Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
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
34namespace rheolef {
35
36// forward declarations:
37template <class T, class M> class geo_base_rep;
38template <class T, class M> class geo_trace_ray_boundary_abstract_rep;
39
40template <class T, class M>
42public:
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:
60protected:
61 mutable geo_trace_ray_boundary_abstract_rep<T,M>* _ptr;
62};
63
64} // namespace rheolef
65#endif // _RHEOLEF_TRACE_RAY_BOUNDARY_H
rep::base::size_type size_type
Definition disarray.h:501
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.