ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/step_courbe.cpp
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 9 months ago) by couturad
File size: 3162 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# Content
1 //------------------------------------------------------------
2 //------------------------------------------------------------
3 // MAGiC
4 // Jean Christophe Cuilli�re et Vincent FRANCOIS
5 // D�partement de G�nie M�canique - UQTR
6 //------------------------------------------------------------
7 // Le projet MAGIC est un projet de recherche du d�partement
8 // de g�nie m�canique de l'Universit� du Qu�bec �
9 // Trois Rivi�res
10 // Les librairies ne peuvent �tre utilis�es sans l'accord
11 // des auteurs (contact : francois@uqtr.ca)
12 //------------------------------------------------------------
13 //------------------------------------------------------------
14 //
15 // step_courbe.cpp
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23
24
25 #include "gestionversion.h"
26
27 #ifdef BREP_STEP
28
29 #include "step_courbe.h"
30
31
32
33
34
35 STEP_COURBE::STEP_COURBE(unsigned long num,ST_COURBE *crb):MG_COURBE(num),courbe(crb)
36 {
37 t_min=courbe->get_tmin();
38 t_max=courbe->get_tmax();
39 }
40
41 STEP_COURBE::STEP_COURBE(ST_COURBE *crb):MG_COURBE(),courbe(crb)
42 {
43 t_min=courbe->get_tmin();
44 t_max=courbe->get_tmax();
45 }
46
47 STEP_COURBE::STEP_COURBE(STEP_COURBE& mdd):MG_COURBE(mdd),courbe(mdd.courbe)
48 {
49 t_min=mdd.t_min;
50 t_max=mdd.t_max;
51 }
52
53
54
55 STEP_COURBE::~STEP_COURBE()
56 {
57 }
58
59 void STEP_COURBE::evaluer(double t,double *xyz)
60 {
61 courbe->evaluer(t,xyz);
62 }
63
64 void STEP_COURBE::deriver(double t,double *xyz)
65 {
66 courbe->deriver(t,xyz);
67 }
68
69 void STEP_COURBE::deriver_seconde(double t,double *ddxyz,double *dxyz,double *xyz)
70 {
71 double pt[3]={0,0,0};
72 double dt[3]={0,0,0};
73 double dtt[3]={0,0,0};
74 courbe->deriver_seconde(t,dtt,dt,pt);
75 if (xyz!=NULL)
76 {
77 xyz[0]=pt[0];
78 xyz[1]=pt[1];
79 xyz[2]=pt[2];
80 }
81 if (dxyz!=NULL)
82 {
83 dxyz[0]=dt[0];
84 dxyz[1]=dt[1];
85 dxyz[2]=dt[2];
86 }
87 ddxyz[0]=dtt[0];
88 ddxyz[1]=dtt[1];
89 ddxyz[2]=dtt[2];
90 }
91
92 void STEP_COURBE::inverser(double& t,double *xyz,double precision)
93 {
94 courbe->inverser(t,xyz,precision);
95 }
96
97 bool STEP_COURBE::est_sur_courbe(double* xyz, double precision)
98 {
99 std::cout <<" *** STEP_COURBE::est_sur_courbe : FONCTION NON IMPLEMENTE ***" << std::endl;
100 }
101
102 double STEP_COURBE::get_longueur(double t1,double t2,double precis)
103 {
104 return courbe->get_longueur(t1,t2);
105 }
106
107 int STEP_COURBE::est_periodique(void)
108 {
109 return courbe->est_periodique();
110 }
111
112 double STEP_COURBE::get_periode(void)
113 {
114 return courbe->get_periode();
115 }
116
117 void STEP_COURBE::enregistrer(std::ostream& o,double version)
118 {
119 o << "%" << get_id() << "=COURBE_STEP("<< courbe->get_id()<< ");" << std::endl;
120 }
121
122
123 int STEP_COURBE::get_type_geometrique(TPL_LISTE_ENTITE<double> &param)
124 {
125 return courbe->get_type_geometrique(param);
126 }
127
128
129 void STEP_COURBE:: get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)
130 {
131 return courbe->get_param_NURBS(indx_premier_ptctr,param);
132 }
133
134
135 #endif
136
137