muMECH  1.0
Namespaces | Macros | Enumerations | Functions | Variables
meso2d.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdarg.h>
#include "meso2d.h"

Go to the source code of this file.

Namespaces

 meso2d
 

Macros

#define NO_ERROR   -1
 
#define WARNING   0
 
#define GENERAL_ERROR   1
 
#define INPUT_ERROR   6
 
#define EPSILON   1.0e-10
 
#define EPSILON_T   1.0e-12
 
#define B_0(T)   (1.0-2.0*(T)+(T)*(T))
 
#define B_1(T)   (2.0*(1.0-(T))*(T))
 
#define B_2(T)   ((T)*(T))
 
#define dB_0(T)   (-2.0+2.0*(T))
 
#define dB_1(T)   (2.0-4.0*(T))
 
#define dB_2(T)   (2.0*(T))
 
#define size_vec(VEC)   ((VEC).x * (VEC).x + (VEC).y * (VEC).y)
 
#define dist_point(PNT1, PNT2)
 
#define sub_vec(RES, VEC1, VEC2)   {(RES).x = (VEC1).x - (VEC2).x; (RES).y = (VEC1).y - (VEC2).y;}
 
#define dot_product(VEC1, VEC2)   ((VEC1).x * (VEC2).x + (VEC1).y * (VEC2).y)
 

Enumerations

enum  meso2d::logic { meso2d::NO = 0, meso2d::YES = 1 }
 

Functions

static logic meso2d::check_point_inside_ellipse (point_rec *point, ellipse_rec *ellipse)
 
static int meso2d::project_point_to_ellipse (point_rec *point, ellipse_rec *ellipse, point_rec *pnt, double *t_par)
 
static void meso2d::get_ellipse_point_quadrant (ellipse_rec *ellipse, int quadrant, double t, point_rec *pnt)
 
static void meso2d::get_ellipse_point (ellipse_rec *ellipse, double t, point_rec *pnt)
 
static double meso2d::get_ellipse_gradient (ellipse_rec *ellipse, double t, point_rec *grad)
 
static void meso2d::transform_from_global_to_local (point_rec *global, point_rec *local, point_rec *origin, double cos_angle, double sin_angle)
 
static void meso2d::transform_from_local_to_global (point_rec *global, point_rec *local, point_rec *origin, double cos_angle, double sin_angle)
 
static void meso2d::error_message (int exit_code, const char *format,...)
 
void meso2d::check_ellipse_rec_consistency (meso2d::ellipse_rec &L)
 ADDED for muMech needs. More...
 
bool meso2d::isZero (double zero, double a)
 
void meso2d::transfom_ellipse_rec (meso2d::ellipse_rec &L)
 ADDED for muMech needs. More...
 
bool meso2d::check_ellipse_ellipse_overlap (ellipse_rec *ellipse1, ellipse_rec *ellipse2)
 

Variables

static double meso2d::epsilon = EPSILON
 

Macro Definition Documentation

#define B_0 (   T)    (1.0-2.0*(T)+(T)*(T))

Definition at line 86 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient(), and meso2d::get_ellipse_point().

#define B_1 (   T)    (2.0*(1.0-(T))*(T))

Definition at line 87 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient(), and meso2d::get_ellipse_point().

#define B_2 (   T)    ((T)*(T))

Definition at line 88 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient(), and meso2d::get_ellipse_point().

#define dB_0 (   T)    (-2.0+2.0*(T))

Definition at line 90 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient().

#define dB_1 (   T)    (2.0-4.0*(T))

Definition at line 91 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient().

#define dB_2 (   T)    (2.0*(T))

Definition at line 92 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient().

#define dist_point (   PNT1,
  PNT2 
)
Value:
(((PNT1).x - (PNT2).x) * ((PNT1).x - (PNT2).x) + \
((PNT1).y - (PNT2).y) * ((PNT1).y - (PNT2).y))

Definition at line 98 of file meso2d.cpp.

Referenced by meso2d::check_ellipse_ellipse_overlap().

#define dot_product (   VEC1,
  VEC2 
)    ((VEC1).x * (VEC2).x + (VEC1).y * (VEC2).y)

Definition at line 109 of file meso2d.cpp.

Referenced by meso2d::project_point_to_ellipse().

#define EPSILON   1.0e-10

Definition at line 76 of file meso2d.cpp.

#define EPSILON_T   1.0e-12
#define GENERAL_ERROR   1

Definition at line 66 of file meso2d.cpp.

Referenced by meso2d::project_point_to_ellipse().

#define INPUT_ERROR   6

Definition at line 72 of file meso2d.cpp.

Referenced by check_ellipse_rec_consistency().

#define NO_ERROR   -1

Definition at line 64 of file meso2d.cpp.

Referenced by meso2d::error_message().

#define size_vec (   VEC)    ((VEC).x * (VEC).x + (VEC).y * (VEC).y)

Definition at line 96 of file meso2d.cpp.

Referenced by meso2d::get_ellipse_gradient().

#define sub_vec (   RES,
  VEC1,
  VEC2 
)    {(RES).x = (VEC1).x - (VEC2).x; (RES).y = (VEC1).y - (VEC2).y;}

Definition at line 106 of file meso2d.cpp.

Referenced by meso2d::project_point_to_ellipse().

#define WARNING   0

Definition at line 65 of file meso2d.cpp.

Referenced by check_ellipse_rec_consistency(), and meso2d::error_message().