VR-Forces 4.0.4 Class Documentation
include/vrvCoreQt/DtCloudLayerDialogLogic.h
Go to the documentation of this file.
00001 /********************************************************************
00002  * Copyright (c) 2011 MaK Technologies, Inc.
00003  * All rights reserved.
00004  ********************************************************************/
00005 /********************************************************************
00006  * $RCSfile: DtCloudLayerDialogLogic.h,v $ $Revision: 1.19 $ $State: Exp $
00007  ********************************************************************/
00008 
00012 
00013 #pragma once
00014 #include <vrvCoreQt/vrvCoreQt.h>
00015 #include <vrvUtil/DtSignalConnectionManager.h>
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 #include <makArchives/DtCloudLayerRecord.h>
00018 #include <makArchives/DtDisplayUnitsSettingsRecord.h>
00019 #include <string>
00020 
00021 class QString;
00022 class DtVector;
00023 
00024 namespace makVrv
00025 {
00026 
00027    class DtCloudLayerDialogInterface;
00028 
00032    class DT_DLL_VRVCOREQT DtCloudLayerDialogLogic : public DtVirtualBaseClass
00033    {
00034    public:
00035 
00037       friend class DtCloudLayerDialogLogicCreator;
00038 
00040       virtual ~DtCloudLayerDialogLogic();
00041 
00044       virtual void onCoordSysChanged( const QString& s );
00045 
00048       virtual void onCloudTypeChanged(const QString& type);
00049 
00051       virtual const makArchives::DtCloudLayerRecord* record();
00052 
00054       virtual void editLayer(const makArchives::DtCloudLayerRecord& rec);
00055 
00058       virtual void centerOnObserver();
00059 
00061       double currentLayerAltitude() const;
00062 
00064       virtual void setCurrentLayerAltitude(double alt);
00065 
00068       virtual void centerOnTerrain();
00069 
00071       virtual void setPositionFromDisplayUnitStrings(QString x, QString y, QString z);
00072 
00074       virtual void setWidthFromDisplayUnit(double duValue);
00075 
00077       virtual void setLengthFromDisplayUnit(double duValue);
00078       
00080       virtual void setThicknessFromDisplayUnit(double duValue);
00081 
00083       virtual void setDensity(double value);
00084 
00085    protected:
00086 
00088       DtCloudLayerDialogLogic( DtDe& de, DtCloudLayerDialogInterface* iFace );
00089 
00091       virtual void initGui();
00092 
00096       void updateCloudLayerTypeProperties();
00097 
00100       void updateCloudLayerPositionProperties();
00101 
00103       void updateCloudLayerSizeProperties();
00104 
00107       QString translateCloudType(const std::string& cloudType);
00108 
00111       std::string untranslateCloudType(const QString& cloudType);
00112 
00115       DtVector convertStringCoords(QString x, QString y, QString z);
00116       
00117    protected:
00118       DtDe& myDe;
00119       DtSignalConnectionManager mySignals;
00120       DtCloudLayerDialogInterface* myInterface;
00121       makArchives::DtDisplayUnitsSettingsRecord::CoordSys myCoordSys;
00122       makArchives::DtCloudLayerRecord myCloudLayerRecord;
00123    };
00124 
00126    class DT_DLL_VRVCOREQT DtCloudLayerDialogLogicCreator : public DtVirtualBaseClass
00127    {
00128    public:
00129 
00131       static DtCloudLayerDialogLogicCreator& instance(DtDe& de);
00132 
00134       static void registerInstance(DtDe& de, DtCloudLayerDialogLogicCreator*);
00135 
00137       virtual DtCloudLayerDialogLogic* create( DtDe& de, 
00138          DtCloudLayerDialogInterface* iFace);
00139    };
00140 }

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)