Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

qgar::MapleFile Class Reference
[Files]

#include <qgarlib/MapleFile.H>

Inheritance diagram for qgar::MapleFile:

qgar::AbstractFile List of all members.

Detailed Description

File containing a Maple program.

Warning:
Using default destructor.
Todo:
No function to read a Maple file (except MapleFile::readHeader, that is a pure virtual function and must be implemented).
Author:
Karl Tombre
Date:
Jul, 3 2001 9:23
Since:
Qgar 1.0

Definition at line 76 of file MapleFile.H.

Public Member Functions

Constructors
 MapleFile (char *aFileName, GreyLevelImage &aGlvImg, int aTesselation=1)
 Initialize from a grey-level image.
 MapleFile (char *aFileName, FloatImage &aFloatImg, int aTesselation=1)
 Initialize from a float image.
 MapleFile (char *aFileName, Histogram &aHistogram)
 Initialize from a histogram.
Destructor
virtual ~MapleFile ()
 Virtual destructor.
Access to file characteristics
std::fstream & fileStream ()
 Get file stream.
const char *const fileName () const
 Get file name.
QGEfileStatus fileStatus () const
 Get current file status.
Opening
virtual void openRONLY () throw (QgarErrorIO)
 Open in read-only mode.
virtual void openWONLY () throw (QgarErrorIO)
 Open in write-only mode.
virtual void openAPPEND () throw (QgarErrorIO)
 Open in append mode.
virtual void openRW () throw (QgarErrorIO)
 Open in read-write mode.
virtual void openRA () throw (QgarErrorIO)
 Open in read-append mode.
Closing
virtual void close ()
 Close the file.
Checking status
virtual void isOpenR () throw (QgarErrorUser)
 Abort if the file is not open in a mode allowing reading.
virtual void isOpenW () throw (QgarErrorUser)
 Abort if the file is not open in a mode allowing writing.
virtual void isOpenA () throw (QgarErrorUser)
 Abort if the file is not open in a mode allowing appending.
virtual void isOpenRW () throw (QgarErrorUser)
 Abort if the file is not open in read-write mode.
virtual void isOpenRA () throw (QgarErrorUser)
 Abort if the file is not open in readi-append mode.

Protected Member Functions

Input
virtual void readHeader ()
 Read file header.
Output
virtual void writeHeader ()
 Write file header.
virtual void writeFooter ()
 Write file footer.

Protected Attributes

Representation of a file
char * _fileName
 File name.
QGEfileStatus _fileStatus
 File status.
std::fstream _fileStream
 Associated file stream.


Constructor & Destructor Documentation

qgar::MapleFile::MapleFile char *  aFileName,
GreyLevelImage aGlvImg,
int  aTesselation = 1
 

Initialize from a grey-level image.

The file is open in write-only mode. It includes the code to draw the surface of the grey-level image aGlvmg. The axes of the resulting image are set so as to put the surface in the same reference frame as the image is when it is displayed. To visualize the corresponding surface, load the resulting file using Maple command read.

Parameters:
aFileName name of the file
aGlvImg a grey-level image
aTesselation sampling rate in the image (default 1)

Definition at line 60 of file MapleFile.C.

References qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::GenImage< T, CheckPolicy >::height(), qgar::AbstractFile::openWONLY(), qgar::GenImage< T, CheckPolicy >::pixel(), and qgar::GenImage< T, CheckPolicy >::width().

qgar::MapleFile::MapleFile char *  aFileName,
FloatImage aFloatImg,
int  aTesselation = 1
 

Initialize from a float image.

The file is open in write-only mode. It includes the code to draw the surface of the float image aGlvmg. The axes of the resulting image are set so as to put the surface in the same reference frame as the image is when it is displayed. To visualize the corresponding surface, load the resulting file using Maple command read.

Parameters:
aFileName name of the file
aFloatImg the float image to initialize this instance from
aTesselation sampling rate in the image (default 1)

Definition at line 109 of file MapleFile.C.

References qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::GenImage< T, CheckPolicy >::height(), qgar::AbstractFile::openWONLY(), qgar::GenImage< T, CheckPolicy >::pixel(), and qgar::GenImage< T, CheckPolicy >::width().

qgar::MapleFile::MapleFile char *  aFileName,
Histogram aHistogram
 

Initialize from a histogram.

The file is open in write-only mode. It includes the code to draw the histogram as a curve. image aGlvmg. To visualize the corresponding surface, load the resulting file using Maple command read.

Parameters:
aFileName name of the file
aHistogram a histogram

Definition at line 155 of file MapleFile.C.

References qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::Histogram::lowerBnd(), qgar::AbstractFile::openWONLY(), qgar::Histogram::samplingRate(), and qgar::Histogram::upperBnd().

qgar::MapleFile::~MapleFile  )  [virtual]
 

