Main Page   Class Hierarchy   Compound List   File List   Compound Members  

dimeInput Class Reference

The dimeInput class offers transparent file I/O for DXF and DXB. More...

#include <dime/Input.h>

List of all members.

Public Methods

 dimeInput ()
 ~dimeInput ()
bool setFileHandle (FILE *fp)
bool setFile (const char *const filename)
bool setFilePointer (const int fd)
bool eof () const
void setCallback (int(*cb)(float, void *), void *cbdata)
float relativePosition ()
void putBackGroupCode (const int32 code)
bool readGroupCode (int32 &code)
bool readInt8 (int8 &val)
bool readInt16 (int16 &val)
bool readInt32 (int32 &val)
bool readFloat (float &val)
bool readDouble (dxfdouble &val)
const char * readString ()
dimeModelgetModel ()
dimeMemHandlergetMemHandler ()
int getFilePosition () const
bool isBinary () const
int getVersion () const
bool isAborted () const

Friends

class dimeModel


Detailed Description

The dimeInput class offers transparent file I/O for DXF and DXB.


Constructor & Destructor Documentation

dimeInput::dimeInput  
 

Constructor.

dimeInput::~dimeInput  
 

Destructor.


Member Function Documentation

bool dimeInput::eof   const
 

Returns true if end of file is encountered.

int dimeInput::getFilePosition   const
 

For ASCII files, it returns the current line number. For binary files the file position is returned.

dimeMemHandler * dimeInput::getMemHandler  
 

Returns the memory handler used in this model.

dimeModel * dimeInput::getModel  
 

Returns the model for this file.

int dimeInput::getVersion   const
 

Returns the version of this file (10, 12, 13 or 14).

bool dimeInput::isAborted   const
 

This method returns wether file input was aborted or not.

bool dimeInput::isBinary   const
 

Returns true if this is a binary (DXB) file.

void dimeInput::putBackGroupCode const int32    code
 

This function is needed when a loader snoops for future group codes. It is possible to put back a single group code so that the next time dimeInput::readGroupCode() is called, the putback value will be returned.

bool dimeInput::readDouble dxfdouble &    val
 

Reads a dxfdouble precision floating point number from the file.

bool dimeInput::readFloat float &    val
 

Reads a single precision floating point number from the file.

bool dimeInput::readGroupCode int32 &    code
 

Reads a group code from the file. In binary files, group codes are represented as a single byte, with the exception of extended data which has 255 as the first byte, and then the actual group code following as a 16-bit integer.

bool dimeInput::readInt16 int16 &    val
 

Reads a 16 bit integer from the file.

bool dimeInput::readInt32 int32 &    val
 

Reads a 32 bit integer from the file.

bool dimeInput::readInt8 int8 &    val
 

Reads an 8 bit integer from the file.

const char * dimeInput::readString  
 

Returns a null-terminated string read from the file. The string is valid only until the next read operation, so you'd better copy it somewhere if you need it.

float dimeInput::relativePosition  
 

Returns the relative file position. 0.0 means beginning of file, 1.0 is at end of file.

void dimeInput::setCallback int(*    cb)(float, void *),
void *    cbdata
 

This method sets a progress callback that will be called with a float in the range between 0 and 1, and void * cbdata as arguments.

bool dimeInput::setFile const char *const    filename
 

Opens the file 'filename' for reading. True is returned if the file is opened correctly. File will be closed in destructor.

bool dimeInput::setFileHandle FILE *    fp
 

Sets the input data to the stream fp. \fp must be a valid file/stream, and will not be closed in the destuctor. No progress information will be avilable during loading if this method is used.

bool dimeInput::setFilePointer const int    newfd
 

Sets the file pointer for this instance. newfd is a file opened with the unistd open() function.


The documentation for this class was generated from the following files:
Copyright © 1998-1999, Systems In Motion <sales@sim.no>. All rights reserved.
System documentation was generated using doxygen.