36 #include <dime/Basic.h>
37 #include <dime/util/Array.h>
38 #include <dime/util/Linear.h>
39 #include <dime/Base.h>
40 #include <dime/Layer.h>
57 dimeModel(
const bool usememhandler =
false);
66 int countRecords()
const;
68 bool traverseEntities(dimeCallback callback,
69 void *userdata = NULL,
70 bool traverseBlocksSection =
false,
71 bool explodeInserts =
true,
72 bool traversePolylineVertices =
false);
74 const char *addReference(
const char *
const name,
void *
id);
75 void *findReference(
const char *
const name)
const;
76 const char *findRefStringPtr(
const char *
const name)
const;
77 void removeReference(
const char *
const name);
80 int getNumLayers()
const;
81 const class dimeLayer *getLayer(
const int idx)
const;
82 const class dimeLayer *getLayer(
const char *
const layername)
const;
83 const class dimeLayer *addLayer(
const char *
const layername,
84 const int16 colnum = 7,
85 const int16 flags = 0);
87 const char * getDxfVersion()
const;
89 static const char *getVersionString();
90 static void getVersion(
int &major,
int &minor);
91 const char *addBlock(
const char *
const blockname,
dimeBlock *
const block);
92 class dimeBlock *findBlock(
const char *
const blockname);
94 class dimeSection *findSection(
const char *
const sectionname);
95 const class dimeSection *findSection(
const char *
const sectionname)
const;
97 int getNumSections()
const;
99 void insertSection(
dimeSection *
const section,
const int idx = -1);
100 void removeSection(
const int idx);
102 void registerHandle(
const int handle);
103 void registerHandle(
const char *
const handle);
104 int getUniqueHandle();
105 const char *getUniqueHandle(
char *buf,
const int bufsize);
120 #endif // ! DIME_MODEL_H
The dimeEntity class is the superclass of all entity classes.
Definition: Entity.h:60
static const char * getVersionString()
Definition: Model.cpp:64
int getNumLayers() const
Definition: Model.cpp:415
const class dimeLayer * addLayer(const char *const layername, const int16 colnum=7, const int16 flags=0)
Definition: Model.cpp:362
The dimeLayer class handles layers.
Definition: Layer.h:38
The dimeRecord class is the superclass of all record classes.
Definition: Record.h:43
bool writeHeader()
Definition: Output.h:54
bool init()
Definition: Model.cpp:164
The dimeSection class is the superclass for all section classes.
Definition: Section.h:43
The dimeEntitiesSection class handles an ENTITIES section.
Definition: EntitiesSection.h:39
bool traverseEntities(dimeCallback callback, void *userdata=NULL, bool traverseBlocksSection=false, bool explodeInserts=true, bool traversePolylineVertices=false)
Definition: Model.cpp:516
class dimeSection * findSection(const char *const sectionname)
Definition: Model.cpp:569
static dimeSection * createSection(const char *const sectionname, dimeMemHandler *memhandler)
Definition: Section.cpp:85
const class dimeLayer * getLayer(const int idx) const
Definition: Model.cpp:386
The dimeModel class organizes a model.
Definition: Model.h:54
The dimeState class manages various state variables while the model is traversed.
Definition: State.h:40
bool remove(const char *const key)
Definition: Dict.cpp:179
class dimeBlock * getBlock(const int idx)
Definition: BlocksSection.cpp:200
void insertSection(dimeSection *const section, const int idx=-1)
Definition: Model.cpp:615
bool write(dimeOutput *const out)
Definition: Model.cpp:262
int countRecords() const
Definition: Model.cpp:485
static dimeRecord * createRecord(const int group_code, dimeMemHandler *const memhandler)
Definition: Record.cpp:173
void removeElem(const int index)
Definition: Array.h:223
void insertEntity(dimeEntity *const entity, const int idx=-1)
Definition: EntitiesSection.cpp:246
const char * addBlock(const char *const blockname, dimeBlock *const block)
Definition: Model.cpp:426
dimeEntity * getEntity(const int idx)
Definition: EntitiesSection.cpp:219
The dimeParam class is a union of the different parameter types.
Definition: Basic.h:102
const char * addReference(const char *const name, void *id)
Definition: Model.cpp:306
void removeSection(const int idx)
Definition: Model.cpp:629
void registerHandle(const int handle)
Definition: Model.cpp:643
class dimeMemHandler * getMemHandler()
Definition: Model.cpp:351
int getNumSections() const
Definition: Model.cpp:586
class dimeBlock * findBlock(const char *const blockname)
Definition: Model.cpp:439
The dimeDict class is internal / private.
Definition: Dict.h:52
void * findReference(const char *const name) const
Definition: Model.cpp:318
bool enter(const char *const key, char *&ptr, void *value)
Definition: Dict.cpp:120
const char * findRefStringPtr(const char *const name) const
Definition: Model.cpp:331
class dimeSection * getSection(const int idx)
Definition: Model.cpp:598
int count() const
Definition: Array.h:256
The dimeMemHandler class is a special-purpose memory manager.
Definition: MemHandler.h:38
virtual bool traverse(const dimeState *const state, dimeCallback callback, void *userdata)
Definition: Entity.cpp:541
The dimeOutput class handles writing of DXF and DXB files.
Definition: Output.h:41
void setCount(const int count)
Definition: Array.h:249
bool read(dimeInput *const in)
Definition: Model.cpp:189
virtual bool traverse(const dimeState *const state, dimeCallback callback, void *userdata)
Definition: Block.cpp:361
bool writeString(const char *const str)
Definition: Output.cpp:222
void fixReferences(dimeModel *const model)
Definition: BlocksSection.cpp:157
The dimeBlock class handles a BLOCK entity.
Definition: Block.h:45
int getNumEntities() const
Definition: EntitiesSection.cpp:209
void addEntity(dimeEntity *entity)
Definition: Model.cpp:679
void fixReferences(dimeModel *const model)
Definition: EntitiesSection.cpp:176
dimeModel * copy() const
Definition: Model.cpp:132
void removeReference(const char *const name)
Definition: Model.cpp:341
dimeModel(const bool usememhandler=false)
Definition: Model.cpp:99
const char * find(const char *const key) const
Definition: Dict.cpp:147
int getNumBlocks() const
Definition: BlocksSection.cpp:190
The dimeBlocksSection class handles a BLOCKS section.
Definition: BlocksSection.h:39
~dimeModel()
Definition: Model.cpp:113
bool writeGroupCode(const int groupcode)
Definition: Output.cpp:139
const char * getDxfVersion() const
Definition: Model.cpp:453
Copyright © by Kongsberg Oil & Gas Technologies. All rights reserved.
Generated on Tue Mar 24 2020 14:02:59 for Dime by Doxygen 1.8.17.