Review (rewrite) BoundaryCheck (was ACTS-266)
Original author Shaun Roe @sroe
Surfaces/BoundaryCheck suffers from several deficiencies, specifically:
- Copy constructor assigns covariance, assignment does not
- Consistent and unnecessary use of the 'at' accessor for vectors
- FastSinCos and FastArcTan do not need to be members and do caching, and may be unnecessary (timing study needed)
- ComputeKDOP calculation returns incorrect answer if the 'axes' are not normalised
- Method naming convention violations
- Default constructor is neither written nor explicitly deleted
- Mix of float and double precision
Edited by Moritz Kiehn