13 #ifndef mitkPlanarSubdivisionPolygon_h
14 #define mitkPlanarSubdivisionPolygon_h
42 itkFactorylessNewMacro(Self);
Implementation of PlanarFigure representing a polygon.
Implementation of PlanarFigure representing a subdivision polygon (smooth curve).
int GetControlPointForPolylinePoint(int indexOfPolylinePoint, int polyLineIndex) const override
Returns the control point index that corresponds to a given polyline point.
void SetTensionParameter(float tensionParameter)
Sets the tension parameter for the subdivision algorithm.
void DecreaseSubdivisions()
Decreases the number of subdivision rounds by one (minimum 1).
bool Equals(const mitk::PlanarFigure &other) const override
Compares this PlanarSubdivisionPolygon with another PlanarFigure for equality.
unsigned int GetMaximumNumberOfControlPoints() const override
Returns 1000 – control points are practically unlimited.
unsigned int GetMinimumNumberOfControlPoints() const override
Returns 3 – a subdivision polygon requires at least three control points.
unsigned int GetSubdivisionRounds() const
Returns the number of subdivision rounds applied during polyline generation.
void IncreaseSubdivisions()
Increases the number of subdivision rounds by one.
void SetSubdivisionRounds(int subdivisionRounds)
Sets the number of subdivision rounds.
std::vector< mitk::Point2D > CheckForLineIntersection(const Point2D &p1, const Point2D &p2) const
Checks for intersections of a line segment with the subdivision polygon edges.
float GetTensionParameter() const
Returns the tension parameter for the subdivision algorithm.
void GeneratePolyLine() override
Generates the poly-line representation of the planar figure.
PlanarSubdivisionPolygon(const Self &other)
mitkClassMacro(PlanarSubdivisionPolygon, PlanarPolygon)
PlanarSubdivisionPolygon()
Find image slices visible on a given plane.