1 // Copyright (C) 2006-2016 EDF R&D
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.
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.
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
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __MESHCUT_GLOBALS_HXX__
21 #define __MESHCUT_GLOBALS_HXX__
23 #include "MeshCut_Maillage.hxx"
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
37 extern std::map<std::string, int> intersections;
39 extern int indexNouvellesMailles, indexNouveauxNoeuds, offsetMailles;
40 extern std::string str_id_GMplus, str_id_GMmoins;
41 extern Maillage *MAILLAGE1, *MAILLAGE2;
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;
49 extern float *DNP; //!< Distance Noeud Plan
50 extern int *POSN; //!< Version -1/0/+1 du précédent, selon epsilon
52 extern std::string str_id_maillagenew;
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