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 AST_GETC is unaffected by the UseDefs attribute - default values will always be returned if
no value has been set. Application code should use the AST_TEST 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.