Salome HOME
First publish of HEXABLOCKcomponant
[modules/hexablock.git] / src / HEXABLOCK / HexCloner.hxx
1
2 // class : Le Reproducteur de blocks
3
4 #ifndef __CLONER_H
5 #define __CLONER_H
6
7 #include "hexa_base.hxx"
8
9 #include <map>
10
11 BEGIN_NAMESPACE_HEXA
12
13 class Cloner 
14 {
15 public:
16     Cloner (Matrix* mat);
17
18     void erase ();
19
20     Hexa*     clonerHexa     (Hexa*     orig);
21     Quad*     clonerQuad     (Quad*     orig);
22     Edge*     clonerEdge     (Edge*     orig);
23     Vertex*   clonerVertex   (Vertex*   orig);
24     Elements* clonerElements (Elements* orig);
25
26 private:
27     Matrix* matrice;
28     std::map <Hexa*,   Hexa*>   clone_hexa;
29     std::map <Quad*,   Quad*>   clone_quad;
30     std::map <Edge*,   Edge*>   clone_edge;
31     std::map <Vertex*, Vertex*> clone_vertex;
32 };
33 END_NAMESPACE_HEXA
34 #endif