Salome HOME
general crack dialog, another error detection
[modules/smesh.git] / src / Tools / MeshCut / MeshCut_Globals.hxx
1 // Copyright (C) 2006-2015  EDF R&D
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 #ifndef __MESHCUT_GLOBALS_HXX__
21 #define __MESHCUT_GLOBALS_HXX__
22
23 #include "MeshCut_Maillage.hxx"
24
25 #include <map>
26 #include <string>
27 #include <vector>
28
29 namespace MESHCUT
30   {
31     /*! Table des points d'intersection calculés.
32      *  Si on a calculé une intersection entre le plan et un segment reliant N1 et N2
33      *  de numéros globaux n1 et n2, on stocke dans ce tableau, sous les libellés "n1_n2" et "n2_n1",
34      *  le numéro global du point d'intersection (noeud créé).
35      *  On évite ainsi de calculer deux fois l'intersection d'une même arête de T4 avec le plan
36      */
37     extern std::map<std::string, int> intersections;
38
39     extern int indexNouvellesMailles, indexNouveauxNoeuds, offsetMailles;
40     extern std::string str_id_GMplus, str_id_GMmoins;
41     extern Maillage *MAILLAGE1, *MAILLAGE2;
42
43     extern std::vector<float> newXX, newYY, newZZ;
44     extern std::map<TYPE_MAILLE, std::vector<int> > newCNX;
45     extern std::map<TYPE_MAILLE, int> cptNouvellesMailles;
46     extern std::map<TYPE_MAILLE, std::vector<int> > GMplus, GMmoins;
47     extern std::vector<int> cutTetras;
48
49     extern float *DNP; //!< Distance Noeud Plan
50     extern int *POSN; //!<  Version -1/0/+1 du précédent, selon epsilon
51
52     extern std::string str_id_maillagenew;
53
54     extern float normale[3], pointPlan[3]; //!<  Définition du plan de coupe
55     extern float d; //!<  coefficient constant de l'équation du plan de coupe
56     extern float epsilon; //!<  distance en dessous de laquelle un point est considéré comme appartenant au plan de coupe
57
58     extern bool debug;
59     extern int Naretes;
60   }
61
62 #endif