This
attribute specifies whether default values should be used internally for object
attributes which have not been assigned a value explicitly. If a non-zero value (the
default) is supplied for UseDefs, then default values will be used for attributes which
have not explicitly been assigned a value. If zero is supplied for UseDefs, then an
error will be reported if an attribute for which no explicit value has been supplied is
needed internally within AST.
Many attributes (including the UseDefs attribute itself) are unaffected by the setting
of the UseDefs attribute, and default values will always be used without error for such
attributes. The "
Applicability:"
section below lists the attributes which are affected
by the setting of UseDefs.
Note, UseDefs only affects access to attributes internally within AST. The public
accessor functions such as astGetC is unaffected by the UseDefs attribute - default
values will always be returned if no value has been set. Application code should use
the astTest function if required to determine if a value has been set for an attribute.
All Objects have this attribute,
but ignore its setting except as described below for individual classes.
The default value of UseDefs for a FrameSet is redefined to be the UseDefs value of its
current
Frame.
The default value of UseDefs for a CmpFrame is
redefined to be the UseDefs value of its first component Frame.
The
default value of UseDefs for a Region is redefined to be the UseDefs value of its
encapsulated Frame.
Frame
If UseDefs is zero, an error is reported when
aligning Frames if the
Epoch,
ObsLat or
ObsLon attribute is required but has not
been assigned a value explicitly.
If UseDefs is zero, an error
is reported when aligning SkyFrames if any of the following attributes are
required but have not been assigned a value explicitly: Epoch,
Equinox.
If UseDefs is zero, an error is reported when aligning SpecFrames
if any of the following attributes are required but have not been assigned a
value explicitly: Epoch,
RefRA,
RefDec,
RestFreq,
SourceVel,
StdOfRest.
If UseDefs is zero, an error is reported when aligning DSBSpecFrames or
when accessing the
ImagFreq attribute if any of the following attributes are
required but have not been assigned a value explicitly: Epoch,
DSBCentre,
IF.