ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/mg_arete.h
Revision: 906
Committed: Mon Nov 13 22:30:18 2017 UTC (7 years, 9 months ago) by couturad
Content type: text/plain
File size: 3805 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 // mg_arete.h
16 //
17 //------------------------------------------------------------
18 //------------------------------------------------------------
19 // COPYRIGHT 2000
20 // Version du 02/03/2006 � 11H22
21 //------------------------------------------------------------
22 //------------------------------------------------------------
23 #ifndef __MGARETE_
24 #define __MGARETE_
25
26 #ifdef WINDOWS_VERSION
27 #ifdef BUILT_DLL_GEOMETRIE
28 #define DLLPORTGEOMETRIE __declspec(dllexport)
29 #else
30 #define DLLPORTGEOMETRIE __declspec(dllimport)
31 #endif
32 #else
33 #define DLLPORTGEOMETRIE
34 #endif
35
36
37 #include <vector>
38 #include "tpl_liste_entite.h"
39 #include "mg_element_topologique.h"
40 #include "mg_courbe.h"
41 #include "mg_cosommet.h"
42 #include "mg_coarete.h"
43 #include "mg_segment.h"
44
45 class DLLPORTGEOMETRIE MG_ARETE:public MG_ELEMENT_TOPOLOGIQUE
46 {
47 public:
48 MG_ARETE(std::string idori,unsigned long num,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
49 MG_ARETE(std::string idori,class MG_COSOMMET* mgcosom1,class MG_COSOMMET* mgcosom2,class MG_COURBE* crb,int sens);
50 MG_ARETE(std::string idori,unsigned long num,class MG_COURBE* crb,int sens);
51 MG_ARETE(std::string idori,class MG_COURBE* crb,int sens);
52 MG_ARETE(MG_ARETE& mdd);
53 virtual ~MG_ARETE();
54
55 virtual void changer_cosommet1(class MG_COSOMMET* cosom);
56 virtual void changer_cosommet2(class MG_COSOMMET* cosom);
57 virtual class MG_COSOMMET* get_cosommet1(void);
58 virtual class MG_COSOMMET* get_cosommet2(void);
59 virtual class MG_COURBE* get_courbe(void);
60 virtual int get_orientation(void);
61
62 virtual void ajouter_mg_coarete(class MG_COARETE* coarete);
63 virtual void supprimer_mg_coarete(class MG_COARETE* coarete);
64 virtual int get_nb_mg_coarete(void);
65 virtual MG_COARETE* get_mg_coarete(int num);
66
67 virtual int get_type(void);
68 virtual int get_dimension(void);
69 virtual void enregistrer(std::ostream& o,double version);
70 virtual void evaluer(double t,double *xyz);
71 virtual void deriver(double t,double *xyz) ;
72 virtual void deriver_seconde(double t,double *ddxyz,double* dxyz = NULL,double* xyz = NULL );
73 virtual void inverser(double& t,double *xyz,double precision=1e-6) ;
74 virtual double get_M(double t);
75 virtual double get_tmin(void);
76 virtual double get_tmax(void);
77 virtual double get_longueur(double t1,double t2,double precis=1e-6);
78 virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
79 double get_t(double t1,double t2,double lengh,double pas=0.001);
80 virtual VCT& get_vectorisation(void);
81 virtual void get_topologie_sousjacente(TPL_MAP_ENTITE<MG_ELEMENT_TOPOLOGIQUE*> *lst);
82 virtual bool est_une_arete_element(void);
83
84 virtual void recupere_resultat(class FEM_SOLUTION* sol,int numchamps,char* fichier);
85 protected:
86 class MG_COSOMMET* cosommet1;
87 class MG_COSOMMET* cosommet2;
88 class MG_COURBE* courbe;
89 int orientation;
90 std::vector <class MG_COARETE*> lst_coarete;
91 class VCT_ARETE* vect;
92 void get_intersection(double t1, double t2,double* point_iners) ;
93
94 };
95
96
97
98 #endif
99
100