All PlanarFigures implement a method GeneratePolyLine() which computes their PolyLine, which is the polygon that will actually be rendered, from their ControlPoints.
This method is called from PlanarFigure::GetPolyLine(). This is where the logic is implemented that checks if the PolyLine is still up-to-date or has to be re-calculated.
Unfortunately this logic is wrong! Thus, every time PlanarFigure::GetPolyLine() is called, the PolyLine is recalculated. In case of the PlanarSubdivisionPolygon this is actually quite costly as the interpolation has to be calculated every single time.
Asthe PlanarFigureInteractor needs the PolyLine to check for hovering, the PolylIne is calculated after every single mouse-move that is performed.