21 #ifndef otbVectorDataExtractROI_h
22 #define otbVectorDataExtractROI_h
27 #include "itkPreOrderTreeIterator.h"
53 template <
class TVectorData>
76 typedef typename DataNodeType::LineType
LineType;
90 typedef itk::Point<typename VertexType::CoordRepType, IndexType::IndexDimension>
ProjPointType;
111 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
114 virtual void CompareInputAndRegionProjection();
117 virtual void ProjectRegionToInputVectorProjection();
120 virtual RegionType ComputeVertexListBoundingRegion(
typename VertexListType::ConstPointer vertexlist);
123 virtual VertexType PointToContinuousIndex(ProjPointType point);
126 void GenerateData(
void)
override;
129 virtual bool IsPolygonIntersectionNotNull(PolygonPointerType polygon);
132 virtual bool IsLineIntersectionNotNull(LinePointerType line);
134 virtual void ProcessNode(InternalTreeNodeType* source, InternalTreeNodeType* destination);
135 using Superclass::ProcessNode;
139 void operator=(
const Self&) =
delete;
141 int CounterClockWise(PointType firstPoint, PointType secondPoint, PointType thirdPoint);
142 bool IsSegmentIntersectSegment(LinePointerType segmentLineAB, LinePointerType segmentLineCD);
153 #ifndef OTB_MANUAL_INSTANTIATION