3 #ifndef __p_raytr_hits_H
4 #define __p_raytr_hits_H
7 #include <mix/ObjectsAr.H>
8 #include <mix/geometry.H>
9 #include <mth/simplex.H>
17 #define MN_CHINA_D 0 // fern
24 #define PM_ALPHA_STOP_D 0.0001
25 #define PM_MAX_ITERATIONS_COUNT_D 50
27 #define PM_ALPHA_LESS_D 0.7
28 #define PM_ALPHA_MORE_D 1.3
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);
46 virtual ray* shoot(
double,
double,
point&,Logic&,
double);
47 virtual Logic good_enough(
double,
ray*);
50 get_ray_parameters(
const point3d &pWhere,
const ray* rLast,
double &dFi,
51 double &dAz,
double &dDFi,
double& dDAz,
double &dRo);
53 get_ray_parameters(
const point3d &pWhere,
const crossing &cClosest,
double &dFi,
54 double &dAz,
double &dDFi,
double& dDAz,
double &dRo);
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;};
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)
76 get_ray_parameters(
const point3d &pWhere,
const crossing &cClosest,
double &dFi,
77 double &dAz,
double &dDFi,
double& dDAz,
double &dRo);
79 get_ray_parameters(
const point3d &pWhere,
const ray* rLast,
double &dFi,
80 double &dAz,
double &dDFi,
double& dDAz,
double &dRo);
91 Logic verify_ray(
ray*)
const;
94 virtual ray* shoot(
double,
double,
point&,Logic&,
double);
95 virtual Logic good_enough(
double,
ray*);
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);
112 Logic verify_ray(
ray*)
const;
115 virtual ray* shoot(
double,
double,
point&,Logic&,
double);
116 virtual Logic good_enough(
double,
ray*);
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);
130 Logic verify_ray(
ray*)
const;
132 virtual double value(
const point2D&);
137 double le=DEFAULT_LESSER_VALUE,
double ee=DEFAULT_ENLARGE_VALUE,
138 double _a=DEFAULT_A,
double _b=DEFAULT_B,
double _g=DEFAULT_G);
Definition: p_raytr_hits.H:125
Definition: p_raytr_elements.H:113
Definition: geometry.H:16
Definition: p_raytr_hits.H:104
Definition: p_raytr_hits.H:83
Definition: p_raytr_hits.H:66
Definition: p_raytr_hits.H:31
Definition: geometry.H:39