Virtual destructor.

Definition at line 197 of file MapleFile.C.


Member Function Documentation

void qgar::AbstractFile::close  )  [virtual, inherited]
 

Close the file.

No effect is the file is already closed.

Warning:
If the file is currently open in write-only or read-write modes, a footer is written into the file using function qgar::AbstractFile::writeFooter.

Definition at line 251 of file AbstractFile.C.

References qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::QGE_FILE_STATUS_CLOSED, qgar::QGE_FILE_STATUS_READ_WRITE, qgar::QGE_FILE_STATUS_WRITE_ONLY, and qgar::AbstractFile::writeFooter().

Referenced by qgar::GenImage< T, CheckPolicy >::GenImage(), MapleFile(), qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), qgar::AbstractFile::openRONLY(), qgar::AbstractFile::openRW(), qgar::AbstractFile::openWONLY(), and qgar::GenImage< T, CheckPolicy >::save().

const char *const qgar::AbstractFile::fileName  )  const [inline, inherited]
 

Get file name.

Definition at line 395 of file AbstractFile.H.

References qgar::AbstractFile::_fileName.

QGEfileStatus qgar::AbstractFile::fileStatus  )  const [inline, inherited]
 

Get current file status.

Definition at line 404 of file AbstractFile.H.

References qgar::AbstractFile::_fileStatus.

std::fstream & qgar::AbstractFile::fileStream  )  [inline, inherited]
 

Get file stream.

When saving the stream, usual I/O operations apply to the associated file, depending on the opening mode.

Definition at line 386 of file AbstractFile.H.

References qgar::AbstractFile::_fileStream.

void qgar::AbstractFile::isOpenA  )  throw (QgarErrorUser) [virtual, inherited]
 

Abort if the file is not open in a mode allowing appending.

Exceptions:
qgar::QgarErrorUser (file not open in append mode)

Definition at line 310 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::QGE_FILE_STATUS_APPEND, and qgar::QGE_FILE_STATUS_READ_APPEND.

void qgar::AbstractFile::isOpenR  )  throw (QgarErrorUser) [virtual, inherited]
 

Abort if the file is not open in a mode allowing reading.

Exceptions:
qgar::QgarErrorUser (file not open in read mode)

Definition at line 273 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::QGE_FILE_STATUS_APPEND, and qgar::QGE_FILE_STATUS_WRITE_ONLY.

Referenced by qgar::PgmFile::readRow(), and qgar::PbmFile::readRow().

void qgar::AbstractFile::isOpenRA  )  throw (QgarErrorUser) [virtual, inherited]
 

Abort if the file is not open in readi-append mode.

Exceptions:
qgar::QgarErrorUser (file not open in read/append mode)

Definition at line 347 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_APPEND.

void qgar::AbstractFile::isOpenRW  )  throw (QgarErrorUser) [virtual, inherited]
 

Abort if the file is not open in read-write mode.

Exceptions:
qgar::QgarErrorUser (file not open in read/write mode)

Definition at line 329 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_WRITE.

void qgar::AbstractFile::isOpenW  )  throw (QgarErrorUser) [virtual, inherited]
 

Abort if the file is not open in a mode allowing writing.

Exceptions:
qgar::QgarErrorUser (file not open in write mode)

Definition at line 292 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, and qgar::QGE_FILE_STATUS_READ_ONLY.

Referenced by qgar::TgifFile::write(), qgar::DxfFile::write(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow().

void qgar::AbstractFile::openAPPEND  )  throw (QgarErrorIO) [virtual, inherited]
 

Open in append mode.

The eventual content of the file is preserved and the file pointer is set to the end of the file.

Warning:
The file header is read using function qgar::AbstractFile::readHeader.
Exceptions:
qgar::QgarErrorIO (file cannot be opened)

Definition at line 166 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_APPEND, and qgar::AbstractFile::readHeader().

void qgar::AbstractFile::openRA  )  throw (QgarErrorIO) [virtual, inherited]
 

Open in read-append mode.

The file pointer is set to the end of the file.

Warning:
The file header is read using function qgar::AbstractFile::readHeader.
Exceptions:
qgar::QgarErrorIO (file cannot be opened)

Definition at line 223 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_APPEND, and qgar::AbstractFile::readHeader().

void qgar::AbstractFile::openRONLY  )  throw (QgarErrorIO) [virtual, inherited]
 

Open in read-only mode.

The file pointer is set to the first character after the header.

Warning:
The file header is read using function qgar::AbstractFile::readHeader.
Exceptions:
qgar::QgarErrorIO (file cannot be opened)

Definition at line 107 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_ONLY, and qgar::AbstractFile::readHeader().

Referenced by qgar::GenImage< T, CheckPolicy >::GenImage().

