setFromPoints method
Set the AABB bounds from a set of points.
points
An array of Vec3's.
return The self object
Implementation
AABB setFromPoints(List<Vec3> points, [Vec3? position, Quaternion? quaternion, num? skinSize]){
final l = lowerBound;
final u = upperBound;
final q = quaternion;
// Set to the first point
l.copy(points[0]);
if (q != null) {
q.vmult(l, l);
}
u.copy(l);
for (int i = 1; i < points.length; i++) {
Vec3 p = points[i];
if (q != null) {
q.vmult(p, _tmp);
p = _tmp;
}
if (p.x > u.x) {
u.x = p.x;
}
if (p.x < l.x) {
l.x = p.x;
}
if (p.y > u.y) {
u.y = p.y;
}
if (p.y < l.y) {
l.y = p.y;
}
if (p.z > u.z) {
u.z = p.z;
}
if (p.z < l.z) {
l.z = p.z;
}
}
// Add offset
if (position != null) {
position.vadd(l, l);
position.vadd(u, u);
}
if (skinSize != null) {
l.x -= skinSize;
l.y -= skinSize;
l.z -= skinSize;
u.x += skinSize;
u.y += skinSize;
u.z += skinSize;
}
return this;
}