The Box class implements a RegionRegion which represents a box with sides parallel to the axes of a FrameFrame (i.e. an area which encloses a given range of values on each axis). A Box is similar to an IntervalInterval, the only real difference being that the Interval class allows some axis limits to be unspecified. Note, a Box will only look like a box if the Frame geometry is approximately flat. For instance, a Box centred close to a pole in a SkyFrameSkyFrame will look more like a fan than a box (the PolygonPolygon class can be used to create a box-like region close to a pole).
If supplied, the uncertainty Region must be of a class for which all instances are centro-symetric (e.g. Box, CircleCircle, EllipseEllipse, etc.) or be a PrismPrism containing centro-symetric component Regions. A deep copy of the supplied Region will be taken, so subsequent changes to the uncertainty Region using the supplied pointer will have no effect on the created Box. Alternatively, a NULL ObjectObject pointer may be supplied, in which case a default uncertainty is used equivalent to a box 1.0E-6 of the size of the Box being created.
The uncertainty Region has two uses: 1) when the astOverlapastOverlap function compares two Regions for equality the uncertainty Region is used to determine the tolerance on the comparison, and 2) when a Region is mapped into a different coordinate system and subsequently simplified (using astSimplifyastSimplify), the uncertainties are used to determine if the transformed boundary can be accurately represented by a specific shape of Region.