dime  0.9.1
Portable DXF file library
Loading...
Searching...
No Matches
dimeClass Class Referenceabstract

The dimeClass class is the superclass for all the class classes. More...

#include <dime/classes/Class.h>

Inheritance diagram for dimeClass:
dimeRecordHolder dimeBase dimeUnknownClass

Public Member Functions

 dimeClass ()
 
virtual ~dimeClass ()
 
virtual dimeClasscopy (dimeModel *const model) const =0
 
virtual int countRecords () const
 
const char * getApplicationName () const
 
const char * getClassName () const
 
virtual const char * getDxfClassName () const =0
 
int8 getFlag280 () const
 
int8 getFlag281 () const
 
int32 getVersionNumber () const
 
virtual bool isOfType (const int thetypeid) const
 
virtual bool read (dimeInput *const in)
 
void setApplicationName (const char *const appname, dimeMemHandler *const memhandler=NULL)
 
void setClassName (const char *const classname, dimeMemHandler *const memhandler=NULL)
 
void setFlag280 (const int8 flag)
 
void setFlag281 (const int8 flag)
 
void setVersionNumber (const int32 v)
 
virtual bool write (dimeOutput *const out)
 
- Public Member Functions inherited from dimeRecordHolder
 dimeRecordHolder (const int separator)
 
virtual ~dimeRecordHolder ()
 
dimeRecordfindRecord (const int groupcode, const int index=0)
 
int getNumRecordsInRecordHolder (void) const
 
virtual bool getRecord (const int groupcode, dimeParam &param, const int index=0) const
 
dimeRecordgetRecordInRecordHolder (const int idx) const
 
void setIndexedRecord (const int groupcode, const dimeParam &value, const int index, dimeMemHandler *const memhandler=NULL)
 
void setRecord (const int groupcode, const dimeParam &value, dimeMemHandler *const memhandler=NULL)
 
void setRecords (const int *const groupcodes, const dimeParam *const params, const int numrecords, dimeMemHandler *const memhandler=NULL)
 
- Public Member Functions inherited from dimeBase
 dimeBase (void)
 
virtual ~dimeBase ()
 
void operator delete (void *ptr)
 
void * operator new (size_t size, dimeMemHandler *memhandler=NULL, const int alignment=4)
 
virtual int typeId () const =0
 

Static Public Member Functions

static dimeClasscreateClass (const char *const name, dimeMemHandler *const memhandler=NULL)
 

Protected Member Functions

bool copyRecords (dimeClass *const newclass, dimeModel *const model) const
 
virtual bool handleRecord (const int groupcode, const dimeParam &param, dimeMemHandler *const memhandler)
 
- Protected Member Functions inherited from dimeRecordHolder
bool copyRecords (dimeRecordHolder *const rh, dimeMemHandler *const memhandler) const
 
virtual bool shouldWriteRecord (const int groupcode) const
 

Additional Inherited Members

- Public Types inherited from dimeBase
enum  {
  dimeBaseType = 1 , dimeRecordType , dimeStringRecordType , dimeFloatRecordType ,
  dimeDoubleRecordType , dimeInt8RecordType , dimeInt16RecordType , dimeInt32RecordType ,
  dimeHexRecordType , dimeRecordHolderType , dimeClassType , dimeUnknownClassType ,
  dimeObjectType , dimeUnknownObjectType , dimeEntityType , dimeUnknownEntityType ,
  dimePolylineType , dimeVertexType , dimeFaceEntityType , dimeExtrusionEntityType ,
  dime3DFaceType , dimeSolidType , dimeTraceType , dimeLineType ,
  dimeTextType , dimePointType , dimeBlockType , dimeInsertType ,
  dimeCircleType , dimeArcType , dimeLWPolylineType , dimeEllipseType ,
  dimeSplineType , dimeSectionType , dimeUnknownSectionType , dimeEntitiesSectionType ,
  dimeBlocksSectionType , dimeTablesSectionType , dimeHeaderSectionType , dimeClassesSectionType ,
  dimeObjectsSectionType , dimeTableType , dimeTableEntryType , dimeUnknownTableType ,
  dimeUCSTableType , dimeLayerTableType , dimeLastTypeTag
}
 
- Protected Attributes inherited from dimeRecordHolder
int numRecords
 
dimeRecord ** records
 

Detailed Description

