ITK  6.0.0
Insight Toolkit
itkRegion.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 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkRegion_h
29#define itkRegion_h
30
31#include "itkObject.h"
32#include "itkCommonEnums.h"
33
34namespace itk
35{
65class ITKCommon_EXPORT Region
66{
67public:
69
71 using Self = Region;
72
74#if !defined(ITK_LEGACY_REMOVE)
76 static constexpr RegionEnum ITK_UNSTRUCTURED_REGION = RegionEnum::ITK_UNSTRUCTURED_REGION;
77 static constexpr RegionEnum ITK_STRUCTURED_REGION = RegionEnum::ITK_STRUCTURED_REGION;
78#endif
79
81 itkVirtualGetNameOfClassMacro(Region);
82
85 virtual RegionEnum
86 GetRegionType() const = 0;
87
89 virtual void
90 Print(std::ostream & os, Indent indent = 0) const;
91
92 Region() = default;
93 virtual ~Region() = default;
94
95protected:
100 virtual void
101 PrintSelf(std::ostream & os, Indent indent) const;
102
103 virtual void
104 PrintHeader(std::ostream & os, Indent indent) const;
105
106 virtual void
107 PrintTrailer(std::ostream & os, Indent indent) const;
108
109private:
110};
111} // end namespace itk
112
113#endif
Control indentation during Print() invocation.
Definition: itkIndent.h:50
A region represents some portion or piece of data.
Definition: itkRegion.h:66
virtual void PrintSelf(std::ostream &os, Indent indent) const
ITK_DEFAULT_COPY_AND_MOVE(Region)
virtual RegionEnum GetRegionType() const =0
Region()=default
virtual void PrintTrailer(std::ostream &os, Indent indent) const
virtual void PrintHeader(std::ostream &os, Indent indent) const
virtual ~Region()=default
virtual void Print(std::ostream &os, Indent indent=0) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....