Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCK / HexElements.hxx
old mode 100755 (executable)
new mode 100644 (file)
index 1373c28..6696c5d
@@ -1,12 +1,12 @@
 
 // Class : Gestion des tableaux d'hexaedres
 
-// Copyright (C) 2009-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -30,6 +30,7 @@
 
 BEGIN_NAMESPACE_HEXA
 
+class Qpattern;
 class HexaExport Elements : public EltBase
 {
 public:
@@ -112,13 +113,20 @@ public:
                            int nrad, int nang, int nhaut,
                            double &phi0, double &phi1);
 
-   int replaceHexas (Quads& pattern, Vertex* p1, Vertex* c1,
+   int replaceHexas (Quads& pattern, Vertex* p1, Vertex* c1, // To Delete
                      Vertex* p2, Vertex* c2,  Vertex* p3, Vertex* c3);
 
+   int replaceHexas (Quads& pattern, Quads& target, Vertex* p1, Vertex* c1,
+                     Vertex* p2, Vertex* c2);
+
    int replaceHexa  (int nh, Pattern* pat, Hexa* hexa);
    int replaceQuad  (int nh, Pattern* pat, Quad* quad, Vertex* tvert[]);
    int extrudeQuad  (Pattern* pat);
 
+   int replaceHexa  (int nh, Qpattern* pat);
+   int replaceQuad  (int nh, Qpattern* pat);
+   int extrudeQuad  (Qpattern* pat);
+
    void repVertex (int nh, int nro, Vertex* node);
    void repEdgeH  (int nh, int nro, Edge* node);
    void repEdgeV  (int nh, int nro, Edge* node);
@@ -194,6 +202,10 @@ public:
    void checkDisco  (Hexa* cell,    Quad*   element);
    void checkDisco  (Hexa* cell,    Edge*   element);
    void checkDisco  (Hexa* cell,    Vertex* element);
+   void checkContour (Quads& tquad, Vertex* v1, Vertex* v2, bool target, 
+                      Edges& tedge);
+   void checkContour (Quads& tquad, Vertex* v1, Vertex* v2, bool target, 
+                      Vertices& tvertex);
 
 protected :
                                         // Evols Hexa3