fitTexture method
Rescales the texture coordinates of vertices from to to to span
0..1 each way.
Implementation
void fitTexture(int from, int to) {
var u0 = double.infinity,
v0 = double.infinity,
u1 = -double.infinity,
v1 = -double.infinity;
for (var i = from; i < to; i++) {
u0 = math.min(u0, _t[i * 2]);
u1 = math.max(u1, _t[i * 2]);
v0 = math.min(v0, _t[i * 2 + 1]);
v1 = math.max(v1, _t[i * 2 + 1]);
}
final du = u1 - u0, dv = v1 - v0;
for (var i = from; i < to; i++) {
_t[i * 2] = du > 0 ? (_t[i * 2] - u0) / du : 0;
_t[i * 2 + 1] = dv > 0 ? (_t[i * 2 + 1] - v0) / dv : 0;
}
}