VR-Forces 4.1 Class Documentation
lineSymbol.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: lineSymbol.h,v $ $Revision: 1.38 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DtLineSymbol_H_
13 #define DtLineSymbol_H_
14 
16 
17 #include "ngutil/linkedList.h"
18 #include "ngutil/dtqlist.h"
19 
20 class DtNullDrawer;
21 class DtPoint;
22 
28 {
29 public:
30 
32  DtLineSymbol( DtSymbolDrawer & drawer);
33  DtLineSymbol( DtSymbolDrawer & drawer,
34  const QPoint & startPoint, const QPoint & endPoint);
35  DtLineSymbol( DtNullDrawer & drawer);
36 
37  DtLineSymbol(const DtLineSymbol& orig);
38  DtLineSymbol& operator=(const DtLineSymbol& orig);
39 
40  virtual ~DtLineSymbol();
41  virtual DtSymbol * clone()const;
42 
44  {
45  DtLineSelected_None = -2,
46  DtLineSelected_Line = -1,
47  DtLineSelected_Point
48  };
49 
51  DtStyle_NoArrow = 0,
64  DtStyle_NoArrowDrawLine,
66  DtStyle_ArrowStyle_MAX
67  };
68 
70  virtual unsigned width() const;
71  virtual void setWidth(unsigned w);
72 
74  virtual void setLineWidth(int i);
75 
76  //Center Point is calculated
77  virtual const DtDisplayPoint centerPoint() const;
78  virtual void shift(QPoint p);
79 
81  virtual void setStartPosition(const QPoint& position);
82  virtual QPoint startPosition() const;
83 
85  virtual void setEndPosition(const QPoint& position);
86  virtual QPoint endPosition() const;
87 
88  virtual void setNumPoints(const int num);
89  virtual int getNumPoints() const;
90 
91  virtual void addPoint(const QPoint* pnt);
92  virtual void insertPoint(int iIndex, const QPoint* pnt);
93  virtual void removePoint(int iIndex);
94 
95  virtual const QPoint getPoint(int pointNum) const;
96  virtual void setPoint(int pointNum,const QPoint* pnt);
97  virtual bool setLocationData(const QPolygon* pts);
98  virtual const QPolygon* getLocationData() const;
99 
101 
104  virtual bool select(const QPoint& aPoint);
105  virtual bool selected() const;
106 
109  virtual bool select(const QPoint& aPoint,
110  const QSize& rectangleSize);
111 
113  virtual void reverseLine();
114 
117  virtual void setKnobSize(int i);
118  virtual int knobSize() const;
119 
120  virtual void setHighlight(const bool highlight);
121 
123  virtual bool pointHighlighted() const;
124 
126  virtual int pointSelected() const;
127  virtual void selectPoint(int iPoint);
128  virtual void clearSelection();
129 
131  virtual bool pointSelected(const QPoint& pnt);
132 
135  virtual void setLineSelected(bool b, int iSegment = -1);
136  virtual int segmentSelected() const;
137 
141  virtual int getNumVertexPoints() const;
142  virtual const QPoint getVertexPoint(int pointNum) const;
143 
145  virtual void setCanAddPoint(bool b);
146  virtual bool canAddPoint() const;
147 
151  virtual bool setAndCalculatePoint(int iIndex, const QPoint& pnt);
152 
154  virtual bool setAndCalculatePoint(int iIndex, const DtPoint& pnt, QVector<DtPoint>* list);
155 
159  virtual void setFixedLength(int iLen);
160 
162  static double calculateLineAngle(const QPoint& origin, const QPoint& end);
163 
165  virtual DtArrowStyle arrowStyle() const;
167  virtual void setArrowStyle(DtArrowStyle style);
168 
172  virtual void setDrawVertexPoints(const QVector<int> pnts);
173 
176  virtual int getVertexOffset(int index) const;
177 
180  virtual int mapPointSelectedToIndex(int iPointSelected) const;
181 
183  virtual void setPenStyle(Qt::PenStyle style);
184  virtual Qt::PenStyle penStyle() const;
185 
186 
188  virtual bool isSkipPoint(int pointNum) const;
189 
193  virtual bool freehand() const;
194  virtual void setFreehand(bool b);
195 
196  bool operator==(const DtLineSymbol& orig) const;
197  bool operator!=(const DtLineSymbol& orig) const;
198 
199  virtual bool transparentCacheChanged() const;
200 
202  virtual bool keepAspectRatio() const;
203 
205  virtual bool originIsCenterOfMass() const;
206 
207 protected:
208 
209  //Center Point is calculated
210  virtual const DtDisplayPoint calcCenterPoint() const;
211  virtual const DtDisplayPoint calcCenterPoint(QPoint& pnt) const;
212 
213 private:
215  DtLineSymbol();
216 
217 protected:
218 
219  QPolygon* myPoints;
220  unsigned myWidth;
221 
224 
226  QVector<int> myDrawVertexPoints;
227 
230 
232 
234 
236 };
237 
238 #endif

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)