37#include <dime/Basic.h>
38#include <dime/util/Array.h>
39#include <dime/util/Linear.h>
40#include <dime/RecordHolder.h>
44#define FLAG_DELETED 0x0001
45#define FLAG_TMP_BUFFER_SET 0x0002
46#define FLAG_VERTICES_FOLLOW 0x0004
47#define FLAG_TAGGED 0x0008
48#define FLAG_COLOR_NUMBER 0x0010
49#define FLAG_SUBCLASS_MARKER 0x0020
50#define FLAG_HANDLE 0x0040
51#define FLAG_ACAD_REACTORS 0x0080
52#define FLAG_ACAD_XDICTIONARY 0x0100
53#define FLAG_PAPERSPACE 0x0200
54#define FLAG_LINETYPE 0x0400
55#define FLAG_FIRST_FREE 0x0800
72 int16 getEntityFlags()
const;
73 void setEntityFlags(
const int16 flags);
75 int16 getColorNumber()
const;
76 void setColorNumber(
const int16 c);
78 virtual void setLayer(
const dimeLayer *
const layer);
82 const char *getLayerName()
const;
87 virtual bool isOfType(
const int thetypeid)
const;
89 virtual void print()
const {}
92 bool isDeleted()
const;
93 void setDeleted(
const bool onOff =
true);
95 bool isTagged()
const;
96 void setTagged(
const bool onOff =
true);
98 virtual bool getRecord(
const int groupcode,
100 const int index = 0)
const;
109 virtual GeometryType extractGeometry(dimeArray <dimeVec3f> &verts,
110 dimeArray <int> &indices,
112 dxfdouble &thickness);
117 virtual bool traverse(
const dimeState *
const state,
118 dimeCallback callback,
121 virtual void fixReferences(
dimeModel *
const model);
128 static dimeEntity *createEntity(
const char *
const name,
130 static bool readEntities(
dimeInput *
const file,
131 dimeArray <dimeEntity*> &array,
132 const char *
const stopat);
134 static bool copyEntityArray(
const dimeEntity *
const*
const array,
137 dimeArray <dimeEntity*> &destarray);
163 return this->colorNumber;
169 this->colorNumber = c;
173dimeEntity::getEntityFlags()
const
175 return this->entityFlags;
179dimeEntity::setEntityFlags(
const int16 flags)
181 this->entityFlags = flags;
The dimeBlock class handles a BLOCK entity.
Definition Block.h:46
The dimeEntitiesSection class handles an ENTITIES section.
Definition EntitiesSection.h:40
The dimeEntity class is the superclass of all entity classes.
Definition Entity.h:61
const dimeLayer * getLayer() const
Definition Entity.h:155
virtual const char * getEntityName() const =0
void setColorNumber(const int16 c)
Definition Entity.h:167
virtual dimeEntity * copy(dimeModel *const model) const =0
int16 getColorNumber() const
Definition Entity.h:161
The dimeInsert class handles an INSERT entity.
Definition Insert.h:43
The dimeLayer class handles layers.
Definition Layer.h:39
The dimeMatrix class is for containing and operating on a four-by-four matrix.
Definition Linear.h:159
The dimeMemHandler class is a special-purpose memory manager.
Definition MemHandler.h:39
The dimeModel class organizes a model.
Definition Model.h:55
The dimeOutput class handles writing of DXF and DXB files.
Definition Output.h:42
The dimePolyline class handles a POLYLINE entity.
Definition Polyline.h:45
The dimeRecordHolder class is a superclass for objects that store records.
Definition RecordHolder.h:44
bool copyRecords(dimeRecordHolder *const rh, dimeMemHandler *const memhandler) const
Definition RecordHolder.cpp:89
virtual bool read(dimeInput *const in)
Definition RecordHolder.cpp:119
virtual bool handleRecord(const int groupcode, const dimeParam ¶m, dimeMemHandler *const memhandler)
Definition RecordHolder.cpp:204
virtual bool isOfType(const int thetypeid) const
Definition RecordHolder.cpp:78
virtual bool write(dimeOutput *const out)
Definition RecordHolder.cpp:175
virtual bool shouldWriteRecord(const int groupcode) const
Definition RecordHolder.cpp:380
virtual int countRecords() const
Definition RecordHolder.cpp:348
virtual bool getRecord(const int groupcode, dimeParam ¶m, const int index=0) const
Definition RecordHolder.cpp:261
The dimeState class manages various state variables while the model is traversed.
Definition State.h:41
The dimeVec3f class is for containing and operating on a 3D vector / coordinate.
Definition Linear.h:62
The dimeParam class is a union of the different parameter types.
Definition Basic.h:102