Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / src / mesh / cfMesh / tetMesh / tetMeshExtractorOctree / tetMeshExtractorOctree.H
blobcb70ffbc5851826ace991a94b118b20564f5099b
1 /*---------------------------------------------------------------------------*\
2   =========                 |
3   \\      /  F ield         | cfMesh: A library for mesh generation
4    \\    /   O peration     |
5     \\  /    A nd           | Author: Franjo Juretic (franjo.juretic@c-fields.com)
6      \\/     M anipulation  | Copyright (C) Creative Fields, Ltd.
7 -------------------------------------------------------------------------------
8 License
9     This file is part of cfMesh.
11     cfMesh is free software; you can redistribute it and/or modify it
12     under the terms of the GNU General Public License as published by the
13     Free Software Foundation; either version 3 of the License, or (at your
14     option) any later version.
16     cfMesh is distributed in the hope that it will be useful, but WITHOUT
17     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18     FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
19     for more details.
21     You should have received a copy of the GNU General Public License
22     along with cfMesh.  If not, see <http://www.gnu.org/licenses/>.
24 Class
25     tetMeshExtractorOctree
27 Description
28     A class which extracts tet mesh out of an octree structure
30 SourceFiles
31     tetMeshExtractorOctree.C
33 \*---------------------------------------------------------------------------*/
35 #ifndef tetMeshExtractorOctree_H
36 #define tetMeshExtractorOctree_H
38 #include "polyMeshGenModifier.H"
39 #include "partTet.H"
40 #include "tetCreatorOctree.H"
41 #include "VRWGraph.H"
43 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45 namespace Foam
48 /*---------------------------------------------------------------------------*\
49                     Class tetMeshExtractorOctree Declaration
50 \*---------------------------------------------------------------------------*/
52 class tetMeshExtractorOctree
54     // Private data
55     //- create tets
56     tetCreatorOctree tetCreator_;
58     //- reference to the mesh
59     polyMeshGen& mesh_;
61     // Private member functions
62     //- copy tetPoints_ into mesh
63     void createPoints();
65     //- create mesh data
66     void createPolyMesh();
68     // Private copy constructor
69     //- Disallow default bitwise copy construct
70     tetMeshExtractorOctree ( const tetMeshExtractorOctree& );
72     //- Disallow default bitwise assignment
73     void operator= ( const tetMeshExtractorOctree& );
75 public:
77     // Constructors
79     //- Construct from octree and mesh data
80     tetMeshExtractorOctree
81     (
82         const meshOctree& octree,
83         const IOdictionary& meshDict,
84         polyMeshGen& mesh
85     );
87     // Destructor
89     ~tetMeshExtractorOctree();
92     // Member Functions
93     void createMesh();
97 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
99 } // End namespace Foam
101 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103 #endif
105 // ************************************************************************* //