21 #ifndef otbVectorDataToRightAngleVectorDataFilter_h
22 #define otbVectorDataToRightAngleVectorDataFilter_h
26 #include "itkPreOrderTreeIterator.h"
47 template <
class TVectorData>
69 typedef typename VectorDataType::LineType
LineType;
70 typedef typename VectorDataType::PointType
PointType;
74 typedef itk::PreOrderTreeIterator<typename VectorDataType::DataTreeType>
TreeIteratorType;
77 itkGetMacro(DistanceThreshold,
double);
78 itkSetMacro(DistanceThreshold,
double);
81 itkGetMacro(AngleThreshold,
double);
82 itkSetMacro(AngleThreshold,
double);
94 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
97 void GenerateData()
override;
100 virtual double ComputeAngleFormedBySegments(LineType* lineDst, LineType* lineSrc);
103 virtual PointType ComputeRightAngleCoordinate(LineType* lineDst, LineType* lineSrc);
106 virtual double ComputeOrientation(LineType* line);
109 virtual double ComputeDistanceFromPointToSegment(PointType rAngle, LineType* line);
113 void operator=(
const Self&) =
delete;
119 #ifndef OTB_MANUAL_INSTANTIATION