Alex Szpakowski avatar Alex Szpakowski committed ffc8cdf

Optimized Geometry:setVertex

Comments (0)

Files changed (1)

src/modules/graphics/Geometry.cpp

 	if (i >= polygon.size())
 		throw Exception("Invalid vertex index");
 
+	float oldx = polygon[i].x;
+	float oldy = polygon[i].y;
+
 	polygon[i] = v;
-	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();
+	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)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.