![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: pointObjSymbol.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef POINTOBJSYMBOL_H 00013 #define POINTOBJSYMBOL_H 00014 00015 #include "symbology/nameLabelSymbol.h" 00016 00017 00018 00019 class DtLineSymbol; 00020 class DtTTSSymbol; 00021 class QPolygon; 00022 00026 00027 #include "symbology/symbologyDefines.h" 00028 class DT_DLL_symbology DtPointObjectSymbol : public DtNameLabelSymbol 00029 { 00030 public: 00031 enum DtPointObjectAlignment 00032 { 00033 DtPointObjectCentered = 0, 00034 DtPointObjectBottomCentered = 1 00035 }; 00036 00037 public: 00038 00040 DtPointObjectSymbol(DtSymbolDrawer& d); 00041 00043 virtual ~DtPointObjectSymbol(); 00044 00046 DtPointObjectSymbol(const DtPointObjectSymbol& orig); 00047 00049 DtPointObjectSymbol& operator=(const DtPointObjectSymbol& rhs); 00050 00051 virtual void setHighlight(const bool highlight); 00052 virtual bool highlight() const; 00053 virtual void setOrigin(const QPoint & center); 00054 virtual void setOrigin(int x, int y ); 00055 virtual const DtDisplayPoint centerPoint() const; 00056 virtual const QPoint origin() const; 00057 virtual bool select(const QPoint& point); 00058 virtual bool select(const QPoint& point, const QSize& s); 00059 virtual QRect selBbox() const; 00060 virtual void shift(QPoint p); 00061 virtual DtSymbol* clone() const; 00062 00064 virtual bool adjustPoints(QPolygon& pnts, bool constrain); 00065 virtual bool supportsRightClickDialog() const; 00066 00067 void setAlignment(DtPointObjectAlignment); 00068 DtPointObjectAlignment alignment() const; 00069 00070 virtual void draw(DtSymbol* symbol, QPainter& paint) const; 00071 virtual void setRotateToHeading(bool b); 00072 virtual bool rotateToHeading() const; 00073 virtual void setRotationValue(double d); 00074 virtual double rotationValue() const; 00075 00076 private: 00078 DtPointObjectSymbol(); 00079 00080 public: 00081 static DtSymbol* create(DtSymbolDrawer& drawer); 00082 00083 protected: 00084 DtPointObjectAlignment myAlignment; 00085 double myRotationValue; 00086 bool myRotateToHeading; 00087 }; 00088 00089 inline void DtPointObjectSymbol::setAlignment(DtPointObjectAlignment i) 00090 { 00091 myAlignment = i; 00092 } 00093 00094 inline DtPointObjectSymbol::DtPointObjectAlignment DtPointObjectSymbol::alignment() const 00095 { 00096 return myAlignment; 00097 } 00098 00099 #endif