BoxT makePlaneAroundDimensionEnd( const Dimension<T>& dim, const typename Dimension<T>::End end) const { double inf = std::numeric_limits<double>::infinity(); Vector<DIM, T> lower(-inf), upper(inf); lower[dim.direction()] = dim(end); upper[dim.direction()] = dim(end); // now convert them PointT minimum = VectorOps<DIM, T>::toBoostPoint( lower); PointT maximum = VectorOps<DIM, T>::toBoostPoint( upper); return BoxT(minimum, maximum); }