31 #ifndef __VSDXGEOMETRYLIST_H__ 32 #define __VSDXGEOMETRYLIST_H__ 40 class VSDXGeometryListElement;
51 void addGeometry(
unsigned id,
unsigned level,
unsigned char geomFlags);
52 void addMoveTo(
unsigned id,
unsigned level,
double x,
double y);
53 void addLineTo(
unsigned id,
unsigned level,
double x,
double y);
54 void addArcTo(
unsigned id,
unsigned level,
double x2,
double y2,
double bow);
55 void addNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
unsigned char xType,
unsigned char yType,
unsigned degree, std::vector<std::pair<double, double> > controlPoints, std::vector<double> knotVector, std::vector<double> weights);
56 void addNURBSTo(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
unsigned dataID);
57 void addPolylineTo(
unsigned id ,
unsigned level,
double x,
double y,
unsigned char xType,
unsigned char yType, std::vector<std::pair<double, double> > points);
58 void addPolylineTo(
unsigned id ,
unsigned level,
double x,
double y,
unsigned dataID);
59 void addEllipse(
unsigned id,
unsigned level,
double cx,
double cy,
double xleft,
double yleft,
double xtop,
double ytop);
60 void addEllipticalArcTo(
unsigned id,
unsigned level,
double x3,
double y3,
double x2,
double y2,
double angle,
double ecc);
61 void addSplineStart(
unsigned id,
unsigned level,
double x,
double y,
double secondKnot,
double firstKnot,
double lastKnot,
unsigned degree);
62 void addSplineKnot(
unsigned id,
unsigned level,
double x,
double y,
double knot);
63 void addInfiniteLine(
unsigned id,
unsigned level,
double x1,
double y1,
double x2,
double y2);
81 std::map<unsigned, VSDXGeometryListElement *>
m_elements;
97 VSDXPolylineTo2(
unsigned id ,
unsigned level,
double x,
double y,
unsigned dataID) :
98 m_dataID(dataID), m_id(id), m_level(level), m_x(x), m_y(y) {}
111 VSDXNURBSTo2(
unsigned id,
unsigned level,
double x2,
double y2,
double knot,
double knotPrev,
double weight,
double weightPrev,
unsigned dataID) :
112 m_dataID(dataID), m_id(id), m_level(level), m_x2(x2), m_y2(y2), m_knot(knot), m_knotPrev(knotPrev), m_weight(weight), m_weightPrev(weightPrev) {}
127 #endif // __VSDXGEOMETRYLIST_H__ Definition: VSDXGeometryList.h:43
VSDXGeometryList()
Definition: VSDXGeometryList.cpp:349
bool empty() const
Definition: VSDXGeometryList.h:67
VSDXGeometryListElement * getElement(unsigned index) const
Definition: VSDXGeometryList.cpp:481
~VSDXNURBSTo2()
Definition: VSDXGeometryList.h:113
VSDXPolylineTo2(unsigned id, unsigned level, double x, double y, unsigned dataID)
Definition: VSDXGeometryList.h:97
void addSplineKnot(unsigned id, unsigned level, double x, double y, double knot)
Definition: VSDXGeometryList.cpp:434
void addLineTo(unsigned id, unsigned level, double x, double y)
Definition: VSDXGeometryList.cpp:389
void addSplineStart(unsigned id, unsigned level, double x, double y, double secondKnot, double firstKnot, double lastKnot, unsigned degree)
Definition: VSDXGeometryList.cpp:429
VSDXNURBSTo2(unsigned id, unsigned level, double x2, double y2, double knot, double knotPrev, double weight, double weightPrev, unsigned dataID)
Definition: VSDXGeometryList.h:111
void clear()
Definition: VSDXGeometryList.cpp:473
unsigned m_level
Definition: VSDXGeometryList.h:118
~VSDXPolylineTo2()
Definition: VSDXGeometryList.h:99
void addMoveTo(unsigned id, unsigned level, double x, double y)
Definition: VSDXGeometryList.cpp:384
void addGeometry(unsigned id, unsigned level, unsigned char geomFlags)
Definition: VSDXGeometryList.cpp:379
Definition: VSDXCollector.h:40
unsigned m_dataID
Definition: VSDXGeometryList.h:102
unsigned m_level
Definition: VSDXGeometryList.h:104
Definition: VSDXGeometryList.h:94
void addNURBSTo(unsigned id, unsigned level, double x2, double y2, unsigned char xType, unsigned char yType, unsigned degree, std::vector< std::pair< double, double > > controlPoints, std::vector< double > knotVector, std::vector< double > weights)
Definition: VSDXGeometryList.cpp:399
double m_knotPrev
Definition: VSDXGeometryList.h:120
unsigned count() const
Definition: VSDXGeometryList.h:76
std::vector< unsigned > m_elementsOrder
Definition: VSDXGeometryList.h:82
VSDXGeometryList & operator=(const VSDXGeometryList &geomList)
Definition: VSDXGeometryList.cpp:364
double m_y
Definition: VSDXGeometryList.h:105
void handle(VSDXCollector *collector) const
Definition: VSDXGeometryList.cpp:451
virtual ~VSDXGeometryListElement()
Definition: VSDXGeometryList.h:89
void setElementsOrder(const std::vector< unsigned > &m_elementsOrder)
Definition: VSDXGeometryList.cpp:444
VSDXGeometryListElement()
Definition: VSDXGeometryList.h:88
Definition: VSDXGeometryList.h:108
void addArcTo(unsigned id, unsigned level, double x2, double y2, double bow)
Definition: VSDXGeometryList.cpp:394
std::map< unsigned, VSDXGeometryListElement * > m_elements
Definition: VSDXGeometryList.h:81
Definition: libvisio_utils.h:78
double m_y2
Definition: VSDXGeometryList.h:119
unsigned m_dataID
Definition: VSDXGeometryList.h:116
void addEllipticalArcTo(unsigned id, unsigned level, double x3, double y3, double x2, double y2, double angle, double ecc)
Definition: VSDXGeometryList.cpp:424
void addPolylineTo(unsigned id, unsigned level, double x, double y, unsigned char xType, unsigned char yType, std::vector< std::pair< double, double > > points)
Definition: VSDXGeometryList.cpp:409
double m_weightPrev
Definition: VSDXGeometryList.h:121
void addInfiniteLine(unsigned id, unsigned level, double x1, double y1, double x2, double y2)
Definition: VSDXGeometryList.cpp:439
void addEllipse(unsigned id, unsigned level, double cx, double cy, double xleft, double yleft, double xtop, double ytop)
Definition: VSDXGeometryList.cpp:419
Definition: VSDXGeometryList.h:85
std::vector< unsigned > getElementsOrder() const
Definition: VSDXGeometryList.h:72
~VSDXGeometryList()
Definition: VSDXGeometryList.cpp:374