muMECH
1.0
|
Class of the interface functions for libraries meso2d and meso3d. More...
#include <mesoface.h>
Public Member Functions | |
MesoFace () | |
Constructor. More... | |
virtual | ~MesoFace () |
Destructor. More... | |
Static Public Member Functions | |
static int | ellipsoids_overlap (const Inclusion *inc1, const Inclusion *inc2) |
static bool | ellipses_overlap (const Inclusion *inc1, const Inclusion *inc2) |
static void | rotate_point_by_euler_angles_in_313_notation (const double *eAngles, meso3d::point_rec &point) |
Static Private Member Functions | |
static void | fill_ellipsoid_rec (const Inclusion *inc, meso3d::ellipsoid_rec &L) |
static void | fill_ellipse_rec (const Inclusion *inc, meso2d::ellipse_rec &L) |
static void | rotate_point_about_X_axis (const double alpha, meso3d::point_rec &point, rotation r) |
static void | rotate_point_about_Y_axis (const double alpha, meso3d::point_rec &point, rotation r) |
static void | rotate_point_about_Z_axis (const double alpha, meso3d::point_rec &point, rotation r) |
Class of the interface functions for libraries meso2d and meso3d.
Knihovny MESO pouzivame na detekci pruniku elipsoidu a elips. Funguje to. Je to postavene na slozite logice, ktera postupne zkouma standardni pripady, jako ze opsane kruznice se neprotinaji, tj. inkluze jsou hodne daleko od sebe. Pak se to zkouma pres jednotlive oktanty elipsoidu. V hranicnich pripadech, kdyz jsou k dobe inkluze ortogonalne, tj. maji k sobe blizko v oblasti vrcholu inkluze, tj. v miste kraju oktantu vykazuje algoritmus slabiny.
V MESO je transformacni matice ulozena v poradi a1, a3, a2, v muMechu je to a1, a2, a3. Kdyby to bylo stejne, tak by bylo jednoduche nacpat matici incluze->T primo do popisu elipsoidu jdouciho do meso3d. Takhle je by se to muselo udelat opatrne, v mistech komentaru "TADY".
Na webu je knihovnicka CDEllipsoid, ktera resi pouze prunik elipsoidu. Mozna by to stalo za to ji naimplementovat.
Definition at line 68 of file mesoface.h.
|
inline |
Constructor.
Definition at line 72 of file mesoface.h.
|
inlinevirtual |
Destructor.
Definition at line 74 of file mesoface.h.
References ellipses_overlap(), ellipsoids_overlap(), fill_ellipse_rec(), fill_ellipsoid_rec(), rotate_point_about_X_axis(), rotate_point_about_Y_axis(), rotate_point_about_Z_axis(), and rotate_point_by_euler_angles_in_313_notation().
Definition at line 53 of file mesoface.cpp.
References meso2d::check_ellipse_ellipse_overlap(), meso2d::check_ellipse_rec_consistency(), fill_ellipse_rec(), and meso2d::transfom_ellipse_rec().
Referenced by mumech::Inclusion::find_overlap(), intersection_2d_core(), and ~MesoFace().
Definition at line 37 of file mesoface.cpp.
References meso3d::check_ellipsoid_ellipsoid_overlap(), meso3d::check_ellipsoid_rec_consistency(), fill_ellipsoid_rec(), and meso3d::transfom_ellipsoid_rec().
Referenced by mumech::Inclusion::find_overlap(), intersection_3d_core(), and ~MesoFace().
|
staticprivate |
inc | inkluze z mumechu |
L | prazdna struktura ellipsoidu z meso3d |
Definition at line 128 of file mesoface.cpp.
References mumech::Inclusion::a, meso2d::ellipse_rec::angle, meso2d::ellipse_rec::bc, meso2d::ellipse_rec::boundary_msz, meso2d::ellipse_rec::center, mumech::Inclusion::eAngles, meso2d::ellipse_rec::id, mumech::Inclusion::id, meso2d::ellipse_rec::interface, meso2d::ellipse_rec::internal_msz, meso2d::ellipse_rec::max, meso2d::ellipse_rec::min, mumech::Inclusion::origin, meso2d::ellipse_rec::property, meso2d::point_rec::x, and meso2d::point_rec::y.
Referenced by ellipses_overlap(), and ~MesoFace().
|
staticprivate |
inc | inkluze z mumechu |
L | prazdna struktura ellipsoidu z meso3d |
Definition at line 69 of file mesoface.cpp.
References mumech::Inclusion::a, meso3d::ellipsoid_rec::bc, meso3d::ellipsoid_rec::boundary_msz, meso3d::ellipsoid_rec::center, mumech::Inclusion::eAngles, meso3d::ellipsoid_rec::id, mumech::Inclusion::id, meso3d::ellipsoid_rec::interface, meso3d::ellipsoid_rec::internal_msz, meso3d::ellipsoid_rec::major, meso3d::ellipsoid_rec::max, meso3d::ellipsoid_rec::mid, meso3d::ellipsoid_rec::min, meso3d::ellipsoid_rec::minor, mumech::Inclusion::origin, meso3d::ellipsoid_rec::property, meso3d::ellipsoid_rec::region, rotate_point_by_euler_angles_in_313_notation(), meso3d::point_rec::x, meso3d::point_rec::y, and meso3d::point_rec::z.
Referenced by ellipsoids_overlap(), and ~MesoFace().
|
staticprivate |
Definition at line 160 of file mesoface.cpp.
References mumech::CLOCKWISE, mumech::COUNTER_CLOCKWISE, meso3d::point_rec::x, meso3d::point_rec::y, and meso3d::point_rec::z.
Referenced by rotate_point_by_euler_angles_in_313_notation(), and ~MesoFace().
|
staticprivate |
Definition at line 183 of file mesoface.cpp.
References mumech::CLOCKWISE, mumech::COUNTER_CLOCKWISE, meso3d::point_rec::x, meso3d::point_rec::y, and meso3d::point_rec::z.
Referenced by ~MesoFace().
|
staticprivate |
Definition at line 206 of file mesoface.cpp.
References mumech::CLOCKWISE, mumech::COUNTER_CLOCKWISE, meso3d::point_rec::x, meso3d::point_rec::y, and meso3d::point_rec::z.
Referenced by rotate_point_by_euler_angles_in_313_notation(), and ~MesoFace().
|
static |
Definition at line 118 of file mesoface.cpp.
References mumech::COUNTER_CLOCKWISE, rotate_point_about_X_axis(), and rotate_point_about_Z_axis().
Referenced by fill_ellipsoid_rec(), test_point_rotation(), and ~MesoFace().