| 
    Isis 3.0 Programmer Reference
    
   | Home | 
This class creates a polygon-type Isis Blob named "Footprint". More...
#include <GisBlob.h>


Public Member Functions | |
| GisBlob () | |
| Constructs an Isis polygon-type Blob named "Footprint.".  More... | |
| GisBlob (Cube &cube) | |
| Constructs an Isis polygon-type Blob named "Footprint" and sets the well-known text string that defines the polygon by reading the given cube.  More... | |
| ~GisBlob () | |
| Destroys the GisBlob object.  More... | |
| QString | polygon () const | 
| Accesses the well-known text string that defines the polygon.  More... | |
| void | setPolygon (const QString &wkt) | 
| Sets the polygon using the given well-known text string.  More... | |
| QString | Type () const | 
| Accessor method that returns a string containing the Blob type.  More... | |
| QString | Name () const | 
| Accessor method that returns a string containing the Blob name.  More... | |
| int | Size () const | 
| Accessor method that returns the number of bytes in the blob data.  More... | |
| PvlObject & | Label () | 
| Accessor method that returns a PvlObject containing the Blob label.  More... | |
| void | Read (const QString &file) | 
| This method reads Pvl values from a specified file.  More... | |
| void | Read (const QString &file, const Pvl &pvlLabels) | 
| This method reads the given a file and labels.  More... | |
| virtual void | Read (const Pvl &pvl, std::istream &is) | 
| This method reads the Blob data from an open input file stream.  More... | |
| void | Write (const QString &file) | 
| Write the blob data out to a file.  More... | |
| void | Write (Pvl &pvl, std::fstream &stm, const QString &detachedFileName="") | 
| Write the blob data out to a Pvl object.  More... | |
Protected Member Functions | |
| void | Find (const Pvl &pvl) | 
| This method searches the given Pvl for the Blob by the Blob's type and name.  More... | |
| virtual void | ReadInit () | 
| This virtual method for classes that inherit Blob.  More... | |
| virtual void | ReadData (std::istream &is) | 
| Read binary data from an input stream into the Blob object.  More... | |
| virtual void | WriteInit () | 
| This virtual method for classes that inherit Blob.  More... | |
| virtual void | WriteData (std::fstream &os) | 
| Writes blob data to a stream.  More... | |
Protected Attributes | |
| PvlObject | p_blobPvl | 
| Pvl Blob object.  More... | |
| QString | p_blobName | 
| Name of the Blob object.  More... | |
| char * | p_buffer | 
| Buffer blob data is stored in.  More... | |
| BigInt | p_startByte | 
| Byte blob data starts at in buffer.  More... | |
| int | p_nbytes | 
| Size of blob data (in bytes)  More... | |
| QString | p_type | 
| Type of data stored in the buffer.  More... | |
| QString | p_detached | 
| Used for reading detached blobs.  More... | |
| QString | p_labelFile | 
| The file containing the labels.  More... | |
Private Member Functions | |
| QString | scrub (const char *rawbuf, int rbytes) const | 
| This method will scrub all zeros that prefix the given buffer and convert it to a string using the number of allocated bytes given.  More... | |
Private Attributes | |
| QString | m_wkt | 
| Well-known text string containing the polygon defintion for this GIS blob.  More... | |
This class creates a polygon-type Isis Blob named "Footprint".
It inherits from the Isis Blob class. This Blob may be read from a given cube or the polygon maybe set using a wkt polygon string.
2012-07-15 Kris Becker - Original version.
2015-03-18 Jeannie Backer - Brought class files closer to ISIS coding standards.
2015-03-31 Jeannie Backer - Updated documentation.
2016-03-02 Ian Humphrey - Updated for coding standards compliance in preparation for adding this class to ISIS. Fixes #2398.
| Isis::GisBlob::GisBlob | ( | ) | 
Constructs an Isis polygon-type Blob named "Footprint.".
Definition at line 38 of file GisBlob.cpp.
| Isis::GisBlob::GisBlob | ( | Cube & | cube | ) | 
Constructs an Isis polygon-type Blob named "Footprint" and sets the well-known text string that defines the polygon by reading the given cube.
| cube | 
Definition at line 48 of file GisBlob.cpp.
References m_wkt, Isis::Blob::p_buffer, Isis::Blob::p_nbytes, Isis::Cube::read(), and scrub().
| Isis::GisBlob::~GisBlob | ( | ) | 
Destroys the GisBlob object.
Definition at line 57 of file GisBlob.cpp.
      
  | 
  protectedinherited | 
