![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2006 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: movingObjectSymbol.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef MOVINGSYMBOL_H_ 00013 #define MOVINGSYMBOL_H_ 00014 00015 #include "symbology/nameLabelSymbol.h" 00016 00017 class DtLineSymbol; 00018 class DtTTSSymbol; 00019 00021 #include "symbology/symbologyDefines.h" 00022 class DT_DLL_symbology DtMovingObjectSymbol : public DtNameLabelSymbol 00023 { 00024 00025 public: 00026 00028 DtMovingObjectSymbol(DtSymbolDrawer& d); 00029 00031 virtual ~DtMovingObjectSymbol(); 00032 00034 DtMovingObjectSymbol(const DtMovingObjectSymbol& orig); 00035 00037 DtMovingObjectSymbol& operator=(const DtMovingObjectSymbol& rhs); 00038 00040 virtual void copyDataFrom(const DtSymbol* symbol); 00041 00043 virtual void setHighlight(const bool highlight); 00044 00045 virtual bool highlight() const; 00046 00047 virtual void setOrigin(int x, int y ); 00048 virtual void setOrigin(const QPoint& position); 00049 virtual const DtDisplayPoint centerPoint() const; 00050 virtual const QPoint origin() const; 00051 00052 virtual bool select(const QPoint& point); 00056 virtual bool selectPart(const QPoint& point); 00057 virtual bool select(const QPoint& point, const QSize& s); 00058 00059 virtual QSize bbox() const; 00060 virtual QRect selBbox() const; 00061 00062 virtual DtLineSymbol* velocityIndicator(); 00063 virtual void setVelocityIndicator(DtLineSymbol* s); 00064 00065 virtual DtLineSymbol* headingIndicator(); 00066 virtual void setHeadingIndicator(DtLineSymbol* s); 00067 00068 virtual DtSymbol* damagedSymbol(); 00069 virtual void setDamagedSymbol(DtSymbol* s); 00070 00071 virtual DtSymbol* objectConsoleWarningIndicator(); 00072 virtual void setObjectConsoleWarningIndicator(DtSymbol* s); 00073 00074 virtual DtTTSSymbol* location(); 00075 virtual void setLocation(DtTTSSymbol* s); 00076 00077 virtual DtTTSSymbol* velocity(); 00078 virtual void setVelocity(DtTTSSymbol* s); 00079 00080 virtual DtTTSSymbol* acceleration(); 00081 virtual void setAcceleration(DtTTSSymbol* s); 00082 00083 virtual DtTTSSymbol* heading(); 00084 virtual void setHeading(DtTTSSymbol* s); 00085 00086 virtual DtTTSSymbol* entityType(); 00087 virtual void setEntityType(DtTTSSymbol* s); 00088 00089 virtual DtSymbol* clone() const; 00090 00091 virtual int resetLabelPositions() const; 00092 00098 virtual void setPenColor(const QColor& color); 00099 00100 virtual void shift(QPoint p); 00101 00103 virtual void setRotateToHeading(bool b); 00104 virtual bool rotateToHeading() const; 00105 00107 virtual void setRotationValue(double d); 00108 virtual double rotationValue() const; 00109 00110 protected: 00111 enum DtPartSelected 00112 { 00113 DtPartSelected_None = 0, 00114 DtPartSelected_MainSymbol, 00115 DtPartSelected_HeadingIndicator 00116 }; 00117 00119 virtual DtSymbol* editableSymbol(); 00120 00121 protected: 00122 virtual void draw(DtSymbol* symbol, QPainter& paint) const; 00123 00124 private: 00126 DtMovingObjectSymbol(); 00127 00128 protected: 00129 00130 DtLineSymbol* myVelocityIndicator; 00131 DtLineSymbol* myHeadingIndicator; 00132 DtTTSSymbol* myLocation; 00133 DtTTSSymbol* myVelocity; 00134 DtTTSSymbol* myAcceleration; 00135 DtTTSSymbol* myHeading; 00136 DtTTSSymbol* myEntityType; 00137 DtSymbol* myDamagedSymbol; 00138 DtSymbol* myObjectConsoleWarningIndicator; 00139 00140 DtPartSelected myPartSelected; 00141 00142 bool myRotateToHeading; 00143 double myRotationValue; 00144 00145 bool myAllowHeadingEditOnSelection; 00146 }; 00147 00148 #endif