1 /*---------------------------------------------------------------------------*\
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
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
13 the Free Software Foundation, either version 3 of the License, or
14 (at your 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, see <http://www.gnu.org/licenses/>.
26 \*---------------------------------------------------------------------------*/
28 // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
32 inline Foam::label Foam::treeNode<Type>::getVolType(const label octant) const
34 return (volType_ >> 2*octant) & 0x3;
39 inline const Foam::point& Foam::treeNode<Type>::midpoint() const
46 inline Foam::treeElem<Type>* const* Foam::treeNode<Type>::subNodes() const
52 // octant contains pointer to treeNode(1) or treeLeaf(0)
54 inline Foam::label Foam::treeNode<Type>::isNode(const label octant) const
56 return subNodeTypes_ & (0x1 << octant);
60 // Get pointer to sub node
62 inline Foam::treeNode<Type>* Foam::treeNode<Type>::getNodePtr
70 FatalErrorIn("treeNode::getNodePtr(const label)")
76 return static_cast<treeNode<Type>*>(subNodes_[octant]);
80 // Get pointer to sub leaf
82 inline Foam::treeLeaf<Type>* Foam::treeNode<Type>::getLeafPtr
90 FatalErrorIn("treeNode::getLeafPtr(const label)")
96 return static_cast<treeLeaf<Type>*>(subNodes_[octant]);
100 // ************************************************************************* //