dime  0.9.1
Portable DXF file library
Loading...
Searching...
No Matches
dimeInput Class Reference

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 dimeMemHandlergetMemHandler ()
 
class dimeModelgetModel ()
 
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)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ dimeInput()

dimeInput::dimeInput ( )

Constructor.

◆ ~dimeInput()

dimeInput::~dimeInput ( )

Destructor.

Member Function Documentation

◆ eof()

bool dimeInput::eof ( ) const

Returns true if end of file is encountered.

◆ getFilePosition()

int dimeInput::getFilePosition ( ) const

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

◆ getMemHandler()

dimeMemHandler * dimeInput::getMemHandler ( )

Returns the memory handler used in this model.

◆ getModel()

dimeModel * dimeInput::getModel ( )

Returns the model for this file.

◆ getVersion()

int dimeInput::getVersion ( ) const

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

◆ isAborted()

bool dimeInput::isAborted ( ) const

This method returns whether file input was aborted or not.

◆ isBinary()

bool dimeInput::isBinary ( ) const

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

◆ putBackGroupCode()

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.

◆ readDouble()

bool dimeInput::readDouble ( dxfdouble & val)

Reads a dxfdouble precision floating point number from the file.

◆ readFloat()

bool dimeInput::readFloat ( float & val)

Reads a single precision floating point number from the file.

◆ readGroupCode()

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.

◆ readInt16()

bool dimeInput::readInt16 ( int16 & val)

Reads a 16 bit integer from the file.

◆ readInt32()

bool dimeInput::readInt32 ( int32 & val)

Reads a 32 bit integer from the file.

◆ readInt8()

bool dimeInput::readInt8 ( int8 & val)

Reads an 8 bit integer from the file.

◆ readString()

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.

◆ readStringNoSkip()

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.

◆ relativePosition()

float dimeInput::relativePosition ( )

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

◆ setCallback()

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.

◆ setFile()

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.

◆ setFileHandle()

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.

◆ setFilePointer()

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: