ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/CAD4FE/src/CAD4FE_MakeLoops.h
Revision: 1158
Committed: Thu Jun 13 22:18:49 2024 UTC (11 months ago) by francois
Content type: text/plain
File size: 2723 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_MakeLoops.h
15     //####//
16     //####//------------------------------------------------------------
17     //####//------------------------------------------------------------
18     //####// COPYRIGHT 2000-2024
19     //####// jeu 13 jun 2024 11:58:56 EDT
20     //####//------------------------------------------------------------
21     //####//------------------------------------------------------------
22 foucault 27
23     #ifndef CAD4FE_MakeLoopsH
24     #define CAD4FE_MakeLoopsH
25    
26     #include <map>
27     #include <string>
28    
29     class CoEdge;
30     class MG_FACE;
31     class MG_COARETE;
32     class MG_ARETE;
33    
34     namespace CAD4FE {
35    
36     class MakeLoops {
37     public:
38     class CoEdge {
39     public:
40     CoEdge();
41     CoEdge(MG_FACE * __face, MG_ARETE * __e, int __sense);
42     ~CoEdge();
43     int Sense();
44     MG_ARETE * Edge();
45     MG_FACE * Face();
46     bool IsInverse(CoEdge & __mcEdgeSense);
47     MG_SOMMET * StartVertex();
48     MG_SOMMET * EndVertex();
49     MG_COSOMMET * StartCoVertex();
50     MG_COSOMMET * EndCoVertex();
51     bool IsAfter(CoEdge & __mcEdgeSense);
52     bool IsBefore(CoEdge & __mcEdgeSense);
53     OT_VECTEUR_3D StartDir();
54     OT_VECTEUR_3D EndDir();
55     OT_VECTEUR_3D StartMeshDir(MG_MAILLAGE * __mesh);
56     OT_VECTEUR_3D EndMeshDir(MG_MAILLAGE * __mesh);
57     OT_VECTEUR_3D MeshDir(MG_MAILLAGE * __mesh, MG_SOMMET * __v, int __meshSense);
58     double MeshAngleInPlane(CoEdge & __coEdge, OT_VECTEUR_3D & __normal, MG_MAILLAGE * __mesh);
59     double AngleInPlane(CoEdge & __coEdge, OT_VECTEUR_3D & __normal);
60     double AngleInPlane(OT_VECTEUR_3D & dir1_3D, OT_VECTEUR_3D & dir2_3D, OT_VECTEUR_3D & __normal);
61    
62     MG_ARETE * e;
63     MG_FACE * f;
64     CoEdge * prev;
65     CoEdge * next;
66     int sense;
67     };
68    
69     public:
70     MakeLoops(std::vector <MG_FACE*> __faceList, std::vector <MG_ARETE*> __edgeList, std::vector <int> __senseList);
71     ~MakeLoops();
72     void GetFaceLoops(MG_FACE* __face, std::vector < std::vector < CoEdge *> > & __loops );
73     std::string PrintFaceNormalAtVertices(MG_FACE * __face);
74     protected:
75     std::map < MG_FACE * , std::set < CoEdge * > > _mapFaceCoEdge;
76     };
77    
78     }
79    
80    
81     #endif
82 francois 1158