57    QString msg = 
"Invalid label attachment type [" + QString::number(labelType) + 
"]";
 
   71    QString temp = labelType.toUpper();
 
   76    QString msg = 
"Invalid label attachment type string [" + labelType + 
"]";
 
  123        m_attributeTypeTesters = testers;
 
  140        m_attributeTypeTesters = testers;
 
  161        if (!m_attributes.isEmpty())
 
  162          result = 
"+" + m_attributes.join(
"+");
 
  179        QString upcaseAtt = attribute.toUpper();
 
  181        if (attribute.contains(
"+")) {
 
  183                           "Individual attributes (for example, BSQ) cannot contain the '+' " 
  184                           "character because that is used to denote the separation of individual " 
  191        bool (ChildClass::*tester)(QString) 
const;
 
  192        foreach (tester, m_attributeTypeTesters) {
 
  193          if ( (
static_cast<const ChildClass *
>(
this)->*tester)(upcaseAtt) ) {
 
  196                               QObject::tr(
"Attribute [%1] is ambiguous").arg(attribute),
 
  206                           QObject::tr(
"Attribute [%1] is not recognized").arg(attribute),
 
  210        m_attributes.append(attribute);
 
  265        m_attributes.clear();
 
  266        foreach (QString attribute, attributes)
 
  283        foreach (QString attribute, m_attributes) {
 
  284          QString upcaseAtt = attribute.toUpper();
 
  285          if ( (
static_cast<const ChildClass *
>(
this)->*tester)(upcaseAtt) ) {
 
  286            relevantAttributes.append(upcaseAtt);
 
  290        return relevantAttributes;
 
  305      void setAttribute(QString newValue, 
bool (ChildClass::*tester)(QString) 
const) {
 
  306        QMutableListIterator<QString> it(m_attributes);
 
  309        while (it.hasNext()) {
 
  310          QString &attribute = it.next();
 
  312          QString upcaseAtt = attribute.toUpper();
 
  313          if ( (
static_cast<const ChildClass *
>(
this)->*tester)(upcaseAtt) ) {
 
  314            if (found || newValue == 
"") {
 
  320              attribute = newValue;
 
  328        if (!found && newValue != 
"") {
 
  329          m_attributes.append(newValue);
 
  348      QList< bool (ChildClass::*)(QString) 
const > m_attributeTypeTesters;
 
  406      std::vector<QString> 
bands() 
const;
 
  427      bool isBandRange(QString attribute) 
const;
 
  433      std::vector<QString> m_bands; 
 
  550      bool isByteOrder(QString attribute) 
const;
 
  551      bool isFileFormat(QString attribute) 
const;
 
  552      bool isLabelAttachment(QString attribute) 
const;
 
  553      bool isPixelType(QString attribute) 
const;
 
  554      bool isRange(QString attribute) 
const;
 
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
 
Parent class for CubeAttributeInput and CubeAttributeOutput.
Definition: CubeAttribute.h:118
 
CubeAttribute(QList< bool(ChildClass::*)(QString) const > testers, const FileName &fileName)
Constructs a CubeAttribute using the argument.
Definition: CubeAttribute.h:138
 
void addAttributes(const FileName &fileNameWithAtts)
Append the attributes found in the filename to these cube attributes.
Definition: CubeAttribute.h:222
 
void addAttribute(QString attribute)
Add a single attribute to these attributes.
Definition: CubeAttribute.h:178
 
QString toString() const
Return a string-representation of this cube attributes.
Definition: CubeAttribute.h:158
 
virtual ~CubeAttribute()
Destroys the object.
Definition: CubeAttribute.h:146
 
void addAttributes(const QString &attributesString)
Append the attributes in the string to these cube attributes.
Definition: CubeAttribute.h:248
 
QStringList attributeList(bool(ChildClass::*tester)(QString) const) const
Get a list of attributes that the tester returns true on.
Definition: CubeAttribute.h:280
 
void setAttributes(const FileName &fileName)
Replaces the current attributes with the attributes in the given file name.
Definition: CubeAttribute.h:262
 
void setAttribute(QString newValue, bool(ChildClass::*tester)(QString) const)
Set the attribute(s) for which tester returns true to newValue.
Definition: CubeAttribute.h:305
 
CubeAttribute(QList< bool(ChildClass::*)(QString) const > testers)
Constructs an empty CubeAttribute.
Definition: CubeAttribute.h:122
 
void addAttributes(const char *attributesString)
Append the attributes in the string to these cube attributes.
Definition: CubeAttribute.h:235
 
Manipulate and parse attributes of output cube filenames.
Definition: CubeAttribute.h:473
 
LabelAttachment labelAttachment() const
Definition: CubeAttribute.cpp:400
 
double minimum() const
Return the output cube attribute minimum.
Definition: CubeAttribute.cpp:294
 
void setLabelAttachment(LabelAttachment attachment)
Set the label attachment type to the parameter value.
Definition: CubeAttribute.cpp:395
 
ByteOrder byteOrder() const
Return the byte order as an Isis::ByteOrder.
Definition: CubeAttribute.cpp:455
 
double maximum() const
Return the output cube attribute maximum.
Definition: CubeAttribute.cpp:309
 
void setByteOrder(ByteOrder order)
Set the order according to the parameter order.
Definition: CubeAttribute.cpp:474
 
bool propagateMinimumMaximum() const
Return true if the min/max are to be propagated from an input cube.
Definition: CubeAttribute.cpp:177
 
bool propagatePixelType() const
Return true if the pixel type is to be propagated from an input cube.
Definition: CubeAttribute.cpp:165
 
Cube::Format fileFormat() const
Return the file format an Cube::Format.
Definition: CubeAttribute.cpp:267
 
QString fileFormatString() const
Return the file format as a string.
Definition: CubeAttribute.cpp:283
 
QString byteOrderString() const
Return the byte order as a string.
Definition: CubeAttribute.cpp:469
 
CubeAttributeOutput()
Constructs an empty CubeAttributeOutput.
Definition: CubeAttribute.cpp:152
 
PixelType pixelType() const
Return the pixel type as an Isis::PixelType.
Definition: CubeAttribute.cpp:360
 
void setMinimum(double min)
Set the output cube attribute minimum.
Definition: CubeAttribute.cpp:324
 
void setMaximum(double max)
Set the output cube attribute maximum.
Definition: CubeAttribute.cpp:342
 
~CubeAttributeOutput()
Destroys the object.
Definition: CubeAttribute.cpp:161
 
void setPixelType(PixelType type)
Set the pixel type to that given by the parameter.
Definition: CubeAttribute.cpp:390
 
void setFileFormat(Cube::Format fmt)
Set the format to the fmt parameter.
Definition: CubeAttribute.cpp:288
 
Format
These are the possible storage formats of ISIS cubes.
Definition: Cube.h:179
 
File name manipulation and expansion.
Definition: FileName.h:100
 
QString attributes() const
Returns a QString of the attributes in a filename, attributes are expected to be of type CubeAttribut...
Definition: FileName.cpp:121
 
Isis exception class.
Definition: IException.h:91
 
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
 
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
 
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
 
ByteOrder
Tests the current architecture for byte order.
Definition: Endian.h:42
 
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
 
LabelAttachment LabelAttachmentEnumeration(const QString &labelType)
Return the appropriate LabelType depending on which of the valid values the argument spells.
Definition: CubeAttribute.h:70
 
LabelAttachment
Input cube label type tracker.
Definition: CubeAttribute.h:31
 
@ ExternalLabel
The label is pointing to an external DN file - the label is also external to the data.
Definition: CubeAttribute.h:40
 
@ AttachedLabel
The input label is embedded in the image file.
Definition: CubeAttribute.h:32
 
@ DetachedLabel
The input label is in a separate data file from the image.
Definition: CubeAttribute.h:33
 
QString LabelAttachmentName(LabelAttachment labelType)
Return the string representation of the contents of a variable of type LabelAttachment.
Definition: CubeAttribute.h:52
 
PixelType
Enumerations for Isis Pixel Types.
Definition: PixelType.h:27