29 this->ClearPolyLines();
31 for (
unsigned int i = 0; i < this->GetNumberOfControlPoints(); ++i)
32 this->AppendPointToPolyLine(i / 2, this->GetControlPoint(i));
43 if (this->GetNumberOfControlPoints() < 4)
50 const Point2D &p0 = this->GetControlPoint(0);
51 const Point2D &p1 = this->GetControlPoint(1);
52 const Point2D &p2 = this->GetControlPoint(2);
53 const Point2D &p3 = this->GetControlPoint(3);
60 double angle = acos(v0 * v1);
62 this->SetQuantity(FEATURE_ID_ANGLE, angle);
67 Superclass::PrintSelf(os, indent);
75 return Superclass::Equals(other);
Implementation of PlanarFigure representing a four point angle, which is defined by two non-intersect...
virtual void GeneratePolyLine() override
Generates the poly-line representation of the planar figure.
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const override
virtual void EvaluateFeaturesInternal() override
Calculates feature quantities of the planar figure.
virtual void GenerateHelperPolyLine(double mmPerDisplayUnit, unsigned int displayHeight) override
Generates the poly-lines that should be drawn the same size regardless of zoom.
virtual bool Equals(const mitk::PlanarFigure &other) const override
Compare two PlanarFigure objects Note: all subclasses have to implement the method on their own...