dime
0.9.1
Portable DXF file library
|
The dimeInput class offers transparent file I/O for DXF and DXB. More...
#include <dime/Input.h>
Public Member Functions | |
dimeInput () | |
~dimeInput () | |
bool | eof () const |
int | getFilePosition () const |
class dimeMemHandler * | getMemHandler () |
class dimeModel * | getModel () |
int | getVersion () const |
bool | isAborted () const |
bool | isBinary () const |
void | putBackGroupCode (const int32 code) |
bool | readDouble (dxfdouble &val) |
bool | readFloat (float &val) |
bool | readGroupCode (int32 &code) |
bool | readInt16 (int16 &val) |
bool | readInt32 (int32 &val) |
bool | readInt8 (int8 &val) |
const char * | readString () |
const char * | readStringNoSkip () |
float | relativePosition () |
void | setCallback (int(*cb)(float, void *), void *cbdata) |
bool | setFile (const char *const filename) |
bool | setFileHandle (FILE *fp) |
bool | setFilePointer (const int fd) |
The dimeInput class offers transparent file I/O for DXF and DXB.
dimeInput::dimeInput | ( | ) |
Constructor.
dimeInput::~dimeInput | ( | ) |
Destructor.
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 whether 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 put back 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.
const char * dimeInput::readStringNoSkip | ( | ) |
Special version of readString() that does not skip leading blanks. This is used for reading TEXT primary values, group_code = 1.
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. fp must be a valid file/stream, and will not be closed in the destructor. No progress information will be available 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.