Loading...
Searching...
No Matches
ensightFacesI.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2016-2022 OpenCFD Ltd.
9-------------------------------------------------------------------------------
10License
11 This file is part of OpenFOAM.
12
13 OpenFOAM is free software: you can redistribute it and/or modify it
14 under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
17
18 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21 for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26\*---------------------------------------------------------------------------*/
27
28// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
29
30inline Foam::label
31Foam::ensightFaces::add(const elemType etype, label id, bool flip)
32{
33 // Linear addressing location
34 const label index = offsets_[etype] + sizes_[etype]++;
35
36 addressing()[index] = id;
37
38 if (flipMap_.size())
39 {
40 flipMap_[index] = flip;
41 }
43 return index;
44}
45
46
47// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
49inline const char* Foam::ensightFaces::key(const elemType etype) noexcept
50{
51 return elemNames[etype];
52}
53
56{
57 return sizes_;
58}
59
61inline Foam::label Foam::ensightFaces::total(const elemType etype) const
62{
63 return sizes_[etype];
64}
65
67inline Foam::label Foam::ensightFaces::size(const elemType etype) const
68{
69 return (offsets_[etype+1] - offsets_[etype]);
70}
71
74{
75 return labelRange(offsets_[etype], offsets_[etype+1] - offsets_[etype]);
76}
77
78
80{
81 return addressing();
82}
83
84
85inline const Foam::labelUList
87{
88 return addressing().slice(range(etype));
89}
90
93{
94 return flipMap_;
95}
96
97
99{
100 return (!flipMap_.empty() && flipMap_.size() == size());
101}
102
103
104inline const Foam::labelList&
106{
107 return faceOrder_;
108}
109
110
113{
114 return faceOrder_.slice(range(etype));
115}
116
118inline void Foam::ensightFaces::incrFaceIds(const label off)
119{
120 incrAddressing(off);
121}
122
123
124inline void Foam::ensightFaces::decrFaceIds(const label off)
125{
126 decrAddressing(off);
127}
128
129
130// ************************************************************************* //
scalar range
A 1D vector of objects of type <T> with a fixed length <N>.
Definition FixedList.H:73
SubList< T > slice(const label pos, label len=-1)
Return SubList slice (non-const access) - no range checking.
Definition SubList.H:258
bool usesFlipMap() const
True for non-zero flip-map that spans the addresses.
void decrFaceIds(const label off)
Decrease face ids by specified offset value.
labelRange range(const elemType etype) const
Processor-local offset/size of element type.
static const char * key(const elemType etype) noexcept
The ensight element name for the specified 'Face' type.
const labelList & faceIds() const noexcept
Processor-local face ids of all elements.
const labelList & faceOrder() const noexcept
Processor-local face order (where applicable).
label total() const noexcept
Same as totalSize.
void incrFaceIds(const label off)
Increase face ids by specified offset value.
label size(const elemType etype) const
Processor-local size of the specified element type.
static const char * elemNames[nTypes]
The ensight 'Face' element type names.
elemType
Supported ensight 'Face' element types.
label size() const noexcept
Processor-local size of all elements.
const boolList & flipMap() const
Processor-local flip-map of all elements.
const FixedList< label, nTypes > & totals() const
The global sizes for each element type.
void incrAddressing(const label off)
Increase addressing by specified offset value.
Definition ensightPart.C:34
label index() const noexcept
The index in a list (0-based).
const labelList & addressing() const noexcept
Element addressing.
Definition ensightPart.H:85
void decrAddressing(const label off)
Decrease addressing by specified offset value.
Definition ensightPart.C:43
A range or interval of labels defined by a start and a size.
Definition labelRange.H:66
List< label > labelList
A List of labels.
Definition List.H:62
List< bool > boolList
A List of bools.
Definition List.H:60
const direction noexcept
Definition scalarImpl.H:265
UList< label > labelUList
A UList of labels.
Definition UList.H:75