00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkLabelObjectLineComparator_h
00018 #define __itkLabelObjectLineComparator_h
00019
00020 namespace itk
00021 {
00022
00036 namespace Functor {
00037
00038 template< class TLabelObjectLine >
00039 class LabelObjectLineComparator
00040 {
00041 public:
00042 bool operator()(TLabelObjectLine const& l1, TLabelObjectLine const& l2) const
00043 {
00044 const typename TLabelObjectLine::IndexType & idx1 = l1.GetIndex();
00045 const typename TLabelObjectLine::IndexType & idx2 = l2.GetIndex();
00046
00047 for(int i=TLabelObjectLine::ImageDimension - 1; i>=0; i--)
00048 {
00049 if(idx1[i] < idx2[i])
00050 {
00051 return true;
00052 }
00053 else if(idx1[i] > idx2[i])
00054 {
00055 return false;
00056 }
00057 }
00058 return l1.GetLength() < l2.GetLength();
00059 }
00060 };
00061
00062 }
00063
00064 }
00065
00066 #endif
00067