ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/acis_courbe.cpp
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
File size: 3238 byte(s)
Log Message:
compatibilité Ubuntu 22.04
Suppression des refeences à Windows
Ajout d'une banière

File Contents

# User Rev Content
1 francois 1158 //####//------------------------------------------------------------
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     //####// acis_courbe.cpp
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:54 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 francois 283
23    
24     #include "gestionversion.h"
25    
26     #ifdef BREP_SAT
27    
28     #include "acis_courbe.h"
29    
30    
31    
32    
33    
34     ACIS_COURBE::ACIS_COURBE(unsigned long num,SAT_COURBE *crb):MG_COURBE(num),courbe(crb)
35     {
36     t_min=courbe->get_tmin();
37     t_max=courbe->get_tmax();
38     }
39    
40     ACIS_COURBE::ACIS_COURBE(SAT_COURBE *crb):MG_COURBE(),courbe(crb)
41     {
42     t_min=courbe->get_tmin();
43     t_max=courbe->get_tmax();
44     }
45    
46     ACIS_COURBE::ACIS_COURBE(ACIS_COURBE& mdd):MG_COURBE(mdd),courbe(mdd.courbe)
47     {
48     t_min=mdd.t_min;
49     t_max=mdd.t_max;
50     }
51    
52    
53    
54     ACIS_COURBE::~ACIS_COURBE()
55     {
56     }
57    
58     void ACIS_COURBE::evaluer(double t,double *xyz)
59     {
60     courbe->evaluer(t,xyz);
61     }
62    
63     void ACIS_COURBE::deriver(double t,double *xyz)
64     {
65     courbe->deriver(t,xyz);
66     }
67    
68     void ACIS_COURBE::deriver_seconde(double t,double *ddxyz,double *dxyz,double *xyz)
69     {
70     double pt[3]={0,0,0};
71     double dt[3]={0,0,0};
72     double dtt[3]={0,0,0};
73     courbe->deriver_seconde(t,dtt,dt,pt);
74     if (xyz!=NULL)
75     {
76     xyz[0]=pt[0];
77     xyz[1]=pt[1];
78     xyz[2]=pt[2];
79     }
80     if (dxyz!=NULL)
81     {
82     dxyz[0]=dt[0];
83     dxyz[1]=dt[1];
84     dxyz[2]=dt[2];
85     }
86     ddxyz[0]=dtt[0];
87     ddxyz[1]=dtt[1];
88     ddxyz[2]=dtt[2];
89     }
90    
91     void ACIS_COURBE::inverser(double& t,double *xyz,double precision)
92     {
93     courbe->inverser(t,xyz,precision);
94     }
95    
96 couturad 906 bool ACIS_COURBE::est_sur_courbe(double* xyz, double precision)
97     {
98     std::cout <<" *** ACIS_COURBE::est_sur_courbe : FONCTION NON IMPLEMENTE ***" << std::endl;
99 francois 1075 return false;
100 couturad 906 }
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