Main Page | Class Hierarchy | Class List | Directories | File List | Class 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 Member Functions

 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(*)(float, void *)  cb,
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. 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.