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
62 friend class dimeEntitiesSection;
63 friend class dimeModel;
64 friend class dimePolyline;
65 friend class dimeBlock;
66 friend class dimeInsert;
72 int16 getEntityFlags()
const;
73 void setEntityFlags(
const int16 flags);
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,
111 dimeVec3f &extrusionDir,
112 dxfdouble &thickness);
115 bool preWrite(dimeOutput *
const file);
117 virtual bool traverse(
const dimeState *
const state,
118 dimeCallback callback,
121 virtual void fixReferences(dimeModel *
const model);
123 const dimeParam ¶m,
124 dimeMemHandler *
const memhandler);
128 static dimeEntity *createEntity(
const char *
const name,
129 dimeMemHandler *
const memhandler = NULL);
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,
136 dimeModel *
const model,
137 dimeArray <dimeEntity*> &destarray);
138 static dimeEntity **copyEntityArray(
const dimeEntity *
const*
const array,
140 dimeModel *
const model);
142 static void arbitraryAxis(
const dimeVec3f &givenaxis, dimeVec3f &newaxis);
143 static void generateUCS(
const dimeVec3f &givenaxis, dimeMatrix &m);
146 bool copyRecords(dimeEntity *
const entity, dimeModel *
const model)
const;
149 const dimeLayer *layer;
163 return this->colorNumber;
169 this->colorNumber = c;
173dimeEntity::getEntityFlags()
const
175 return this->entityFlags;
179dimeEntity::setEntityFlags(
const int16 flags)
181 this->entityFlags = flags;
virtual dimeEntity * copy(dimeModel *const model) const =0
dimeEntity()
Definition Entity.cpp:181
const char * getLayerName() const
Definition Entity.cpp:463
virtual const char * getEntityName() const =0
const dimeLayer * getLayer() const
Definition Entity.h:155
virtual void setLayer(const dimeLayer *const layer)
Definition Entity.cpp:648
void setColorNumber(const int16 c)
Definition Entity.h:167
int16 getColorNumber() const
Definition Entity.h:161
The dimeLayer class handles layers.
Definition Layer.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
bool copyRecords(dimeRecordHolder *const rh, dimeMemHandler *const memhandler) const
Definition RecordHolder.cpp:89
virtual bool read(dimeInput *const in)
Definition RecordHolder.cpp:119
dimeRecordHolder(const int separator)
Definition RecordHolder.cpp:57
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:379
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 dimeParam class is a union of the different parameter types.
Definition Basic.h:102