UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
p_raytr_hits.H
1 /* p_raytr_hits.H */
2 /* $Id: p_raytr_hits.H,v 2.7 2003/10/01 17:40:05 fern Exp $ */
3 #ifndef __p_raytr_hits_H
4 #define __p_raytr_hits_H
5 
6 #include <mix/wenv.h>
7 #include <mix/ObjectsAr.H>
8 #include <mix/geometry.H>
9 #include <mth/simplex.H>
10 
11 class ray;
12 class ray_parameters;
13 // Классы для унификации процедуры настрела // Количество итераций в районе _нулевого_ угла //#define MN_CHINA_D 5 #define MN_CHINA_D 0 // fern // _нулевой_ угол #define MN_PHI_D 0.03 // Количество неудачных попыток подряд приблизиться к приемнику #define MILNUM2_D 10 #define PM_ALPHA_STOP_D 0.0001 #define PM_MAX_ITERATIONS_COUNT_D 50 #define PM_ALPHA_LESS_D 0.7 #define PM_ALPHA_MORE_D 1.3 // Общая часть выстрела для всех настрелов class general_hit_info{ protected: double dLess,dMore; int mn_china; double mn_phi; int milnum2; double alpha_stop; int max_iterations; public: general_hit_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); // Функции для изображения запиханных констант double lesser_alpha(){return dLess;}; double increase_alpha(){return dMore;}; int n_of_iterations(){return max_iterations;}; double alpha_min(){return alpha_stop;}; int mn2(){return milnum2;}; double phi(){return mn_phi;}; double iphi(){return mn_china;}; }; class hit_point_info:public general_hit_info{ protected: double dfl,dal; public: hit_point_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D) :general_hit_info(dl,dm,i1,d1,i2,d2,i3){dfl=0.15;dal=0.1;}; virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); }; class straight_hit_info:public hit_point_info{ protected: rays_shoot* pr; int iBody; double dAcc; double dALast; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); straight_hit_info(rays_shoot*,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; class reflected_hit_info:public hit_point_info{ protected: IntAr iaTemplate; rays_shoot* pr; int iBody; double dAcc; double dALast; int iBorder; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); reflected_hit_info(rays_shoot*,int,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; // Попадание в точку симплекс-методом class ray_hit_simplex:public simplex2D{ protected: general_hit_info& gs; point pWhere; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual double value(const point2D&); ray_hit_simplex(general_hit_info& ghiShot,const point&pW, const point2D&p1,const point2D&p2,const double&d1, const double&d2, ray*,// Template double le=DEFAULT_LESSER_VALUE,double ee=DEFAULT_ENLARGE_VALUE, double _a=DEFAULT_A,double _b=DEFAULT_B,double _g=DEFAULT_G); }; #endif /* p_raytr_hits.H */ /* Melnikov George Yu. 24-Dec-1999 */ /* ... */ /* Melnikov George Yu. 1-Feb-2000 */ /* ... */
14 
15 // Количество итераций в районе _нулевого_ угла//#define MN_CHINA_D 5 #define MN_CHINA_D 0 // fern // _нулевой_ угол #define MN_PHI_D 0.03 // Количество неудачных попыток подряд приблизиться к приемнику #define MILNUM2_D 10 #define PM_ALPHA_STOP_D 0.0001 #define PM_MAX_ITERATIONS_COUNT_D 50 #define PM_ALPHA_LESS_D 0.7 #define PM_ALPHA_MORE_D 1.3 // Общая часть выстрела для всех настрелов class general_hit_info{ protected: double dLess,dMore; int mn_china; double mn_phi; int milnum2; double alpha_stop; int max_iterations; public: general_hit_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); // Функции для изображения запиханных констант double lesser_alpha(){return dLess;}; double increase_alpha(){return dMore;}; int n_of_iterations(){return max_iterations;}; double alpha_min(){return alpha_stop;}; int mn2(){return milnum2;}; double phi(){return mn_phi;}; double iphi(){return mn_china;}; }; class hit_point_info:public general_hit_info{ protected: double dfl,dal; public: hit_point_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D) :general_hit_info(dl,dm,i1,d1,i2,d2,i3){dfl=0.15;dal=0.1;}; virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); }; class straight_hit_info:public hit_point_info{ protected: rays_shoot* pr; int iBody; double dAcc; double dALast; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); straight_hit_info(rays_shoot*,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; class reflected_hit_info:public hit_point_info{ protected: IntAr iaTemplate; rays_shoot* pr; int iBody; double dAcc; double dALast; int iBorder; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); reflected_hit_info(rays_shoot*,int,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; // Попадание в точку симплекс-методом class ray_hit_simplex:public simplex2D{ protected: general_hit_info& gs; point pWhere; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual double value(const point2D&); ray_hit_simplex(general_hit_info& ghiShot,const point&pW, const point2D&p1,const point2D&p2,const double&d1, const double&d2, ray*,// Template double le=DEFAULT_LESSER_VALUE,double ee=DEFAULT_ENLARGE_VALUE, double _a=DEFAULT_A,double _b=DEFAULT_B,double _g=DEFAULT_G); }; #endif /* p_raytr_hits.H */ /* Melnikov George Yu. 24-Dec-1999 */ /* ... */ /* Melnikov George Yu. 1-Feb-2000 */ /* ... */
16 //#define MN_CHINA_D 5
17 #define MN_CHINA_D 0 // fern
18 // _нулевой_ угол#define MN_PHI_D 0.03 // Количество неудачных попыток подряд приблизиться к приемнику #define MILNUM2_D 10 #define PM_ALPHA_STOP_D 0.0001 #define PM_MAX_ITERATIONS_COUNT_D 50 #define PM_ALPHA_LESS_D 0.7 #define PM_ALPHA_MORE_D 1.3 // Общая часть выстрела для всех настрелов class general_hit_info{ protected: double dLess,dMore; int mn_china; double mn_phi; int milnum2; double alpha_stop; int max_iterations; public: general_hit_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); // Функции для изображения запиханных констант double lesser_alpha(){return dLess;}; double increase_alpha(){return dMore;}; int n_of_iterations(){return max_iterations;}; double alpha_min(){return alpha_stop;}; int mn2(){return milnum2;}; double phi(){return mn_phi;}; double iphi(){return mn_china;}; }; class hit_point_info:public general_hit_info{ protected: double dfl,dal; public: hit_point_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D) :general_hit_info(dl,dm,i1,d1,i2,d2,i3){dfl=0.15;dal=0.1;}; virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); }; class straight_hit_info:public hit_point_info{ protected: rays_shoot* pr; int iBody; double dAcc; double dALast; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); straight_hit_info(rays_shoot*,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; class reflected_hit_info:public hit_point_info{ protected: IntAr iaTemplate; rays_shoot* pr; int iBody; double dAcc; double dALast; int iBorder; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); reflected_hit_info(rays_shoot*,int,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; // Попадание в точку симплекс-методом class ray_hit_simplex:public simplex2D{ protected: general_hit_info& gs; point pWhere; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual double value(const point2D&); ray_hit_simplex(general_hit_info& ghiShot,const point&pW, const point2D&p1,const point2D&p2,const double&d1, const double&d2, ray*,// Template double le=DEFAULT_LESSER_VALUE,double ee=DEFAULT_ENLARGE_VALUE, double _a=DEFAULT_A,double _b=DEFAULT_B,double _g=DEFAULT_G); }; #endif /* p_raytr_hits.H */ /* Melnikov George Yu. 24-Dec-1999 */ /* ... */ /* Melnikov George Yu. 1-Feb-2000 */ /* ... */
19 #define MN_PHI_D 0.03
20 
21 // Количество неудачных попыток подряд приблизиться к приемнику#define MILNUM2_D 10 #define PM_ALPHA_STOP_D 0.0001 #define PM_MAX_ITERATIONS_COUNT_D 50 #define PM_ALPHA_LESS_D 0.7 #define PM_ALPHA_MORE_D 1.3 // Общая часть выстрела для всех настрелов class general_hit_info{ protected: double dLess,dMore; int mn_china; double mn_phi; int milnum2; double alpha_stop; int max_iterations; public: general_hit_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); // Функции для изображения запиханных констант double lesser_alpha(){return dLess;}; double increase_alpha(){return dMore;}; int n_of_iterations(){return max_iterations;}; double alpha_min(){return alpha_stop;}; int mn2(){return milnum2;}; double phi(){return mn_phi;}; double iphi(){return mn_china;}; }; class hit_point_info:public general_hit_info{ protected: double dfl,dal; public: hit_point_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D) :general_hit_info(dl,dm,i1,d1,i2,d2,i3){dfl=0.15;dal=0.1;}; virtual void get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); virtual void get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi, double &dAz,double &dDFi,double& dDAz,double &dRo); }; class straight_hit_info:public hit_point_info{ protected: rays_shoot* pr; int iBody; double dAcc; double dALast; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); straight_hit_info(rays_shoot*,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; class reflected_hit_info:public hit_point_info{ protected: IntAr iaTemplate; rays_shoot* pr; int iBody; double dAcc; double dALast; int iBorder; Logic verify_ray(ray*)const; public: virtual ray* shoot(ray_parameters&,point&,Logic&,double); virtual ray* shoot(double,double,point&,Logic&,double); virtual Logic good_enough(double,ray*); reflected_hit_info(rays_shoot*,int,int,double, ray*,int,// Template double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D, int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D, double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D); }; // Попадание в точку симплекс-методом class ray_hit_simplex:public simplex2D{ protected: general_hit_info& gs; point pWhere; IntAr iaTemplate; Logic verify_ray(ray*)const; public: virtual double value(const point2D&); ray_hit_simplex(general_hit_info& ghiShot,const point&pW, const point2D&p1,const point2D&p2,const double&d1, const double&d2, ray*,// Template double le=DEFAULT_LESSER_VALUE,double ee=DEFAULT_ENLARGE_VALUE, double _a=DEFAULT_A,double _b=DEFAULT_B,double _g=DEFAULT_G); }; #endif /* p_raytr_hits.H */ /* Melnikov George Yu. 24-Dec-1999 */ /* ... */ /* Melnikov George Yu. 1-Feb-2000 */ /* ... */
22 #define MILNUM2_D 10
23 
24 #define PM_ALPHA_STOP_D 0.0001
25 #define PM_MAX_ITERATIONS_COUNT_D 50
26 
27 #define PM_ALPHA_LESS_D 0.7
28 #define PM_ALPHA_MORE_D 1.3
29 
30 // Общая часть выстрела для всех настрелов
32 protected:
33  double dLess,dMore;
34  int mn_china;
35  double mn_phi;
36  int milnum2;
37  double alpha_stop;
38  int max_iterations;
39 
40 public:
41  general_hit_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D,
42  int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D,
43  double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D);
44 
45  virtual ray* shoot(ray_parameters&,point&,Logic&,double);
46  virtual ray* shoot(double,double,point&,Logic&,double);
47  virtual Logic good_enough(double,ray*);
48 
49  virtual void
50  get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi,
51  double &dAz,double &dDFi,double& dDAz,double &dRo);
52  virtual void
53  get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi,
54  double &dAz,double &dDFi,double& dDAz,double &dRo);
55 
56  // Функции для изображения запиханных констант
57  double lesser_alpha(){return dLess;};
58  double increase_alpha(){return dMore;};
59  int n_of_iterations(){return max_iterations;};
60  double alpha_min(){return alpha_stop;};
61  int mn2(){return milnum2;};
62  double phi(){return mn_phi;};
63  double iphi(){return mn_china;};
64 };
65 
67 protected:
68  double dfl,dal;
69 public:
70  hit_point_info(double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D,
71  int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D,
72  double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D)
73  :general_hit_info(dl,dm,i1,d1,i2,d2,i3){dfl=0.15;dal=0.1;};
74 
75  virtual void
76  get_ray_parameters(const point3d &pWhere,const crossing &cClosest,double &dFi,
77  double &dAz,double &dDFi,double& dDAz,double &dRo);
78  virtual void
79  get_ray_parameters(const point3d &pWhere,const ray* rLast,double &dFi,
80  double &dAz,double &dDFi,double& dDAz,double &dRo);
81 };
82 
84 protected:
85  rays_shoot* pr;
86  int iBody;
87  double dAcc;
88  double dALast;
89  IntAr iaTemplate;
90 
91  Logic verify_ray(ray*)const;
92 public:
93  virtual ray* shoot(ray_parameters&,point&,Logic&,double);
94  virtual ray* shoot(double,double,point&,Logic&,double);
95  virtual Logic good_enough(double,ray*);
96  straight_hit_info(rays_shoot*,int,double,
97  ray*,int,// Template
98  double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D,
99  int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D,
100  double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D);
101 };
102 
103 
105 protected:
106  IntAr iaTemplate;
107  rays_shoot* pr;
108  int iBody;
109  double dAcc;
110  double dALast;
111  int iBorder;
112  Logic verify_ray(ray*)const;
113 public:
114  virtual ray* shoot(ray_parameters&,point&,Logic&,double);
115  virtual ray* shoot(double,double,point&,Logic&,double);
116  virtual Logic good_enough(double,ray*);
117  reflected_hit_info(rays_shoot*,int,int,double,
118  ray*,int,// Template
119  double dl=PM_ALPHA_LESS_D,double dm=PM_ALPHA_MORE_D,
120  int i1=MN_CHINA_D,double d1=MN_PHI_D,int i2=MILNUM2_D,
121  double d2=PM_ALPHA_STOP_D,int i3=PM_MAX_ITERATIONS_COUNT_D);
122 };
123 
124 // Попадание в точку симплекс-методом
126 protected:
127  general_hit_info& gs;
128  point pWhere;
129  IntAr iaTemplate;
130  Logic verify_ray(ray*)const;
131 public:
132  virtual double value(const point2D&);
133  ray_hit_simplex(general_hit_info& ghiShot,const point&pW,
134  const point2D&p1,const point2D&p2,const double&d1,
135  const double&d2,
136  ray*,// Template
137  double le=DEFAULT_LESSER_VALUE,double ee=DEFAULT_ENLARGE_VALUE,
138  double _a=DEFAULT_A,double _b=DEFAULT_B,double _g=DEFAULT_G);
139 };
140 
141 #endif /* p_raytr_hits.H */
142 
143 /* Melnikov George Yu. 24-Dec-1999 */
144 /* ... */
145 /* Melnikov George Yu. 1-Feb-2000 */
146 /* ... */
Definition: p_raytr_hits.H:125
Definition: p_raytr_elements.H:113
Definition: simplex.H:19
Definition: IntAr.H:14
Definition: rays.H:61
Definition: geometry.H:16
Definition: p_raytr_hits.H:104
Definition: rays.H:81
Definition: p_raytr_hits.H:83
Definition: p_raytr_hits.H:66
Definition: rays.H:223
Definition: p_raytr_hits.H:31
Definition: geometry.H:39