ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkCommonEnums.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18
19// Place common enumerations to be used throughout the toolkit in this file
20#ifndef itkCommonEnums_h
21#define itkCommonEnums_h
22
23#include "itkIntTypes.h"
24#include <ostream>
25
26namespace itk
27{
28
39{
40public:
41 // Used in Input/Output for Images/Mesh/Transform types
67
91
97 enum class IOFile : uint8_t
98 {
99 ASCII = 0,
102 // for backward compatibility
103 BINARY = 1, // Spelling difference between IOMeshBase and IOImageBase
104 TYPENOTAPPLICABLE = 2 // Spelling difference between IOMeshBase and IOImageBase
105 };
106
111 enum class IOFileMode : uint8_t
112 {
115 };
116
128
147
148}; // CommonEnums
149
150// Convenience
157
158#if !defined(ITK_LEGACY_REMOVE)
160using IOPixelType = CommonEnums::IOPixel;
161using IOComponentType = CommonEnums::IOComponent;
162using IOFileType = CommonEnums::IOFile;
163using IOFileModeType = CommonEnums::IOFileMode;
164using IOByteOrderType = CommonEnums::IOByteOrder;
165using CellGeometryType = CommonEnums::CellGeometry;
166#endif
167
168// Define how to print enumeration
169extern ITKCommon_EXPORT std::ostream &
170 operator<<(std::ostream & out, IOPixelEnum value);
171extern ITKCommon_EXPORT std::ostream &
172 operator<<(std::ostream & out, IOComponentEnum value);
173extern ITKCommon_EXPORT std::ostream &
174 operator<<(std::ostream & out, IOFileEnum value);
175extern ITKCommon_EXPORT std::ostream &
176 operator<<(std::ostream & out, IOFileModeEnum value);
177extern ITKCommon_EXPORT std::ostream &
178 operator<<(std::ostream & out, IOByteOrderEnum value);
179extern ITKCommon_EXPORT std::ostream &
180 operator<<(std::ostream & out, CellGeometryEnum value);
181
200extern ITKCommon_EXPORT std::ostream &
201 operator<<(std::ostream & out, MeshEnums::MeshClassCellsAllocationMethod value);
202
208{
209public:
210
215 enum class Octree : uint8_t
216 {
219#if !defined(ITK_LEGACY_REMOVE)
220 SAGITAL_PLANE [[deprecated("Use SAGITTAL_PLANE instead")]] = SAGITTAL_PLANE,
221#endif
224 };
225
229 enum class LeafIdentifier : uint8_t
230 {
231 ZERO = 0,
232 ONE = 1,
233 TWO = 2,
234 THREE = 3,
235 FOUR = 4,
236 FIVE = 5,
237 SIX = 6,
239 };
240};
241
242// Define how to print enumeration
243extern ITKCommon_EXPORT std::ostream &
244 operator<<(std::ostream & out, const OctreeEnums::Octree value);
245extern ITKCommon_EXPORT std::ostream &
246 operator<<(std::ostream & out, const OctreeEnums::LeafIdentifier value);
251{
252public:
261};
262
263extern ITKCommon_EXPORT std::ostream &
264 operator<<(std::ostream & out, const ObjectEnums::RegionEnum value);
265
270{
271public:
282};
283extern ITKCommon_EXPORT std::ostream &
284 operator<<(std::ostream & out, const ObjectFactoryEnums::InsertionPosition value);
285
286} // namespace itk
287
288#endif // itkCommonEnums_h
Common enums used across the toolkit.
@ SAGITTAL_PLANE
The plane is Sagittal.
@ UNKNOWN_PLANE
The plane is Unknown.
@ CORONAL_PLANE
The plane is Coronal.
@ TRANSVERSE_PLANE
The plane is Transverse.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
CommonEnums::IOComponent IOComponentEnum
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
CommonEnums::IOFile IOFileEnum
CommonEnums::IOByteOrder IOByteOrderEnum
CommonEnums::CellGeometry CellGeometryEnum
CommonEnums::IOPixel IOPixelEnum
CommonEnums::IOFileMode IOFileModeEnum