This method searches the given Pvl for the Blob by the Blob's type and name.
If found, the start byte, number of bytes are read from the Pvl. Also, if a keyword label pointer is found, the filename for the detached blob is stored and the pointer is removed from the blob pvl.
| pvl | The Pvl to be searched | 
Definition at line 179 of file Blob.cpp.
References _FILEINFO_, Isis::PvlContainer::isNamed(), Isis::PvlObject::object(), Isis::PvlObject::objects(), and Isis::FileName::path().
      
  | 
  inherited | 
Accessor method that returns a PvlObject containing the Blob label.
Definition at line 167 of file Blob.cpp.
Referenced by Isis::SpicePosition::CacheLabel(), Isis::SpiceRotation::CacheLabel(), Isis::DawnVirCamera::getPointingTable(), Isis::SpicePosition::LoadCache(), and Isis::SpiceRotation::LoadCache().
      
  | 
  inherited | 
Accessor method that returns a string containing the Blob name.
Definition at line 149 of file Blob.cpp.
Referenced by Isis::Shape::isFootprintable(), Isis::Image::isFootprintable(), Isis::SpicePosition::LoadCache(), and Isis::Cube::write().
| QString Isis::GisBlob::polygon | ( | ) | const | 
Accesses the well-known text string that defines the polygon.
Definition at line 66 of file GisBlob.cpp.
References m_wkt.
Referenced by Isis::GisGeometry::fromCube().
      
  | 
  inherited | 
This method reads Pvl values from a specified file.
| file | The filename to read from. | 
| iException::Io | - Unable to open file | 
| iException::Pvl | - Invalid label format | 
Definition at line 243 of file Blob.cpp.
References _FILEINFO_, and Isis::Pvl::read().
Referenced by Isis::History::History(), Isis::OriginalLabel::OriginalLabel(), Isis::History::Read(), Isis::Cube::read(), and Isis::Table::Table().
      
  | 
  inherited | 
This method reads the given a file and labels.
| file | The filename to read from. | 
| pvlLabels | A Pvl containing the label information. | 
| iException::Io | - Unable to open file | 
Definition at line 268 of file Blob.cpp.
References _FILEINFO_, and Isis::Message::FileOpen().
      
  | 
  virtualinherited | 
This method reads the Blob data from an open input file stream.
| pvl | A Pvl containing the label information. | 
| istm | The input file stream containing the blob data to be read. | 
| iException::Io | - Unable to open file | 
Reimplemented in Isis::History.
Definition at line 303 of file Blob.cpp.
References _FILEINFO_, and Isis::Message::FileOpen().
      
  | 
  protectedvirtualinherited | 
Read binary data from an input stream into the Blob object.
| stream | The input stream to read from. | 
| IException::Io | - Error reading data from stream | 
Reimplemented in Isis::ImagePolygon, and Isis::Table.
Definition at line 340 of file Blob.cpp.
References _FILEINFO_.
      
  | 
  protectedvirtualinherited | 
This virtual method for classes that inherit Blob.
It is not defined in the Blob class.
Reimplemented in Isis::Table.
      
  | 
  private | 
This method will scrub all zeros that prefix the given buffer and convert it to a string using the number of allocated bytes given.
| rawbuf | A pointer containing the raw buffer to be converted. | 
| rbytes | The number of bytes to be read in. | 
Definition at line 98 of file GisBlob.cpp.
Referenced by GisBlob(), and setPolygon().
| void Isis::GisBlob::setPolygon | ( | const QString & | wkt | ) | 
Sets the polygon using the given well-known text string.
| wkt | A string containing the well-known text that defines a polygon. | 
Definition at line 76 of file GisBlob.cpp.
References m_wkt, Isis::Blob::p_buffer, Isis::Blob::p_nbytes, and scrub().
      
  | 
  inherited | 
      
  | 
  inherited | 
