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, 6 months ago) by couturad
File size: 3162 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     // 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 couturad 906 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 francois 283
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 francois 763 void STEP_COURBE::enregistrer(std::ostream& o,double version)
118 francois 283 {
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