The dimeClass class is the superclass for all the class classes.

Constructor & Destructor Documentation

◆ dimeClass()

dimeClass::dimeClass ( )

Constructor.

◆ ~dimeClass()

dimeClass::~dimeClass ( )
virtual

Destructor.

Member Function Documentation

◆ copy()

dimeClass * dimeClass::copy ( dimeModel *const model) const
pure virtual

Must be implemented by subclasses to return a copy of the class.

Implemented in dimeUnknownClass.

◆ copyRecords()

bool dimeClass::copyRecords ( dimeClass *const myclass,
dimeModel *const model ) const
protected

Copies the common and unclassified records.

◆ countRecords()

int dimeClass::countRecords ( ) const
virtual

Returns the number of records in the record holder. Should be overloaded by subclasses which should count their records, and then call the parent's method. This method is used to precalculate the number of records to be written. Very useful when progress information is needed during write().

Reimplemented from dimeRecordHolder.

Reimplemented in dimeUnknownClass.

◆ createClass()

dimeClass * dimeClass::createClass ( const char *const name,
dimeMemHandler *const memhandler = NULL )
static

Static function which creates a class based on its name.

◆ getApplicationName()

const char * dimeClass::getApplicationName ( ) const
inline

Returns the class application name.

◆ getClassName()

const char * dimeClass::getClassName ( ) const
inline

Returns the C++ class name.

◆ getDxfClassName()

const char * dimeClass::getDxfClassName ( ) const
pure virtual

Must be implemented by subclasses to return the DXF name of the class.

Implemented in dimeUnknownClass.

◆ getFlag280()

int8 dimeClass::getFlag280 ( ) const
inline

Returns the flag with group code 280.

◆ getFlag281()

int8 dimeClass::getFlag281 ( ) const
inline

Returns the flag with group code 281.

◆ getVersionNumber()

int32 dimeClass::getVersionNumber ( ) const
inline

Returns the version number of this class.

◆ handleRecord()

bool dimeClass::handleRecord ( const int groupcode,
const dimeParam & param,
dimeMemHandler *const memhandler )
protectedvirtual

Must be overloaded by entities that directly support a record type. During dimeRecordHolder::read(), dimeRecordHolder::setRecord and dimeRecordHolder::setRecords, this function is called for every record found, and it is up to the subclass if the record should be stored internally, or if a generic record should be created and stored in this superclass. A subclass should return true when it will handle the record, false otherwise. Default function does nothing, and returns false.

For entities, records with group codes 8 (layer name) and 62 (color number) are automatically handled by the dimeEntity class.

See also
dimeRecordHolder::read()
dimeRecordHolder::setRecord()

Reimplemented from dimeRecordHolder.

◆ isOfType()

bool dimeClass::isOfType ( const int thetypeid) const
virtual

Returns true if the object is of type typeid or is inherited from it. Function in base class checks whether thetypeid equals the virtual dimeBase::typeId() value or equals dimeBaseType. Must be implemented by all subclasses that are superclasses of other classes, and should check if thetypeid equals its typeId, and then call its parent's isOfType function. Leaf-classes do not have to implement this method.

Reimplemented from dimeRecordHolder.

◆ read()

bool dimeClass::read ( dimeInput *const file)
virtual

Reads a class from in. Can be overloaded by subclasses, but in most cases this will not be necessary.

See also
dimeClass::handleRecord().

Reimplemented from dimeRecordHolder.

◆ setApplicationName()

void dimeClass::setApplicationName ( const char *const appname,
dimeMemHandler *const memhandler = NULL )

Sets the application name for this class.

◆ setClassName()

void dimeClass::setClassName ( const char *const classname,
dimeMemHandler *const memhandler = NULL )

Sets the C++ class name for this class.

◆ setFlag280()

void dimeClass::setFlag280 ( const int8 flag)
inline

Sets the flag for the flag with group code 280.

◆ setFlag281()

void dimeClass::setFlag281 ( const int8 flag)
inline

Sets the group code for the flag with group code 281.

◆ setVersionNumber()

void dimeClass::setVersionNumber ( const int32 v)
inline

Sets the version number for this class.

◆ write()

bool dimeClass::write ( dimeOutput *const file)
virtual

Writes common and unknown class records to file.

Reimplemented from dimeRecordHolder.

Reimplemented in dimeUnknownClass.


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