public virtual void projectOntoAxis(Point3f point) { // assumes axisA, axisB, and axisUnitVector are set; vectorProjection.sub(point, axisA); float projectedLength = vectorProjection.dot(axisUnitVector); point.set_Renamed(axisUnitVector); point.scaleAdd(projectedLength, axisA); }