UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_body.hpp
1 /* u3d_body.hpp */
2 /* $Id: u3d_body.hpp,v 1.17 2007/12/24 10:36:34 guser3 Exp $ */
3 #ifndef __u3d_body_hpp
4 #define __u3d_body_hpp
5 
6 #include <u3d_point.hpp>
7 //#include <u3d_defines.hpp>
8 #include "u3d_model_defines.hpp"
9 
10 
11 //============================================================================
13 class U3dBody
14 {
15 public:
16 
18  U3dBody();
19 
21  U3dBody(U3dSignAr signatures, double vp, double vs,
22  double kzp, double kzs, double density, double an_kp=1.0, double an_ks=1.0, double R=1.0);
23 
25  U3dBody(U3dSignAr signatures, U3dBodyVels vels,
26  double kzp, double kzs, double density, double an_kp=1.0, double an_ks=1.0, double R=1.0);
27 
29  U3dBody(U3dBody*);
30 
31  ~U3dBody();
32 
34  double getCPV() const;
36  double getCSV() const;
37 
39  double getPV(U3dPoint) const;
41  double getSV(U3dPoint) const;
42 
44  double getPKZ() const;
46  double getSKZ() const;
47 
49  double getDen() const ;
50 
52  double getAnKP() const { return m_an_kp; }
53 
55  double getAnKS() const { return m_an_ks; }
56 
58  double getRParam() const { return m_R; }
59 
61  U3dBodyVels getVels() const;
62 
64  U3dSignAr getSignature() const { return m_signatures; };
65 
66  bool compareSign(U3dSignAr pointSign) const;
67 
69  bool constParams() const;
70 
71 
73  void setAnParams(double an_kp, double an_ks, double an_R);
74 
76  void setAnKP(double an_kp) { m_an_kp = an_kp; }
77 
79  void setAnKS(double an_ks) { m_an_ks = an_ks; }
80 
82  void setRParam(double R) { m_R = R; }
83 
84 
86  void getAnParams(double& an_kp, double& an_ks, double& an_R);
87 
89  double getAnKP() { return m_an_kp; }
90 
92  double getAnKS() { return m_an_ks; }
93 
95  double getRParam() { return m_R; }
96 
97 
98 protected:
99 
100  bool m_ready;
101  bool m_constParams;
103  double m_pV;
104  double m_sV;
105  double m_pKz;
106  double m_sKz;
107  double m_density;
109  double m_an_kp;
110  double m_an_ks;
111  double m_R;
113  U3dSignAr m_signatures;
115  U3dBodyVels m_vels;
116 };
117 
118 typedef safe_vector<U3dBody*> U3dBodiesAr;
119 
120 #endif /* u3d_body.hpp */
Definition: u3d_body.hpp:13
void setRParam(double R)
Definition: u3d_body.hpp:82
bool m_constParams
Definition: u3d_body.hpp:101
U3dSignAr getSignature() const
Definition: u3d_body.hpp:64
double getCPV() const
double m_sV
Definition: u3d_body.hpp:104
double getPKZ() const
void getAnParams(double &an_kp, double &an_ks, double &an_R)
double m_sKz
Definition: u3d_body.hpp:106
double getDen() const
U3dSignAr m_signatures
Definition: u3d_body.hpp:113
double m_R
Definition: u3d_body.hpp:111
U3dBodyVels getVels() const
bool constParams() const
double m_density
Definition: u3d_body.hpp:107
double m_an_ks
Definition: u3d_body.hpp:110
double m_an_kp
Definition: u3d_body.hpp:109
double getSKZ() const
double getRParam() const
Definition: u3d_body.hpp:58
double getAnKS() const
Definition: u3d_body.hpp:55
Definition: u3d_point.hpp:16
void setAnKP(double an_kp)
Definition: u3d_body.hpp:76
double m_pKz
Definition: u3d_body.hpp:105
U3dBodyVels m_vels
Definition: u3d_body.hpp:115
double getAnKS()
Definition: u3d_body.hpp:92
bool m_ready
Definition: u3d_body.hpp:100
double getRParam()
Definition: u3d_body.hpp:95
double getAnKP() const
Definition: u3d_body.hpp:52
double getCSV() const
void setAnKS(double an_ks)
Definition: u3d_body.hpp:79
void setAnParams(double an_kp, double an_ks, double an_R)
Definition: u3d_defines.hpp:188
double getPV(U3dPoint) const
double getSV(U3dPoint) const
double m_pV
Definition: u3d_body.hpp:103
double getAnKP()
Definition: u3d_body.hpp:89