replace Plane with axis-aligned Box (because infinite Plane is not usable with kd-tree)
fix memory leak in KdTree::nearest_intersection
rename BBox::R to BBox::H
new file: common.h (Eps and Inf constants)
#include "vector.h"int main() { Vector3 a(1, 2, 3); cout << "=== Vector3 test ===" << endl; cout << "a = " << a << endl; Vector3 b(2, 3, 2); cout << "b = " << b << endl; cout << "a + b = " << a + b << endl; cout << "b - a = " << b - a << endl; cout << "dot(a,b) = " << dot(a,b) << endl; cout << "cross(a,b) = " << cross(a,b) << endl; cout << "a * 2 = " << a * 2 << endl; cout << "3 * b = " << 3 * b << endl; cout << "-a = " << -a << endl; cout << "a.mag() = " << a.mag() << endl; cout << "a.unit() = " << a.unit() << endl; cout << "a.unit().mag() = " << a.unit().mag() << endl; return 0;}