UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_ray.hpp
1 /* u3d_ray.hpp */
2 /* $Id: u3d_ray.hpp,v 1.16 2008/03/31 07:58:19 guser1 Exp $ */
3 
4 #ifndef __u3d_ray_hpp
5 #define __u3d_ray_hpp
6 
7 #include <u3d_model.hpp>
8 #include <u3d_model_defines.hpp>
9 #include "u3d_raytr_defines.hpp"
10 
11 
12 //============================================================================
14 class U3dRay
15 {
16  public:
17 
19  U3dRay(U3dPoint startP, double stF, double stAz);
20  ~U3dRay();
21 
23  void addPoint(U3dRayPoint);
24 
26  void getStartParams(U3dPoint &startP, double &f, double &az);
27 
29  int getPointsNum();
30 
32  void getRayPoits(U3dRayPointsAr &points);
33 
35  void getPoints(U3dPointsAr &points);
36 
38  bool getPoint(int p_ind, U3dRayPoint &rp);
39 
41  void getAngles(double *f, double *az);
42 
44  void getLastPoint(U3dPoint &p);
45 
47  double getLastAngle();
48 
50  void addRayInt(U3dPoint p,
51  double f1, double az1,
52  double f2, double az2,
53  double time, int bn1, int bn2,
54  int boundN, double coeff,
55  double iAngle, double iAz, double iCurv);
56 
58  void addRayWInt(U3dRayPoint p);
59 
61  int getRayIntNum();
62 
64  void getRayInt(U3dRayIntStAr &int_points);
65 
67  void getRayLastInt(U3dRayIntSt &int_point);
68 
69  void getRayIBNums(std::vector<int> *iBNums);
70 
72  int getRayWIntNum();
73 
76 
77  // void GetRayWInt(double *x, double *y, double *z,
78  // double *f, double *az,
79  // double *t, int &n);
80 
82  void setOOMFlag();
83 
85  bool getOOMFlag();
86 
88  int getRayCodeNum();
89 
91  void setRayCode(U3dCodeAr rCode);
92 
94  void getRayCode(U3dCodeAr &rCode);
95 
96  bool saveTrajectoryToFile(const char* file_name);
97 
98  private:
99 
100  U3dRayPoint m_endPoint;
101  U3dRayPoint m_wellPoint;
102 
103  U3dRayPointsAr m_points;
104  U3dRayIntStAr m_intersects;
106  int *codeBN;
107  U3D_WAVE_TYPE *codeVPS;
108  bool *codeRTR;
109  int codeNum;
111  int pNum;
112 
113 
114  bool outOfModel;
115 };
116 
117 #endif /* u3d_ray.hpp */
118 
119 
120 
121 
122 
123 
124 
125 
void getRayInt(U3dRayIntStAr &int_points)
void getPoints(U3dPointsAr &points)
void addRayWInt(U3dRayPoint p)
bool getOOMFlag()
void getRayLastInt(U3dRayIntSt &int_point)
int getRayCodeNum()
void getRayPoits(U3dRayPointsAr &points)
void getLastPoint(U3dPoint &p)
int getPointsNum()
int getRayWIntNum()
U3dRay(U3dPoint startP, double stF, double stAz)
Definition: geometry.H:16
Definition: u3d_raytr_defines.hpp:81
Definition: u3d_point.hpp:16
Definition: u3d_ray.hpp:14
Definition: u3d_raytr_defines.hpp:65
void getStartParams(U3dPoint &startP, double &f, double &az)
void addPoint(U3dRayPoint)
void getRayCode(U3dCodeAr &rCode)
void setOOMFlag()
void addRayInt(U3dPoint p, double f1, double az1, double f2, double az2, double time, int bn1, int bn2, int boundN, double coeff, double iAngle, double iAz, double iCurv)
void getAngles(double *f, double *az)
double getLastAngle()
int getRayIntNum()
void getRayWInt(U3dRayPoint &point)
void setRayCode(U3dCodeAr rCode)