21 #ifndef otbVectorDataExtractROI_h 22 #define otbVectorDataExtractROI_h 28 #include "itkPreOrderTreeIterator.h" 54 template <
class TVectorData>
77 typedef typename DataNodeType::LineType
LineType;
91 typedef itk::Point<typename VertexType::CoordRepType, IndexType::IndexDimension>
ProjPointType;
113 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
116 virtual void CompareInputAndRegionProjection();
119 virtual void ProjectRegionToInputVectorProjection();
122 virtual RegionType ComputeVertexListBoundingRegion(
typename VertexListType::ConstPointer vertexlist);
125 virtual VertexType PointToContinuousIndex(ProjPointType point);
128 void GenerateData(
void)
override;
131 virtual bool IsPolygonIntersectionNotNull(PolygonPointerType polygon);
134 virtual bool IsLineIntersectionNotNull(LinePointerType line);
136 virtual void ProcessNode(InternalTreeNodeType* source, InternalTreeNodeType* destination);
137 using Superclass::ProcessNode;
141 void operator=(
const Self&) =
delete;
143 int CounterClockWise(PointType firstPoint, PointType secondPoint, PointType thirdPoint);
144 bool IsSegmentIntersectSegment(LinePointerType segmentLineAB, LinePointerType segmentLineCD);
155 #ifndef OTB_MANUAL_INSTANTIATION
itk::ContinuousIndex< Type > IndexType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Base class for filters that take an VectorData as input and produce an VectorData as output...
itk::ContinuousIndex< Type > SizeType
VectorImageType::PointType PointType