164 Rx[0][0] = 1.0; Rx[0][1] = 0.0; Rx[0][2] = 0.0;
165 Rx[1][0] = 0.0; Rx[1][1] = cos (alpha); Rx[1][2] = sin (alpha);
166 Rx[2][0] = 0.0; Rx[2][1] = -sin (alpha); Rx[2][2] = cos (alpha);
169 Rx[0][0] = 1.0; Rx[0][1] = 0.0; Rx[0][2] = 0.0;
170 Rx[1][0] = 0.0; Rx[1][1] = cos (alpha); Rx[1][2] = -sin (alpha);
171 Rx[2][0] = 0.0; Rx[2][1] = sin (alpha); Rx[2][2] = cos (alpha);
174 double x = point.
x, y = point.
y, z = point.
z;
175 point.
x = Rx[0][0] * x + Rx[0][1] * y + Rx[0][2] * z;
176 point.
y = Rx[1][0] * x + Rx[1][1] * y + Rx[1][2] * z;
177 point.
z = Rx[2][0] * x + Rx[2][1] * y + Rx[2][2] * z;
187 Ry[0][0] = cos (alpha); Ry[0][1] = 0.0; Ry[0][2] = -sin (alpha);
188 Ry[1][0] = 0.0; Ry[1][1] = 1.0; Ry[1][2] = 0.0;
189 Ry[2][0] = sin (alpha); Ry[2][1] = 0.0; Ry[2][2] = cos (alpha);
192 Ry[0][0] = cos (alpha); Ry[0][1] = 0.0; Ry[0][2] = sin (alpha);
193 Ry[1][0] = 0.0; Ry[1][1] = 1.0; Ry[1][2] = 0.0;
194 Ry[2][0] = -sin (alpha); Ry[2][1] = 0.0; Ry[2][2] = cos (alpha);
197 double x = point.
x, y = point.
y, z = point.
z;
198 point.
x = Ry[0][0] * x + Ry[0][1] * y + Ry[0][2] * z;
199 point.
y = Ry[1][0] * x + Ry[1][1] * y + Ry[1][2] * z;
200 point.
z = Ry[2][0] * x + Ry[2][1] * y + Ry[2][2] * z;
210 Rz[0][0] = cos (alpha); Rz[0][1] = sin (alpha); Rz[0][2] = 0.0;
211 Rz[1][0] = -sin (alpha); Rz[1][1] = cos (alpha); Rz[1][2] = 0.0;
212 Rz[2][0] = 0.0; Rz[2][1] = 0.0; Rz[2][2] = 1.0;
215 Rz[0][0] = cos (alpha); Rz[0][1] = -sin (alpha); Rz[0][2] = 0.0;
216 Rz[1][0] = sin (alpha); Rz[1][1] = cos (alpha); Rz[1][2] = 0.0;
217 Rz[2][0] = 0.0; Rz[2][1] = 0.0; Rz[2][2] = 1.0;
220 double x = point.
x, y = point.
y, z = point.
z;
221 point.
x = Rz[0][0] * x + Rz[0][1] * y + Rz[0][2] * z;
222 point.
y = Rz[1][0] * x + Rz[1][1] * y + Rz[1][2] * z;
223 point.
z = Rz[2][0] * x + Rz[2][1] * y + Rz[2][2] * z;
void check_ellipsoid_rec_consistency(meso3d::ellipsoid_rec &L)
ADDED for muMech needs.
double * origin
coordinates of the inclusions' centorids
static void rotate_point_about_X_axis(const double alpha, meso3d::point_rec &point, rotation r)
int check_ellipsoid_ellipsoid_overlap(ellipsoid_rec *ellipsoid1, ellipsoid_rec *ellipsoid2)
Class InclusionRecord contains and handles all inclusion data.
void transfom_ellipsoid_rec(meso3d::ellipsoid_rec &L)
ADDED for muMech needs.
void transfom_ellipse_rec(meso2d::ellipse_rec &L)
ADDED for muMech needs.
MESO2d - library of functions for geometry analysis of ellipses and preprocesor for T3d...
double * eAngles
Euller angles.
static void fill_ellipsoid_rec(const Inclusion *inc, meso3d::ellipsoid_rec &L)
static void rotate_point_by_euler_angles_in_313_notation(const double *eAngles, meso3d::point_rec &point)
bool check_ellipse_ellipse_overlap(ellipse_rec *ellipse1, ellipse_rec *ellipse2)
Class inclusion contains and handles all inclusion data.
static void rotate_point_about_Z_axis(const double alpha, meso3d::point_rec &point, rotation r)
double * a
Inclusion semiaxes' dimensions in global arrangement.
static bool ellipses_overlap(const Inclusion *inc1, const Inclusion *inc2)
long id
identification number
static void rotate_point_about_Y_axis(const double alpha, meso3d::point_rec &point, rotation r)
MESO3d - library of functions for geometry analysis of ellipsoids and preprocesor for T3d...
static int ellipsoids_overlap(const Inclusion *inc1, const Inclusion *inc2)
void check_ellipse_rec_consistency(meso2d::ellipse_rec &L)
ADDED for muMech needs.
static void fill_ellipse_rec(const Inclusion *inc, meso2d::ellipse_rec &L)