![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2003 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: overlayPublisherHandler.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DTOVERLAYPUBLISHERHANDLER_H_ 00013 #define DTOVERLAYPUBLISHERHANDLER_H_ 00014 00015 #include "tmqt/eventHandler.h" 00016 #include "ngutil/entityMapperKey.h" 00017 #include "geometry/point.h" 00018 00019 #include <QtCore/QStringList> 00020 00021 class DtEntityMapperKey; 00022 class DtEntityIdentifier; 00023 class DtModelData; 00024 class DtOverlaySymbolDescriptor; 00025 class DtTerrainModelData; 00026 class DtList; 00027 class DtSymbol; 00028 00029 #include "tmEventHandler/tmEventHandlerDefines.h" 00030 class DT_DLL_tmEventHandler DtOverlayPublisherHandler : public DtEventHandler 00031 { 00032 Q_OBJECT 00033 00034 public: 00035 00037 DtOverlayPublisherHandler(); 00038 00040 virtual ~DtOverlayPublisherHandler(); 00041 00042 public: 00050 virtual void create(const DtOverlaySymbolDescriptor* desc, QString name, QString label, QColor color, 00051 QVector<DtPoint>& pnts, const DtEntityMapperKey& key, int force, int appearance, bool publish, 00052 const QString& attachTo, DtArchivableObject* userData, const DtTerrainModelData* data = NULL); 00053 00054 virtual void edit(QString name, QString label, QColor color, QVector<DtPoint>& pnts, 00055 DtModelData* data, int force, int appearance, bool publish, DtArchivableObject* userData); 00056 00057 virtual bool canPublish() const; 00058 virtual bool isPublished(const DtModelData* data) const; 00059 00062 virtual QString generateName(const QString& baseName, const DtOverlaySymbolDescriptor* desc = NULL) const; 00063 00064 virtual void getVertices(QVector<DtPoint>& modelPoints, const DtModelData* data) const; 00065 00068 virtual void reparentOverlayObject(const QString& oldParent, const QString& newParent, 00069 const DtModelKey& objectKey, int iIndex); 00070 00073 void setEmitCreateSignal(bool); 00074 bool emitCreateSignal() const; 00075 00076 void setObjectType(const DtEntityMapperKey&); 00077 00078 public: 00080 static DtEventHandler* create(DtEventController* owner, void* usr); 00081 static QString generateKey(); 00082 00089 virtual QStringList parents(const DtEntityMapperKey& key, bool published, QString overlayName = ""); 00090 00091 signals: 00093 void creationSignal(const DtString& name, 00094 const DtEntityMapperKey& type, 00095 const DtList& vertices, 00096 const DtString& label, 00097 int appearance, 00098 int force, 00099 bool projection, 00100 bool closedFigure, 00101 DtReal heading, 00102 bool createSubObjects, 00103 DtSymbol* tempSymbol); 00104 00105 void editSignal(const DtString& name, 00106 const DtEntityMapperKey& type, 00107 const DtList& vertices, 00108 const DtString& label, 00109 int appearance, 00110 int force, 00111 DtReal heading, 00112 DtSymbol* tempSymbol); 00113 00114 protected: 00115 static int gNumObjectsCreated; 00116 static int gNumKeysGenerated; 00117 00118 bool myEmitCreateSignal; 00119 00121 DtEntityMapperKey myCurrentObjectType; 00122 }; 00123 00124 inline void DtOverlayPublisherHandler::setObjectType(const DtEntityMapperKey& t) 00125 { 00126 myCurrentObjectType = t; 00127 } 00128 00129 inline void DtOverlayPublisherHandler::setEmitCreateSignal(bool b) 00130 { 00131 myEmitCreateSignal = b; 00132 } 00133 00134 inline bool DtOverlayPublisherHandler::emitCreateSignal() const 00135 { 00136 return myEmitCreateSignal; 00137 } 00138 00139 #endif //DTOVERLAYPUBLISHERHANDLER_H_