void qgar::AbstractFile::openRW  )  throw (QgarErrorIO) [virtual, inherited]
 

Open in read-write mode.

Warning:
The file is new and a header is written into the file using function qgar::AbstractFile::writeHeader. If a file with given name already exists, its content is lost.
Exceptions:
qgar::QgarErrorIO (file cannot be opened)

Definition at line 197 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_READ_WRITE, and qgar::AbstractFile::writeHeader().

void qgar::AbstractFile::openWONLY  )  throw (QgarErrorIO) [virtual, inherited]
 

Open in write-only mode.

Warning:
The file is new and a header is written into the file using function qgar::AbstractFile::writeHeader. If a file with given name already exists, its content is lost.
Exceptions:
qgar::QgarErrorIO (file cannot be opened)

Definition at line 136 of file AbstractFile.C.

References qgar::AbstractFile::_fileName, qgar::AbstractFile::_fileStatus, qgar::AbstractFile::_fileStream, qgar::AbstractFile::close(), qgar::QGE_FILE_STATUS_WRITE_ONLY, and qgar::AbstractFile::writeHeader().

Referenced by MapleFile(), and qgar::GenImage< T, CheckPolicy >::save().

void qgar::MapleFile::readHeader  )  [protected, virtual]
 

Read file header.

Implements qgar::AbstractFile.

Definition at line 211 of file MapleFile.C.

void qgar::MapleFile::writeFooter  )  [protected, virtual]
 

Write file footer.

Implements qgar::AbstractFile.

Definition at line 229 of file MapleFile.C.

void qgar::MapleFile::writeHeader  )  [protected, virtual]
 

Write file header.

Implements qgar::AbstractFile.

Definition at line 220 of file MapleFile.C.

References qgar::AbstractFile::_fileStream.


Member Data Documentation

char* qgar::AbstractFile::_fileName [protected, inherited]
 

File name.

Definition at line 349 of file AbstractFile.H.

Referenced by qgar::AbstractFile::fileName(), qgar::PbmFile::getBit(), qgar::AbstractPbmPlusFile::getChar(), qgar::AbstractPbmPlusFile::getInt(), qgar::AbstractPbmPlusFile::getRawByte(), qgar::AbstractFile::isOpenA(), qgar::AbstractFile::isOpenR(), qgar::AbstractFile::isOpenRA(), qgar::AbstractFile::isOpenRW(), qgar::AbstractFile::isOpenW(), qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), qgar::AbstractFile::openRONLY(), qgar::AbstractFile::openRW(), qgar::AbstractFile::openWONLY(), qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), qgar::DxfFile::readHeader(), qgar::DxfFile::retrieveChainOrQgarPolyline(), and qgar::AbstractFile::~AbstractFile().

QGEfileStatus qgar::AbstractFile::_fileStatus [protected, inherited]
 

File status.

Definition at line 354 of file AbstractFile.H.

Referenced by qgar::AbstractFile::close(), qgar::AbstractFile::fileStatus(), qgar::AbstractFile::isOpenA(), qgar::AbstractFile::isOpenR(), qgar::AbstractFile::isOpenRA(), qgar::AbstractFile::isOpenRW(), qgar::AbstractFile::isOpenW(), qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), qgar::AbstractFile::openRONLY(), qgar::AbstractFile::openRW(), and qgar::AbstractFile::openWONLY().

std::fstream qgar::AbstractFile::_fileStream [protected, inherited]
 

Associated file stream.

Definition at line 359 of file AbstractFile.H.

Referenced by qgar::TgifFile::beginSavePoly(), qgar::AbstractFile::close(), qgar::TgifFile::endSavePoly(), qgar::AbstractFile::fileStream(), qgar::AbstractPbmPlusFile::getChar(), qgar::AbstractPbmPlusFile::getRawByte(), MapleFile(), qgar::AbstractFile::openAPPEND(), qgar::AbstractFile::openRA(), qgar::AbstractFile::openRONLY(), qgar::AbstractFile::openRW(), qgar::AbstractFile::openWONLY(), qgar::PgmFile::readHeader(), qgar::PbmFile::readHeader(), qgar::DxfFile::retrieveDxfGroup(), qgar::TgifFile::saveArc(), qgar::TgifFile::saveBox(), qgar::TgifFile::saveChain(), qgar::TgifFile::saveCircle(), qgar::DxfFile::saveDxfGroup(), qgar::TgifFile::savePoint(), qgar::TgifFile::savePolyline(), qgar::TgifFile::saveSegment(), qgar::TgifFile::writeHeader(), qgar::PgmFile::writeHeader(), qgar::PbmFile::writeHeader(), writeHeader(), qgar::DxfFile::writeHeader(), qgar::PgmFile::writeRow(), and qgar::PbmFile::writeRow().


The documentation for this class was generated from the following files: