uk.ac.starlink.ast
Class Interval
java.lang.Object
uk.ac.starlink.ast.AstObject
uk.ac.starlink.ast.Mapping
uk.ac.starlink.ast.Frame
uk.ac.starlink.ast.Region
uk.ac.starlink.ast.Interval
public class Interval
- extends Region
Java interface to the AST Interval class
- a region representing an interval on one or more axes of a Frame.
The Interval class implements a Region which represents upper
and/or lower limits on one or more axes of a Frame. For a point to
be within the region represented by the Interval, the point must
satisfy all the restrictions placed on all the axes. The point is
outside the region if it fails to satisfy any one of the restrictions.
Each axis may have either an upper limit, a lower limit, both or
neither. If both limits are supplied but are in reverse order (so
that the lower limit is greater than the upper limit), then the
interval is an excluded interval, rather than an included interval.
Note, The Interval class makes no allowances for cyclic nature of
some coordinate systems (such as SkyFrame coordinates). A Box
should usually be used in these cases since this requires the user
to think about suitable upper and lower limits,
Licence
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public Licence as
published by the Free Software Foundation; either version 2 of
the Licence, or (at your option) any later version.
This program is distributed in the hope that it will be
useful,but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public Licence for more details.
You should have received a copy of the GNU General Public Licence
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street,Fifth Floor, Boston, MA
02110-1301, USA
- See Also:
- AST Interval
Constructor Summary |
Interval(Frame frame,
double[] lbnd,
double[] ubnd,
Region unc)
Create a Interval. |
Methods inherited from class uk.ac.starlink.ast.Region |
getAdaptive, getBounded, getClosed, getFillFactor, getMeshSize, getNegated, getRegionBounds, getRegionFrame, getRegionPoints, getUnc, mapRegion, mask, maskB, maskD, maskF, maskI, maskL, maskS, negate, overlap, setAdaptive, setClosed, setFillFactor, setMeshSize, setNegated, setUnc, showMesh |
Methods inherited from class uk.ac.starlink.ast.Frame |
angle, axAngle, axDistance, axOffset, convert, distance, findFrame, format, getActiveUnit, getAlignSystem, getBottom, getDigits, getDigits, getDirection, getDomain, getDut1, getEpoch, getFormat, getLabel, getMatchEnd, getMaxAxes, getMinAxes, getNaxes, getNormUnit, getObsLat, getObsLon, getPermute, getPreserveAxes, getSymbol, getSystem, getTitle, getTop, getUnit, intersect, norm, offset, offset2, permAxes, pickAxes, resolve, setActiveUnit, setAlignSystem, setBottom, setDigits, setDigits, setDirection, setDomain, setDut1, setEpoch, setEpoch, setFormat, setLabel, setMatchEnd, setMaxAxes, setMinAxes, setObsLat, setObsLon, setPermute, setPreserveAxes, setSymbol, setSystem, setTitle, setTop, setUnit, unformat |
Methods inherited from class uk.ac.starlink.ast.Mapping |
decompose, getInvert, getNin, getNout, getReport, getTranForward, getTranInverse, invert, linearApprox, mapBox, mapSplit, rate, rebin, rebinD, rebinF, rebinI, resample, resampleB, resampleD, resampleF, resampleI, resampleL, resampleS, setInvert, setReport, simplify, tran1, tran2, tranGrid, tranN, tranP |
Methods inherited from class uk.ac.starlink.ast.AstObject |
annul, clear, copy, delete, equals, finalize, getAstConstantI, getB, getC, getD, getF, getI, getID, getIdent, getL, getNobject, getObjSize, getRefCount, hashCode, isThreaded, reportVersions, sameObject, set, setB, setC, setD, setF, setI, setID, setIdent, setL, show, test, tune |
Interval
public Interval(Frame frame,
double[] lbnd,
double[] ubnd,
Region unc)
- Create a Interval.
This function creates a new Interval and optionally initialises its
attributes.
A Interval is a Region which represents upper and/or lower limits on
one or more axes of a Frame. For a point to be within the region
represented by the Interval, the point must satisfy all the
restrictions placed on all the axes. The point is outside the region
if it fails to satisfy any one of the restrictions. Each axis may have
either an upper limit, a lower limit, both or neither. If both limits
are supplied but are in reverse order (so that the lower limit is
greater than the upper limit), then the interval is an excluded
interval, rather than an included interval.
At least one axis limit must be supplied.
Note, The Interval class makes no allowances for cyclic nature of
some coordinate systems (such as SkyFrame coordinates). A Box
should usually be used in these cases since this requires the user
to think about suitable upper and lower limits,
Notes
- A null Object pointer (AST__NULL) will be returned if this
function is invoked with the AST error status set, or if it
should fail for any reason.
Status Handling
The protected interface to this function includes an extra
parameter at the end of the parameter list descirbed above. This
parameter is a pointer to the integer inherited status
variable: "int *status".
- Parameters:
frame
- A pointer to the Frame in which the region is defined. A deep
copy is taken of the supplied Frame. This means that any
subsequent changes made to the Frame using the supplied pointer
will have no effect the Region.lbnd
- An array of double, with one element for each Frame axis
(Naxes attribute) containing the lower limits on each axis.
Set a value to AST__BAD to indicate that the axis has no lower
limit.ubnd
- An array of double, with one element for each Frame axis
(Naxes attribute) containing the upper limits on each axis.
Set a value to AST__BAD to indicate that the axis has no upper
limit.unc
- An optional pointer to an existing Region which specifies the
uncertainties associated with the boundary of the Box being created.
The uncertainty in any point on the boundary of the Box is found by
shifting the supplied "uncertainty" Region so that it is centred at
the boundary point being considered. The area covered by the
shifted uncertainty Region then represents the uncertainty in the
boundary position. The uncertainty is assumed to be the same for
all points.
If supplied, the uncertainty Region must be of a class for which
all instances are centro-symetric (e.g. Box, Circle, Ellipse, etc.)
or be a Prism 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 Object 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
astOverlap
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
astSimplify),
the uncertainties are used to determine if the transformed boundary
can be accurately represented by a specific shape of Region.
- Throws:
AstException
- if an error occurred in the AST library
Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.