1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright held by original author
7 -------------------------------------------------------------------------------
9 This file is part of OpenFOAM.
11 OpenFOAM 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 2 of the License, or (at your
14 option) any later version.
16 OpenFOAM 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
21 You should have received a copy of the GNU General Public License
22 along with OpenFOAM; if not, write to the Free Software Foundation,
23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
29 Class for convexSetAlgorithms pertaining to cells
33 University of Massachusetts Amherst
39 \*---------------------------------------------------------------------------*/
41 #ifndef cellSetAlgorithm_H
42 #define cellSetAlgorithm_H
44 #include "convexSetAlgorithm.H"
46 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
51 /*---------------------------------------------------------------------------*\
52 Class cellSetAlgorithm Declaration
53 \*---------------------------------------------------------------------------*/
55 class cellSetAlgorithm
57 public convexSetAlgorithm
60 // Private Member Functions
62 //- Disallow default bitwise copy construct
63 cellSetAlgorithm(const cellSetAlgorithm&);
65 //- Disallow default bitwise assignment
66 void operator=(const cellSetAlgorithm&);
68 //- Write out tets as a VTK
72 const List<FixedList<point, 4> >&
82 const pointField& newPoints,
83 const UList<edge>& newEdges,
84 const UList<face>& newFaces,
85 const UList<cell>& newCells,
86 const UList<label>& newOwner,
87 const UList<label>& newNeighbour
92 virtual ~cellSetAlgorithm()
95 //- Virtual member functions
97 // Dimensions of the algorithm
98 virtual label dimension() const
103 // Compute normFactor
104 virtual void computeNormFactor(const label index) const;
106 // Check whether the bounding box contains the entity
107 virtual bool contains(const label index) const;
109 // Compute intersections
110 virtual bool computeIntersection
112 const label newIndex,
113 const label oldIndex,
120 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
122 } // End namespace Foam
124 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
128 // ************************************************************************* //