partTetMeshSimplex.H
Go to the documentation of this file.
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.
10 
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.
15 
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.
20 
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/>.
23 
24 Class
25  partTetMeshSimplex
26 
27 Description
28  A simplex which is used for smoothing purposes
29 
30 SourceFiles
31 
32 
33 \*---------------------------------------------------------------------------*/
34 
35 #ifndef partTetMeshSimplex_H
36 #define partTetMeshSimplex_H
37 
38 #include "partTetMesh.H"
39 #include "parPartTet.H"
40 
41 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
42 
43 namespace Foam
44 {
45 
46 // Forward declarations
47 class partTetMesh;
48 
49 /*---------------------------------------------------------------------------*\
50  Class partTetMeshSimplex Declaration
51 \*---------------------------------------------------------------------------*/
52 
54 {
55  // Private data
56  //- points making the simplex
58 
59  //- tets making the simplex
61 
62  public:
63 
64  // Constructors
65  //- Construct from partTetMeshSimplex and point label
66  partTetMeshSimplex(const partTetMesh& tm, const label pI);
67 
68  //- Construct from the list of parPartTet and point label
70  (
71  const DynList<parPartTet>& pt,
72  const label gpI
73  );
74 
75  //- contruct from a list of points and a list of partTets
76  //- ad a point label
78  (
79  const DynList<point, 128>& pts,
81  const label pointI
82  );
83 
84  // Destructor
86 
87  // Member functions
88  //- return points
89  inline DynList<point, 128>& pts()
90  {
91  return pts_;
92  }
93 
94  //- return points
95  inline const DynList<point, 128>& pts() const
96  {
97  return pts_;
98  }
99 
100  //- return tets
101  inline const DynList<partTet, 128>& tets() const
102  {
103  return tets_;
104  }
105 
106  //- return centre point coordinates
107  inline const point& centrePoint() const
108  {
109  return pts_[tets_[0][3]];
110  }
111 };
112 
113 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
114 
115 } // End namespace Foam
116 
117 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
118 
119 //#include "partTetMeshSimplexI.H"
120 
121 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 
123 #endif
124 
125 // ************************************************************************* //
Foam::partTetMeshSimplex::tets_
DynList< partTet, 128 > tets_
tets making the simplex
Definition: partTetMeshSimplex.H:59
Foam::partTetMeshSimplex
Definition: partTetMeshSimplex.H:52
Foam::partTetMeshSimplex::tets
const DynList< partTet, 128 > & tets() const
return tets
Definition: partTetMeshSimplex.H:100
Foam::partTetMeshSimplex::pts_
DynList< point, 128 > pts_
points making the simplex
Definition: partTetMeshSimplex.H:56
Foam::label
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
partTetMesh
Mesh smoothing without any topological changes.
partTetMesh.H
Foam::partTetMeshSimplex::partTetMeshSimplex
partTetMeshSimplex(const partTetMesh &tm, const label pI)
Construct from partTetMeshSimplex and point label.
Definition: partTetMeshSimplex.C:41
Foam::partTetMeshSimplex::centrePoint
const point & centrePoint() const
return centre point coordinates
Definition: partTetMeshSimplex.H:106
Foam
Namespace for OpenFOAM.
Definition: combustionModel.C:30
Foam::DynList
Definition: DynList.H:53
Foam::partTetMesh
Definition: partTetMesh.H:59
Foam::partTetMeshSimplex::~partTetMeshSimplex
~partTetMeshSimplex()
Definition: partTetMeshSimplex.C:303
Foam::Vector< scalar >
Foam::partTetMeshSimplex::pts
const DynList< point, 128 > & pts() const
return points
Definition: partTetMeshSimplex.H:94
parPartTet.H
Foam::partTetMeshSimplex::pts
DynList< point, 128 > & pts()
return points
Definition: partTetMeshSimplex.H:88