33#ifndef DIME_POLYLINE_H
34#define DIME_POLYLINE_H
36#include <dime/Basic.h>
37#include <dime/entities/ExtrusionEntity.h>
38#include <dime/util/Array.h>
39#include <dime/util/Linear.h>
58 POLYMESH_CLOSED_M = 0x01,
61 IS_POLYLINE_3D = 0x08,
62 IS_POLYMESH_3D = 0x10,
63 POLYMESH_CLOSED_N = 0x20,
64 IS_POLYFACE_MESH = 0x40,
65 CONTINOUS_PATTERN = 0x80
75 int16 getFlags()
const;
76 void setFlags(
const int16 flags);
83 int16 getPolymeshCountN()
const;
84 int16 getPolymeshCountM()
const;
85 int16 getSmoothSurfaceMdensity()
const;
86 int16 getSmoothSurfaceNdensity()
const;
88 int getNumCoordVertices()
const;
89 int getNumIndexVertices()
const;
90 int getNumSplineFrameControlPoints()
const;
92 int16 getSurfaceType()
const;
93 void setSurfaceType(
const int16 type);
97 dimeVertex *getSplineFrameControlPoint(
const int index);
99 void setCoordVertices(
dimeVertex **vertices,
const int num,
101 void setIndexVertices(
dimeVertex **vertices,
const int num,
103 void setSplineFrameControlPoints(
dimeVertex **vertices,
const int num,
110 virtual bool getRecord(
const int groupcode,
112 const int index = 0)
const;
119 virtual int typeId()
const;
123 dimeArray <int> &indices,
125 dxfdouble &thickness);
127 void clearSurfaceData();
134 dimeCallback callback,
139 int numCoordVertices()
const;
140 int numIndexVertices()
const;
170dimePolyline::getFlags()
const
176dimePolyline::setFlags(
const int16 flags)
182dimePolyline::getElevation()
const
188dimePolyline::setElevation(
const dimeVec3f &e)
194dimePolyline::getPolymeshCountN()
const
200dimePolyline::getPolymeshCountM()
const
206dimePolyline::getSmoothSurfaceMdensity()
const
208 return this->smoothCountM;
212dimePolyline::getSmoothSurfaceNdensity()
const
214 return this->smoothCountN;
218dimePolyline::getNumCoordVertices()
const
220 return this->coordCnt;
224dimePolyline::getNumIndexVertices()
const
226 return this->indexCnt;
230dimePolyline::getNumSplineFrameControlPoints()
const
232 return this->frameCnt;
236dimePolyline::getCoordVertex(
const int index)
238 return this->coordVertices[index];
242dimePolyline::getIndexVertex(
const int index)
244 return this->indexVertices[index];
248dimePolyline::getSplineFrameControlPoint(
const int index)
250 return this->frameVertices[index];
254dimePolyline::getSurfaceType()
const
256 return this->surfaceType;
260dimePolyline::setSurfaceType(
const int16 type)
262 this->surfaceType = type;
The dimeEntity class is the superclass of all entity classes.
Definition Entity.h:61
virtual bool write(dimeOutput *const out)
Definition Entity.cpp:271
virtual bool read(dimeInput *const in)
Definition Entity.cpp:612
virtual void setLayer(const dimeLayer *const layer)
Definition Entity.cpp:648
virtual const char * getEntityName() const =0
virtual GeometryType extractGeometry(dimeArray< dimeVec3f > &verts, dimeArray< int > &indices, dimeVec3f &extrusionDir, dxfdouble &thickness)
Definition Entity.cpp:583
virtual dimeEntity * copy(dimeModel *const model) const =0
virtual bool traverse(const dimeState *const state, dimeCallback callback, void *userdata)
Definition Entity.cpp:541
The dimeExtrusionEntity class is the superclass of all entity classes with extrusion data.
Definition ExtrusionEntity.h:39
virtual bool handleRecord(const int groupcode, const dimeParam ¶m, dimeMemHandler *const memhandler)
Definition ExtrusionEntity.cpp:135
virtual int typeId() const
Definition ExtrusionEntity.cpp:96
virtual int countRecords() const
Definition ExtrusionEntity.cpp:113
virtual bool getRecord(const int groupcode, dimeParam ¶m, const int index=0) const
Definition ExtrusionEntity.cpp:155
The dimeLayer class handles layers.
Definition Layer.h:39
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 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 dimeVertex class handles a VERTEX entity.
Definition Vertex.h:43
The dimeParam class is a union of the different parameter types.
Definition Basic.h:102