Details
-
Type:
Improvement
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: geom
-
Labels:None
-
Story Points:2
-
Epic Link:
-
Sprint:AP F18-1
-
Team:Alert Production
Description
As discussed on GitHub, it would be useful if Box2I and Box2D had methods for creating boxes centered on a particular (fractional) point.
Given that the Box* classes cannot afford more constructors, and we still don't have a good way to discover functions, this capability is best implemented as static factory methods:
Box2I Box2I::makeCenteredBox(Point2D const& center, Box2I::Extent const& size);
|
Box2D Box2D::makeCenteredBox(Point2D const& center, Box2D::Extent const& size);
|
I do not plan to add a Box2I::makeCenteredBox(Point2I, Extent) method: I'm worried that it might lead to confusion with (Point2D, Extent), and as Jim Bosch pointed out it's not clear what the best behavior is for even-sized boxes.
The desired functionality is already present in the implementation for Exposure::getCutout, so this work is just a matter of factoring the code, writing new unit tests, and being very careful about the distinctions between Box2I and Box2D.
Hi Jim Bosch, could you review these changes and let me know if everything fits normal Box usage? Thanks!