MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
ot_decalage_parametre.cpp
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// ot_decalage_parametre.cpp
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:53:59 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 
24 #include "ot_decalage_parametre.h"
25 #include <math.h>
26 
27 OT_DECALAGE_PARAMETRE::OT_DECALAGE_PARAMETRE(double periodeu,double periodev):periode_u(periodeu),periode_v(periodev)
28 {
29 }
30 
32 {
33 }
34 
36 {
37  double res;
38  if (periode_u==0.) res=0.;
39  else res=0.5*periode_u-par;
40  return res;
41 }
42 
44 {
45  double res;
46  if (periode_v==0.) res=0.;
47  else res=0.5*periode_v-par;
48  return res;
49 }
50 
51 double OT_DECALAGE_PARAMETRE::decalage_parametre_u(double par,double dpar)
52 {
53  double res=par+dpar;
54  if (periode_u!=0.)
55  {
56  if (res>periode_u-0.0001) res=res-periode_u;
57  if (res<0.) res=res+periode_u;
58  }
59  return res;
60 }
61 
62 double OT_DECALAGE_PARAMETRE::decalage_parametre_u(double par,double parbase,double dpar)
63 {
64  double res=par+dpar;
65  if (periode_u!=0.)
66  {
67  if (res>periode_u-0.0001) res=res-periode_u;
68  if (res<0.) res=res+periode_u;
69  if (fabs(res+periode_u-parbase)<fabs(res-parbase)) res=res+periode_u;
70  else if (fabs(res-periode_u-parbase)<fabs(res-parbase)) res=res-periode_u;
71  }
72  return res;
73 }
74 
75 double OT_DECALAGE_PARAMETRE::decalage_parametre_v(double par,double dpar)
76 {
77  double res=par+dpar;
78  if (periode_v!=0.)
79  {
80  if (res>periode_v-0.0001) res=res-periode_v;
81  if (res<0.) res=res+periode_v;
82  }
83  return res;
84 }
85 
86 double OT_DECALAGE_PARAMETRE::decalage_parametre_v(double par,double parbase,double dpar)
87 {
88  double res=par+dpar;
89  if (periode_v!=0.)
90  {
91  if (res>periode_v-0.0001) res=res-periode_v;
92  if (res<0.) res=res+periode_v;
93  if (fabs(res+periode_v-parbase)<fabs(res-parbase)) res=res+periode_v;
94  else if (fabs(res-periode_v-parbase)<fabs(res-parbase)) res=res-periode_v;
95  }
96  return res;
97 }
ot_decalage_parametre.h
OT_DECALAGE_PARAMETRE::periode_v
double periode_v
Definition: ot_decalage_parametre.h:45
OT_DECALAGE_PARAMETRE::periode_u
double periode_u
Definition: ot_decalage_parametre.h:44
OT_DECALAGE_PARAMETRE::~OT_DECALAGE_PARAMETRE
~OT_DECALAGE_PARAMETRE()
Definition: ot_decalage_parametre.cpp:31
OT_DECALAGE_PARAMETRE::decalage_parametre_u
double decalage_parametre_u(double par, double dpar)
Definition: ot_decalage_parametre.cpp:51
OT_DECALAGE_PARAMETRE::calcul_decalage_parametre_v
double calcul_decalage_parametre_v(double par)
Definition: ot_decalage_parametre.cpp:43
OT_DECALAGE_PARAMETRE::calcul_decalage_parametre_u
double calcul_decalage_parametre_u(double par)
Definition: ot_decalage_parametre.cpp:35
OT_DECALAGE_PARAMETRE::OT_DECALAGE_PARAMETRE
OT_DECALAGE_PARAMETRE(double periodeu=0., double periodev=0.)
Definition: ot_decalage_parametre.cpp:27
OT_DECALAGE_PARAMETRE::decalage_parametre_v
double decalage_parametre_v(double par, double dpar)
Definition: ot_decalage_parametre.cpp:75
res
#define res(i, j)