ITK
5.2.0
Insight Toolkit
ITK
Modules
Core
Common
include
itkBresenhamLine.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
* http://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
#ifndef itkBresenhamLine_h
19
#define itkBresenhamLine_h
20
21
#include "
itkVector.h
"
22
#include "
itkIndex.h
"
23
#include <vector>
24
25
namespace
itk
26
{
27
/* a simple class that will return an array of indexes that are
28
* offsets along the line. The line will be described by a vector and a
29
* length */
30
31
template
<
unsigned
int
VDimension>
32
class
ITK_TEMPLATE_EXPORT
BresenhamLine
33
{
34
public
:
35
using
Self
=
BresenhamLine
;
36
// This defines the line direction
37
using
LType
=
Vector<float, VDimension>
;
38
using
OffsetType
=
Offset<VDimension>
;
39
using
IndexType
=
Index<VDimension>
;
40
using
OffsetArray
= std::vector<OffsetType>;
41
using
IndexArray
= std::vector<IndexType>;
42
43
// constructors
44
BresenhamLine
() =
default
;
45
~
BresenhamLine
() =
default
;
46
48
OffsetArray
49
BuildLine(
LType
Direction,
unsigned
int
length);
50
52
IndexArray
53
BuildLine(
IndexType
p0,
IndexType
p1);
54
};
55
}
// namespace itk
56
57
#ifndef ITK_MANUAL_INSTANTIATION
58
# include "itkBresenhamLine.hxx"
59
#endif
60
61
#endif
itk::Index
Represent a n-dimensional index in a n-dimensional image.
Definition:
itkIndex.h:66
itk::BresenhamLine::IndexArray
std::vector< IndexType > IndexArray
Definition:
itkBresenhamLine.h:41
itk::Vector
A templated class holding a n-Dimensional vector.
Definition:
itkVector.h:62
itkIndex.h
itk::Offset
Represent a n-dimensional offset between two n-dimensional indexes of n-dimensional image.
Definition:
itkOffset.h:67
itk::BresenhamLine::OffsetArray
std::vector< OffsetType > OffsetArray
Definition:
itkBresenhamLine.h:40
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itkVector.h
itk::BresenhamLine
Definition:
itkBresenhamLine.h:32
Generated on Thu Apr 1 2021 01:37:33 for ITK by
1.8.16