ITK  6.0.0
Insight Toolkit
itkLabelObjectLineComparator.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#ifndef itkLabelObjectLineComparator_h
19#define itkLabelObjectLineComparator_h
20
21namespace itk
22{
23namespace Functor
24{
25
40template <typename TLabelObjectLine>
42{
43public:
44 bool
45 operator()(TLabelObjectLine const & l1, TLabelObjectLine const & l2) const
46 {
47 const typename TLabelObjectLine::IndexType & idx1 = l1.GetIndex();
48 const typename TLabelObjectLine::IndexType & idx2 = l2.GetIndex();
51 for (int i = TLabelObjectLine::ImageDimension - 1; i >= 0; i--)
52 {
53 if (idx1[i] < idx2[i])
54 {
55 return true;
56 }
57 else if (idx1[i] > idx2[i])
58 {
59 return false;
60 }
61 }
62 return l1.GetLength() < l2.GetLength();
63 }
64};
65
66} // end namespace Functor
67} // end namespace itk
68
69#endif
Performs a comparison of l1 < l2. Returns true if l1 is strictly less than l2.
bool operator()(TLabelObjectLine const &l1, TLabelObjectLine const &l2) const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
const IndexValueType * GetIndex() const
Definition: itkIndex.h:230