VR-Forces 4.0.4 Class Documentation
include/tmEventHandler/overlayPublisherHandler.h
Go to the documentation of this file.
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_

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)