![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: resizableCircleSymbol.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtResizableCircleSymbol_H_ 00013 #define DtResizableCircleSymbol_H_ 00014 00015 #include "symbology/circleSymbol.h" 00016 00017 #include <QtGui/QPolygon> 00018 00019 const int DtCircleSelected_Point = 0x00000004; 00020 00022 #include "symbology/symbologyDefines.h" 00023 class DT_DLL_symbology DtResizableCircleSymbol : public DtCircleSymbol 00024 { 00025 public: 00027 DtResizableCircleSymbol( DtSymbolDrawer & drawer); 00028 00030 DtResizableCircleSymbol( DtNullDrawer & drawer); 00031 00033 DtResizableCircleSymbol(const DtResizableCircleSymbol& orig); 00034 00036 DtResizableCircleSymbol& operator=(const DtResizableCircleSymbol& orig); 00037 00039 virtual ~DtResizableCircleSymbol(); 00040 00042 virtual DtSymbol * clone()const; 00043 00046 virtual bool originSelected() const; 00047 virtual bool circleSelected() const; 00048 virtual bool anythingSelected() const; 00049 00051 virtual QPoint xOriginPoint() const; 00052 virtual QPoint endPoint() const; 00053 00054 virtual void setOrigin(int x, int y); 00055 virtual void setOrigin(const QPoint& origin); 00056 00058 virtual void setRadius(const double r); 00059 00061 virtual void setOriginRadius(double r); 00062 virtual double originRadius() const; 00063 00065 virtual void setResizing(bool b); 00066 virtual bool resizing() const; 00067 00070 virtual void setCreateFixed(bool b); 00071 virtual bool createFixed() const; 00072 00076 virtual int pointSelected() const; 00077 virtual bool pointHighlighted() const; 00078 00081 virtual bool setLocationData(const QPolygon* pts); 00082 virtual const QPolygon *getLocationData() const; 00083 virtual int getNumPoints() const; 00084 virtual QPoint getPoint(int iIndex) const; 00085 00088 virtual void setKnobSize(int i); 00089 virtual int knobSize() const; 00090 00091 virtual QPoint computeEndPointForOrigin(const QPoint& origin, const QPoint& end); 00092 00097 virtual void setSelectedPoint(int i); 00098 00102 virtual int getNumVertexPoints() const; 00103 virtual const QPoint getVertexPoint(int pointNum) const; 00104 00106 virtual int setEndPoint(const QPoint& pnt); 00107 00109 virtual bool select(const QPoint &aPoint); 00110 virtual bool select(const QPoint &aPoint, const QSize &aSize); 00111 virtual bool selected() const; 00112 00113 virtual int modelPointSelected() const; 00114 protected: 00115 00116 virtual void setHighlight(const bool highlight); 00117 00120 virtual void shift(QPoint p); 00121 00122 virtual bool adjustPoints(QPolygon& pnts, bool constrain); 00123 00126 virtual bool pointSelected(const QPoint& point); 00127 00128 bool operator==(const DtResizableCircleSymbol& orig) const; 00129 bool operator!=(const DtResizableCircleSymbol& orig) const; 00130 00131 virtual bool transparentCacheChanged() const; 00132 00133 private: 00135 DtResizableCircleSymbol(); 00136 00137 protected: 00138 int mySelection; 00139 int myHighlightSelection; 00140 00141 bool myResizing; 00142 00143 double myOriginRadius; 00144 bool myCreateFixed; 00145 00146 QPolygon myPoints; 00147 int mySelectedPoint; 00148 00149 int myKnobSize; 00150 int myMouseSelectedPoint; 00151 }; 00152 00153 #endif