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, 6 months ago) by couturad
File size: 3163 byte(s)
Log Message:
Nouveau opencascade commit 1

File Contents

# User Rev Content
1 francois 283 //------------------------------------------------------------
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 couturad 906 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 francois 283
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 francois 763 void ACIS_COURBE::enregistrer(std::ostream& o,double version)
120 francois 283 {
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