UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_model_defines.hpp
1 /* u3d_model_defines.hpp */
2 /* $Id: u3d_model_defines.hpp,v 1.4 2008/06/02 13:14:16 sad Exp $ */
3 #ifndef __u3d_model_defines_hpp
4 #define __u3d_model_defines_hpp
5 
6 //#include <u3d_defines.hpp>
7 #include <mth/u3d_triangled_abstract_surface.hpp> // For U3dPoint and U3D_COLOR
8 
9 
10 #define U3D_MIN_CELL_SIZE 20.0
11 #define U3D_MIN_TRIANGLE_SIZE 50 //U3D_EPS_LENGTH * 10.;
12 #define U3D_MAX_CELL_TRIANGLES 500 // U3D_MIN_TRIANGLE_SIZE // 10
13 #define U3D_MIN_SURFACE_POINTS_NUMBER 3
14 
15 
16 
17 //efine U3D_FB_NORMAL_ERROR_MESSAGE
18 
20 struct U3dModAreaPos {
21  U3dPoint originP;
22  float azimuth;
23 };
24 
25 enum U3D_WAVE_TYPE {U3D_PRESSURE, U3D_SHEAR};
26 
34 struct U3dSignature { int boundId; U3D_COLOR color; };
35 
36 typedef std::vector<U3dSignature> U3dSignAr;
37 
38 
42  double dip;
43  double az;
44  double den;
45  double vp;
46  double vs;
48  double an_kp;
49  double an_ks;
50  double an_R;
51 
52  U3d1dModBodyInfo() :
53  an_kp(1.0), an_ks(1.0), an_R(1.0) {}
54 
55  U3d1dModBodyInfo(U3dPoint point, double dip_f, double az_f, double density,
56  double Vp, double Vs,
57  double kp_an=1.0, double ks_an=1.0, double R_an=1.0) :
58  p(point), dip(dip_f), az(az_f), den(density),
59  vp(Vp), vs(Vs),
60  an_kp(kp_an), an_ks(ks_an), an_R(R_an) {}
61 
62 
63 };
64 
65 typedef std::vector<U3d1dModBodyInfo> U3d1dModBodyInfoAr;
66 
68 struct U3dBodyVel {
70  double vp;
71  double vs;
72 };
73 
74 typedef std::vector<U3dBodyVel> U3dBodyVels;
75 
77 struct U3dBodyInfo {
78  U3dSignAr signature;
79  U3dBodyVels vels;
80  double kzp;
81  double kzs;
82  double density;
84  double an_kp;
85  double an_ks;
86  double an_R;
87 
88  U3dBodyInfo() :
89  an_kp(1.0), an_ks(1.0), an_R(1.0) {}
90 
91  U3dBodyInfo(U3dSignAr sign, U3dBodyVels velocities,
92  double kz_p, double kz_s, double den,
93  double kp_an=1.0, double ks_an=1.0, double R_an=1.0) :
94  signature(sign), vels(velocities),
95  kzp(kz_p), kzs(kz_s), density(den),
96  an_kp(kp_an), an_ks(ks_an), an_R(R_an) {}
97 
98 };
99 
100 typedef std::vector<U3dBodyInfo> U3dBodyInfoAr;
101 
102 
103 enum U3dInterpolationType {
104  Plane,
105  BSplineN,
106  BSpline3,
107  BezierSpline3,
108  BetaSpline3,
109  CRomSpline3
110 };
111 
113 struct U3dBoundInfo {
115  U3dPointsAr points;
116  U3dSignAr relations;
117  U3dInterpolationType iType;
118 };
119 
120 typedef std::vector<U3dBoundInfo> U3dBoundInfoAr;
121 
122 
123 
124 
125 /*
126  Here comes section with char names of the fields for textfile parser.
127 */
128 
129 namespace U3dModParams {
130 
131  const char version[] = "version";
132  const char model_name[] = "model_name";
133  const char model_description[] = "model_description";
134  const char originX[] = "originX";
135  const char originY[] = "originY";
136  const char originElev[] = "originElev";
137  const char azimuth[] = "azimuth";
138  const char xsize[] = "xsize";
139  const char ysize[] = "ysize";
140  const char zsize[] = "zsize";
141  const char bound_points[] = "bound_points";
142  const char bound_relations[] = "bound_relations";
143  const char body_vp[] = "body_vp";
144  const char body_vs[] = "body_vs";
145  const char body_kzp[] = "body_kzp";
146  const char body_kzs[] = "body_kzs";
147  const char body_den[] = "body_den";
148  const char body_topology[] = "body_topology";
149  const char body_an_kp[] = "body_an_kp";
150  const char body_an_ks[] = "body_an_ks";
151  const char body_an_R[] = "body_an_R";
152  const char color_white[] = "white";
153  const char color_black[] = "black";
154 
155 };
156 
157 
158 #endif /* u3d_model_defines.hpp */
159 
double vp
Definition: u3d_model_defines.hpp:45
Definition: u3d_model_defines.hpp:20
double kzs
Definition: u3d_model_defines.hpp:81
U3dPointsAr points
Definition: u3d_model_defines.hpp:115
double vp
Definition: u3d_model_defines.hpp:70
U3dSignAr relations
Definition: u3d_model_defines.hpp:116
double kzp
Definition: u3d_model_defines.hpp:80
Definition: geometry.H:16
float azimuth
Definition: u3d_model_defines.hpp:22
Definition: u3d_model_defines.hpp:77
double az
Definition: u3d_model_defines.hpp:43
U3dBodyVels vels
Definition: u3d_model_defines.hpp:79
U3dSignAr signature
Definition: u3d_model_defines.hpp:78
Definition: u3d_point.hpp:16
Definition: u3d_model_defines.hpp:68
double dip
Definition: u3d_model_defines.hpp:42
Definition: u3d_model_defines.hpp:34
double vs
Definition: u3d_model_defines.hpp:46
Definition: u3d_model_defines.hpp:40
U3dPoint p
Definition: u3d_model_defines.hpp:69
Definition: u3d_model_defines.hpp:113
double vs
Definition: u3d_model_defines.hpp:71
U3dPoint zeroPoint
Definition: u3d_model_defines.hpp:114
double den
Definition: u3d_model_defines.hpp:44
double density
Definition: u3d_model_defines.hpp:82
U3dPoint p
Definition: u3d_model_defines.hpp:41
U3dInterpolationType iType
Definition: u3d_model_defines.hpp:117