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.31 2008/04/25 11:37:42 guser1 Exp $ */
3 #ifndef __u3d_model_defines_hpp
4 #define __u3d_model_defines_hpp
5 
6 #include <u3d_defines.hpp>
7 #include <u3d_point.hpp>
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 
19 
20 
22 struct U3dModAreaPos {
23  U3dPoint originP;
24  float azimuth;
25 };
26 
27 
28 enum U3D_WAVE_TYPE {U3D_PRESSURE, U3D_SHEAR};
29 
37 struct U3dSignature { int boundId; U3D_COLOR color; };
38 
39 typedef safe_vector<U3dSignature> U3dSignAr;
40 
41 
43 struct U3d1dModBodyInfo {
44  U3dPoint p;
45  double dip;
46  double az;
47  double den;
48  double vp;
49  double vs;
51  double an_kp;
52  double an_ks;
53  double an_R;
54 
55  U3d1dModBodyInfo() :
56  an_kp(1.0), an_ks(1.0), an_R(1.0) {}
57 
58  U3d1dModBodyInfo(U3dPoint point, double dip_f, double az_f, double density,
59  double Vp, double Vs,
60  double kp_an=1.0, double ks_an=1.0, double R_an=1.0) :
61  p(point), dip(dip_f), az(az_f), den(density),
62  vp(Vp), vs(Vs),
63  an_kp(kp_an), an_ks(ks_an), an_R(R_an) {}
64 
65 
66 };
67 
68 typedef safe_vector<U3d1dModBodyInfo> U3d1dModBodyInfoAr;
69 
71 struct U3dBodyVel {
72  U3dPoint p;
73  double vp;
74  double vs;
75 };
76 
77 typedef safe_vector<U3dBodyVel> U3dBodyVels;
78 
80 struct U3dBodyInfo {
81  U3dSignAr signature;
82  U3dBodyVels vels;
83  double kzp;
84  double kzs;
85  double density;
87  double an_kp;
88  double an_ks;
89  double an_R;
90 
91  U3dBodyInfo() :
92  an_kp(1.0), an_ks(1.0), an_R(1.0) {}
93 
94  U3dBodyInfo(U3dSignAr sign, U3dBodyVels velocities,
95  double kz_p, double kz_s, double den,
96  double kp_an=1.0, double ks_an=1.0, double R_an=1.0) :
97  signature(sign), vels(velocities),
98  kzp(kz_p), kzs(kz_s), density(den),
99  an_kp(kp_an), an_ks(ks_an), an_R(R_an) {}
100 
101 };
102 
103 typedef safe_vector<U3dBodyInfo> U3dBodyInfoAr;
104 
105 
106 enum U3dInterpolationType {
107  Plane,
108  BSplineN,
109  BSpline3,
110  BezierSpline3,
111  BetaSpline3,
112  CRomSpline3
113 };
114 
116 struct U3dBoundInfo {
118  U3dPointsAr points;
119  U3dSignAr relations;
120  U3dInterpolationType iType;
121 };
122 
123 typedef safe_vector<U3dBoundInfo> U3dBoundInfoAr;
124 
125 
126 
127 
128 /*
129  Here comes section with char names of the fields for textfile parser.
130 */
131 
132 namespace U3dModParams {
133 
134  const char version[] = "version";
135  const char model_name[] = "model_name";
136  const char model_description[] = "model_description";
137  const char originX[] = "originX";
138  const char originY[] = "originY";
139  const char originElev[] = "originElev";
140  const char azimuth[] = "azimuth";
141  const char xsize[] = "xsize";
142  const char ysize[] = "ysize";
143  const char zsize[] = "zsize";
144  const char bound_points[] = "bound_points";
145  const char bound_relations[] = "bound_relations";
146  const char body_vp[] = "body_vp";
147  const char body_vs[] = "body_vs";
148  const char body_kzp[] = "body_kzp";
149  const char body_kzs[] = "body_kzs";
150  const char body_den[] = "body_den";
151  const char body_topology[] = "body_topology";
152  const char body_an_kp[] = "body_an_kp";
153  const char body_an_ks[] = "body_an_ks";
154  const char body_an_R[] = "body_an_R";
155  const char color_white[] = "white";
156  const char color_black[] = "black";
157 
158 };
159 
160 
161 #endif /* u3d_model_defines.hpp */
162 
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
Definition: u3d_defines.hpp:188
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