ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/acis_courbe.cpp
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 9 months ago) by couturad
File size: 3163 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 // acis_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_SAT
28
29 #include "acis_courbe.h"
30
31
32
33
34
35 ACIS_COURBE::ACIS_COURBE(unsigned long num,SAT_COURBE *crb):MG_COURBE(num),courbe(crb)
36 {
37 t_min=courbe->get_tmin();
38 t_max=courbe->get_tmax();
39 }
40
41 ACIS_COURBE::ACIS_COURBE(SAT_COURBE *crb):MG_COURBE(),courbe(crb)
42 {
43 t_min=courbe->get_tmin();
44 t_max=courbe->get_tmax();
45 }
46
47 ACIS_COURBE::ACIS_COURBE(ACIS_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 ACIS_COURBE::~ACIS_COURBE()
56 {
57 }
58
59 void ACIS_COURBE::evaluer(double t,double *xyz)
60 {
61 courbe->evaluer(t,xyz);
62 }
63
64 void ACIS_COURBE::deriver(double t,double *xyz)
65 {
66 courbe->deriver(t,xyz);
67 }
68
69 void ACIS_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 ACIS_COURBE::inverser(double& t,double *xyz,double precision)
93 {
94 courbe->inverser(t,xyz,precision);
95 }
96
97 bool ACIS_COURBE::est_sur_courbe(double* xyz, double precision)
98 {
99 std::cout <<" *** ACIS_COURBE::est_sur_courbe : FONCTION NON IMPLEMENTE ***" << std::endl;
100 }
101
102
103
104 double ACIS_COURBE::get_longueur(double t1,double t2,double precis)
105 {
106 return courbe->get_longueur(t1,t2);
107 }
108
109 int ACIS_COURBE::est_periodique(void)
110 {
111 return courbe->est_periodique();
112 }
113
114 double ACIS_COURBE::get_periode(void)
115 {
116 return courbe->get_periode();
117 }
118
119 void ACIS_COURBE::enregistrer(std::ostream& o,double version)
120 {
121 o << "%" << get_id() << "=COURBE_SAT("<< courbe->get_id()<< ");" << std::endl;
122 }
123
124
125
126 int ACIS_COURBE::get_type_geometrique(TPL_LISTE_ENTITE<double> &param)
127 {
128 return courbe->get_type_geometrique(param);
129 }
130
131 void ACIS_COURBE::get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param)
132 {
133 return courbe->get_param_NURBS(indx_premier_ptctr,param);
134 }
135
136
137 #endif
138
139