universal indexing rules in BezierCurve

This commit is contained in:
muddmaker
2014-12-31 23:19:07 -08:00
parent 2c5f7dc896
commit 47a4cc34a5
3 changed files with 12 additions and 9 deletions
+5 -5
View File
@@ -124,15 +124,15 @@ void BezierCurve::setControlPoint(int i, const Vector &point)
controlPoints[i] = point;
}
void BezierCurve::insertControlPoint(const Vector &point, int pos)
void BezierCurve::insertControlPoint(const Vector &point, int i)
{
if (pos < 0)
pos += controlPoints.size() + 1;
while (i < 0)
i += controlPoints.size() + 1;
if (pos < 0 || (size_t) pos > controlPoints.size())
while ((size_t) i > controlPoints.size())
throw Exception("Invalid control point index");
controlPoints.insert(controlPoints.begin() + pos, point);
controlPoints.insert(controlPoints.begin() + i, point);
}
void BezierCurve::removeControlPoint(int i)