muMECH  1.0
mesoface.h
Go to the documentation of this file.
1 //********************************************************************************************************
2 // code: ### ### ##### #### ## ##
3 // ## ## ######## ## ## ## ## ##
4 // ## ## ## ## ## ### ## ######
5 // ## ## ## ## ## ## ## ## ##
6 // ##### ## ## ##### #### ## ##
7 // ##
8 //
9 // name: mesoface.h
10 // author(s): Lukas Zrubek, Ladislav Svoboda
11 // language: C, C++
12 // license: This program is free software; you can redistribute it and/or modify
13 // it under the terms of the GNU Lesser General Public License as published by
14 // the Free Software Foundation; either version 2 of the License, or
15 // (at your option) any later version.
16 //
17 // This program is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
21 //
22 // You should have received a copy of the GNU Lesser General Public License
23 // along with this program; if not, write to the Free Software
24 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 //********************************************************************************************************
31 #ifndef MUMECH_MESOFACE_H
32 #define MUMECH_MESOFACE_H
33 
34 #include "meso2d.h"
35 #include "meso3d.h"
36 #include "types.h"
37 
38 namespace mumech {
39 
40 class Inclusion;
41 
42 
68 class MesoFace
69 {
70  public:
72  MesoFace () {}
74  virtual ~MesoFace () {}
75 
77  static int ellipsoids_overlap (const Inclusion* inc1, const Inclusion* inc2);
78 
80  static bool ellipses_overlap (const Inclusion* inc1, const Inclusion* inc2);
81 
82 
83  private:
88  static void fill_ellipsoid_rec (const Inclusion* inc, meso3d::ellipsoid_rec & L);
93  static void fill_ellipse_rec (const Inclusion* inc, meso2d::ellipse_rec & L);
94 
95 
96 public:
97  // @eAngles ... Eulerovy uhly (v radianech)
98  // @point ..... struktura bodu z meso3d
99  // tato fce je tady zbytecne, v mumechu je transformacni matice inclusion->T, takze ji muzem vyhodit
100  static void rotate_point_by_euler_angles_in_313_notation (const double * eAngles, meso3d::point_rec & point);
101 
102 private:
103  // @alpha ... angle in radians
104  // @point ... struktura bodu z meso3d
105  // @r ....... enum, typ rotace
106  static void rotate_point_about_X_axis (const double alpha, meso3d::point_rec & point, rotation r);
107 
108  // @alpha ... angle in radians
109  // @point ... struktura bodu z meso3d
110  // @r ....... enum, typ rotace
111  static void rotate_point_about_Y_axis (const double alpha, meso3d::point_rec & point, rotation r);
112 
113  // @alpha ... angle in radians
114  // @point ... struktura bodu z meso3d
115  // @r ....... enum, typ rotace
116  static void rotate_point_about_Z_axis (const double alpha, meso3d::point_rec & point, rotation r);
117 
118 }; // end of class mesoface
119 
120 } // end of namespace mumech
121 
122 #endif
123 
124 /*end of file*/
file of various types and symbolic constant definitions
static void rotate_point_about_X_axis(const double alpha, meso3d::point_rec &point, rotation r)
Definition: mesoface.cpp:160
Ellipsoid record.
Definition: meso3d.h:65
Class InclusionRecord contains and handles all inclusion data.
Definition: inclusion.h:60
Ellipsoid record.
Definition: meso2d.h:57
MesoFace()
Constructor.
Definition: mesoface.h:72
MESO2d - library of functions for geometry analysis of ellipses and preprocesor for T3d...
static void fill_ellipsoid_rec(const Inclusion *inc, meso3d::ellipsoid_rec &L)
Definition: mesoface.cpp:69
static void rotate_point_by_euler_angles_in_313_notation(const double *eAngles, meso3d::point_rec &point)
Definition: mesoface.cpp:118
virtual ~MesoFace()
Destructor.
Definition: mesoface.h:74
static void rotate_point_about_Z_axis(const double alpha, meso3d::point_rec &point, rotation r)
Definition: mesoface.cpp:206
rotation
Definition: types.h:72
static bool ellipses_overlap(const Inclusion *inc1, const Inclusion *inc2)
Definition: mesoface.cpp:53
static void rotate_point_about_Y_axis(const double alpha, meso3d::point_rec &point, rotation r)
Definition: mesoface.cpp:183
Class of the interface functions for libraries meso2d and meso3d.
Definition: mesoface.h:68
MESO3d - library of functions for geometry analysis of ellipsoids and preprocesor for T3d...
Point record.
Definition: meso3d.h:50
static int ellipsoids_overlap(const Inclusion *inc1, const Inclusion *inc2)
Definition: mesoface.cpp:37
static void fill_ellipse_rec(const Inclusion *inc, meso2d::ellipse_rec &L)
Definition: mesoface.cpp:128