Geometry types and algorithms.
Special thanks to:
Note: All methods marked with pure are weakly pure since, they all access an instance member. All static methods are strongly pure.
TODO Support radian and degree types (from units-d package)
TODO Use sink as param in toMathML and toLaTeX
TODO Replace toMathML() with fmt argument %M to toString functions TODO Replace toLaTeX() with fmt argument %L to toString functions
TODO Optimize using core.simd or std.simd TODO Merge with analyticgeometry TODO Merge with https://github.com/CyberShadow/ae/blob/master/utils/geometry.d TODO Integrate with http://code.dlang.org/packages/blazed2 TODO logln, log.warn, log.error, log.info, log.debug TODO Make use of staticReduce etc when they become available in Phobos. TODO Go through all usages of real and use CommonType!(real, E) to make it work when E is a bignum. TODO ead and perhaps make use of http://stackoverflow.com/questions/3098242/fast-vector-struct-that-allows-i-and-xyz-operations-in-d?rq=1 TODO Tag member functions in t_geom.d as pure as is done https://github.com/D-Programming-Language/phobos/blob/master/std/bigint.d TODO Remove need to use  in x == y
Instantiator for SpherePoint3.
Either an element in min or max is nan or min <= max.
D-Dimensional Axis-Aligned (Hyper) Cartesian Box with Element (Component) Type E.
D-Dimensional Particle with Coordinate Position and Direction/Velocity/Force Type (Precision) E. F = m*a; where F is force, m is mass, a is acceleration.
Base template for all matrix-types. Params: E = all values get stored as this type rows_ = rows of the matrix cols_ = columns of the matrix layout = matrix layout
D-Dimensional Particle with Cartesian Coordinate position and velocity of Element (Component) Type E.
D-Dimensional Infinite Cartesian (Hyper)-Plane with Element (Component) Type E.
D-Dimensional Cartesian (Hyper)-Sphere with Element (Component) Type E.
3-Dimensional Spherical Point with Coordinate Type (Precision) E.