31 |
*/ |
*/ |
32 |
|
|
33 |
#include <Mesh.hpp> |
#include <Mesh.hpp> |
34 |
|
|
35 |
|
#include <SurfaceMeshOfQuadrangles.hpp> |
36 |
|
|
37 |
#include <Hexahedron.hpp> |
#include <Hexahedron.hpp> |
38 |
|
|
39 |
#include <Connectivity.hpp> |
#include <Connectivity.hpp> |
40 |
#include <Octree.hpp> |
#include <Octree.hpp> |
41 |
|
|
47 |
{ |
{ |
48 |
public: |
public: |
49 |
typedef Hexahedron ElementsGeometry; |
typedef Hexahedron ElementsGeometry; |
50 |
|
typedef MeshOfHexahedra Transformed; |
51 |
|
|
52 |
|
typedef SurfaceMeshOfQuadrangles BorderMeshes; |
53 |
|
|
54 |
private: |
private: |
55 |
ReferenceCounting<Vector<Hexahedron> > __cells; /**< Cells list */ |
ReferenceCounting<Vector<Hexahedron> > __cells; /**< Cells list */ |
56 |
|
|
57 |
|
std::vector<ReferenceCounting<BorderMeshes> > |
58 |
|
__surfaceMeshes; /**< The various border lists*/ |
59 |
|
|
60 |
ReferenceCounting<Connectivity<Hexahedron> > __connectivity; /**< Connectivity */ |
ReferenceCounting<Connectivity<Hexahedron> > __connectivity; /**< Connectivity */ |
61 |
|
|
62 |
ReferenceCounting<Octree<size_t> > __octree; /**< Octree refering to the cells */ |
ReferenceCounting<Octree<size_t> > __octree; /**< Octree refering to the cells */ |
154 |
} |
} |
155 |
|
|
156 |
MeshOfHexahedra(ReferenceCounting<VerticesSet> vertices, |
MeshOfHexahedra(ReferenceCounting<VerticesSet> vertices, |
157 |
|
ReferenceCounting<Vector<Hexahedron> > hexahedra, |
158 |
|
std::vector<ReferenceCounting<BorderMeshes> > surfmeshes) |
159 |
|
: Mesh(Mesh::hexahedraMesh, |
160 |
|
vertices), |
161 |
|
__cells(hexahedra), |
162 |
|
__surfaceMeshes(surfmeshes) |
163 |
|
{ |
164 |
|
this->buildLocalizationTools(); |
165 |
|
} |
166 |
|
|
167 |
|
/** |
168 |
|
* With this constructor, border has to be built |
169 |
|
* |
170 |
|
* @param vertices |
171 |
|
* @param hexahedra |
172 |
|
* |
173 |
|
*/ |
174 |
|
MeshOfHexahedra(ReferenceCounting<VerticesSet> vertices, |
175 |
ReferenceCounting<Vector<Hexahedron> > hexahedra) |
ReferenceCounting<Vector<Hexahedron> > hexahedra) |
176 |
: Mesh(Mesh::hexahedraMesh, |
: Mesh(Mesh::hexahedraMesh, |
177 |
vertices), |
vertices), |
178 |
__cells(hexahedra) |
__cells(hexahedra) |
179 |
{ |
{ |
180 |
; |
this->buildLocalizationTools(); |
181 |
} |
} |
182 |
|
|
|
|
|
183 |
~MeshOfHexahedra() |
~MeshOfHexahedra() |
184 |
{ |
{ |
185 |
; |
; |