MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / createSuperTriangle

Function createSuperTriangle

TheForceEngine/TFE_Polygon/polygon.cpp:198–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

196 }
197
198 void createSuperTriangle(Polygon* poly)
199 {
200 Vec2f centroid = { (poly->bounds[0].x + poly->bounds[1].x) * 0.5f, (poly->bounds[0].z + poly->bounds[1].z) * 0.5f };
201 s_coordCenter.x = floorf(centroid.x);
202 s_coordCenter.z = floorf(centroid.z);
203 centroid.x -= s_coordCenter.x;
204 centroid.z -= s_coordCenter.z;
205
206 Vec2f ext = { poly->bounds[1].x - poly->bounds[0].x, poly->bounds[1].z - poly->bounds[0].z };
207 f32 maxExt = std::max(ext.x, ext.z);
208
209 Vec2f v0 = { centroid.x - maxExt * 5.0f, centroid.z - maxExt };
210 Vec2f v1 = { centroid.x, centroid.z + maxExt * 5.0f };
211 Vec2f v2 = { centroid.x + maxExt * 5.0f, centroid.z - maxExt };
212 addTriangle(v0, v1, v2);
213 }
214
215 void computePolygonBounds(Polygon* poly)
216 {

Callers 1

computeTriangulationFunction · 0.85

Calls 2

maxFunction · 0.85
addTriangleFunction · 0.85

Tested by

no test coverage detected