ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/mtu/src/CAD4FE_PolySurface.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months, 1 week ago) by francois
Content type: text/plain
File size: 3212 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     //####// CAD4FE_PolySurface.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:55 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 foucault 27
23     #ifndef CAD4FE_PolySurfaceH
24     #define CAD4FE_PolySurfaceH
25    
26     #include "mg_geometrie.h"
27     #include "mg_face.h"
28    
29     #include <map>
30     #include <ostream>
31     #include <string>
32     #include <set>
33    
34    
35    
36 francois 1158
37 foucault 27 class OT_VECTEUR_3D;
38    
39     namespace CAD4FE {
40    
41 foucault 569 class MCVertex;
42 foucault 27
43 francois 1158 class PolySurface : public MG_SURFACE
44 foucault 27 {
45     public:
46 foucault 569 PolySurface(){};
47     PolySurface(MG_FACE *);
48     void InsertSurface(MG_FACE *);
49     void Merge( PolySurface &);
50     bool Contains(MG_FACE * __refFace);
51     bool Contains(MG_ARETE * __refEdge);
52     MG_FACE * GetRefFace(unsigned int __index);
53     std::set<MG_FACE*> & GetRefFaces();
54     unsigned int GetRefFaceCount() ;
55 foucault 27
56 foucault 569 virtual void evaluer(double *uv,double *xyz);
57     virtual void deriver(double *uv,double *xyzdu, double *xyzdv);
58     virtual void deriver_seconde(double *uv,double* xyzduu,double* xyzduv,double* xyzdvv,double *xyz = NULL , double *xyzdu = NULL , double *xyzdv =NULL);
59     virtual void inverser(double *uv,double *xyz,double precision=1e-6);
60 couturad 906 virtual bool est_sur_surface(double *xyz,double precision=1e-6);
61 foucault 569 virtual int est_periodique_u(void);
62     virtual int est_periodique_v(void);
63     virtual double get_periode_u(void);
64     virtual double get_periode_v(void);
65 francois 763 virtual void enregistrer(std::ostream& o,double version);
66 foucault 569 virtual int get_type_geometrique(TPL_LISTE_ENTITE<double> &param);
67     void calcul_normale_unitaire(MG_SOMMET *v, double __n[3], int * __nbRefFace);
68     void calcul_normale_unitaire(MCVertex * __mcVertex, double __n[3], int *__nbRefFace);
69     void calcul_normale_unitaire(const std::map<MG_FACE *, OT_VECTEUR_3D > & __tabRefFaceUV, double __n[3], int *__nbRefFace);
70     virtual void get_param_NURBS(int& indx_premier_ptctr,TPL_LISTE_ENTITE<double> &param);
71 francois 820 virtual void get_liste_pole(std::vector<double> *liste_pole,double eps);
72 francois 1095 virtual void get_echantillonnage(int numechantillonpartri, std::vector<double> &tab, double eps,double angle_dev) {};
73 couturad 814
74 foucault 27 private:
75 foucault 569 // set of adjacent faces that define this PolySurface
76     std::set<MG_FACE*> _lst_ref_faces;
77 foucault 27 };
78     }
79    
80     #endif