Ejemplo n.º 1
0
QPolygonF QgsCurve::asQPolygonF() const
{
  const int nb = numPoints();
  QPolygonF points;
  points.reserve( nb );
  for ( int i = 0; i < nb; ++i )
  {
    points << QPointF( xAt( i ), yAt( i ) );
  }
  return points;
}
Ejemplo n.º 2
0
void ConvexHull::sortPointsByAngle(){
    Point centerPoint = this->at(0);
    for (int i = length() - 1; i >= 1; i--) {
        for (int j = 1; j < i; j++) {
            double angle1 = getAngleTgBetweenPoints(xAt(j), centerPoint),
                   angle2 = getAngleTgBetweenPoints(xAt(i), centerPoint);

            if (angle1 > angle2) {
                Point tmp = xAt(i);
                xAt(i)= xAt(j);
                xAt(j) = tmp;
            }
        }
    }
     sorted = true;
}