Accessor method that returns a string containing the Blob type.
Definition at line 140 of file Blob.cpp.
Referenced by Isis::Shape::isFootprintable(), Isis::Image::isFootprintable(), and Isis::Cube::write().
      
  | 
  inherited | 
Write the blob data out to a file.
| file | The filename to write to. | 
| IException::Io | - Unable to open file | 
| IException::Io | - Error preparing to write data to file | 
| IException::Io | - Error creating file | 
Definition at line 369 of file Blob.cpp.
References _FILEINFO_, Isis::PvlObject::addObject(), Isis::PvlObject::findObject(), Isis::toString(), and Isis::Pvl::write().
Referenced by Isis::Cube::write().
      
  | 
  inherited | 
Write the blob data out to a Pvl object.
| pvl | The pvl object to update | 
| stm | stream to write data to | 
| detachedFileName | If the stream is detached from the labels give the name of the file | 
Definition at line 418 of file Blob.cpp.
References Isis::PvlObject::addObject(), Isis::PvlContainer::name(), Isis::PvlObject::object(), Isis::PvlObject::objects(), and Isis::toString().
      
  | 
  protectedvirtualinherited | 
Writes blob data to a stream.
| stream | Output steam blob data will be written to | 
| IException::Io | - Error writing data to stream | 
Reimplemented in Isis::ImagePolygon, and Isis::Table.
Definition at line 502 of file Blob.cpp.
References _FILEINFO_.
      
  | 
  protectedvirtualinherited | 
This virtual method for classes that inherit Blob.
It is not defined in the Blob class.
Reimplemented in Isis::ImagePolygon, Isis::Table, Isis::History, and Isis::OriginalLabel.
      
  | 
  private | 
Well-known text string containing the polygon defintion for this GIS blob.
Definition at line 63 of file GisBlob.h.
Referenced by GisBlob(), polygon(), and setPolygon().
      
  | 
  protectedinherited | 
Name of the Blob object.
Definition at line 95 of file Blob.h.
Referenced by Isis::Blob::Blob(), Isis::Table::operator+=(), Isis::Blob::operator=(), Isis::Table::ReadData(), and Isis::ImagePolygon::ReadData().
      
  | 
  protectedinherited | 
Definition at line 94 of file Blob.h.
Referenced by Isis::Blob::Blob(), Isis::Blob::operator=(), Isis::Table::ReadInit(), Isis::Table::Table(), and Isis::Table::WriteInit().
      
  | 
  protectedinherited | 
Buffer blob data is stored in.
Definition at line 97 of file Blob.h.
Referenced by Isis::Blob::Blob(), GisBlob(), Isis::Blob::operator=(), Isis::History::ReturnHist(), Isis::OriginalLabel::ReturnLabels(), setPolygon(), Isis::History::WriteInit(), and Isis::OriginalLabel::WriteInit().
      
  | 
  protectedinherited | 
Used for reading detached blobs.
Definition at line 101 of file Blob.h.
Referenced by Isis::Blob::Blob(), and Isis::Blob::operator=().
      
  | 
  protectedinherited | 
The file containing the labels.
Definition at line 102 of file Blob.h.
Referenced by Isis::Blob::Blob(), and Isis::Blob::operator=().
      
  | 
  protectedinherited | 
Size of blob data (in bytes)
Definition at line 99 of file Blob.h.
Referenced by Isis::Blob::Blob(), GisBlob(), Isis::Blob::operator=(), Isis::ImagePolygon::ReadData(), Isis::History::ReturnHist(), Isis::OriginalLabel::ReturnLabels(), setPolygon(), Isis::ImagePolygon::WriteData(), Isis::OriginalLabel::WriteInit(), Isis::History::WriteInit(), Isis::Table::WriteInit(), and Isis::ImagePolygon::WriteInit().
      
  | 
  protectedinherited | 
Byte blob data starts at in buffer.
Definition at line 98 of file Blob.h.
Referenced by Isis::Blob::Blob(), Isis::Blob::operator=(), Isis::Table::ReadData(), and Isis::ImagePolygon::ReadData().
      
  | 
  protectedinherited | 
Type of data stored in the buffer.
Definition at line 100 of file Blob.h.
Referenced by Isis::Blob::Blob(), Isis::Blob::operator=(), and Isis::ImagePolygon::ReadData().