mirror of
https://github.com/love2d/love.git
synced 2026-08-19 12:14:20 +02:00
Optimized Geometry:setVertex
This commit is contained in:
@@ -122,13 +122,20 @@ void Geometry::setVertex(size_t i, const vertex &v)
|
|||||||
if (i >= polygon.size())
|
if (i >= polygon.size())
|
||||||
throw Exception("Invalid vertex index");
|
throw Exception("Invalid vertex index");
|
||||||
|
|
||||||
polygon[i] = v;
|
float oldx = polygon[i].x;
|
||||||
x_min = v.x < x_min ? v.x : x_min;
|
float oldy = polygon[i].y;
|
||||||
x_max = v.x > x_max ? v.x : x_max;
|
|
||||||
y_min = v.y < y_min ? v.y : y_min;
|
|
||||||
y_max = v.y > y_max ? v.y : y_max;
|
|
||||||
|
|
||||||
triangulate();
|
polygon[i] = v;
|
||||||
|
|
||||||
|
if (oldx != v.x || oldy != v.y)
|
||||||
|
{
|
||||||
|
x_min = v.x < x_min ? v.x : x_min;
|
||||||
|
x_max = v.x > x_max ? v.x : x_max;
|
||||||
|
y_min = v.y < y_min ? v.y : y_min;
|
||||||
|
y_max = v.y > y_max ? v.y : y_max;
|
||||||
|
|
||||||
|
triangulate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Geometry::flip(bool x, bool y)
|
void Geometry::flip(bool x, bool y)
|
||||||
|
|||||||
Reference in New Issue
Block a user