VR-Forces 4.0.4 Class Documentation
include/bhave3DGui/generatePathDataWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 #pragma once
00007 
00008 #include "bhave3DGui/bhave3DGuiDefines.h"
00009 #include <bhave3DGui/bhavePdgThread.h>
00010 #include <bhave3DGui/boxDrawEventProcessor.h>
00011 #include <vrvUtil/signalslib.h>
00012 #include <vrvCore/DtDe.h>
00013 #include <vrvCore/DtIntersector.h>
00014 #include <vrvCoreQt/DtMenuItem.h>
00015 
00016 #include <bhavePathDataGen/extentBoxStruct.h>
00017 
00018 #include "bhave3DGui/ui_generatePathDataWidgetUi.h"
00019 
00020 
00021 #include "vrfGuiCoreQt/autoHideDock.h"
00022 #include <QtGui/QDialog>
00023 #include "vrfGuiCoreQt/autoHidePanel.h"
00024 
00025 namespace BHAVE
00026 {
00027    namespace BHAVE3DGui
00028    {
00029       enum PDGWidgetState 
00030       {
00031          INITIALIZE,
00032          START,
00033          SELECT_ALL,
00034          SELECT_BOX,
00035          GENERATING
00036       };
00037 
00038       class DT_DLL_bhave3DGui DtGeneratePathDataWidget : public makVrf::DtAutoHideDock 
00039       {
00040          Q_OBJECT
00041 
00042       public:
00043          DtGeneratePathDataWidget(QWidget *parent, makVrv::DtDe& de, DtBhavePdgThread* pdgThread, QAction* action = 0);
00044          virtual ~DtGeneratePathDataWidget();
00045          virtual void init(std::string initialTerrain);
00046 
00049          virtual void removeFromPanel();
00050 
00053          virtual void addToPanel();
00054 
00056          virtual bool isDockInPanel();
00057 
00058 
00059       protected slots:
00061          virtual void pathdataFinished(int result);
00062 
00064          virtual void performGeneration();
00065 
00067          virtual void cancelAndReset();
00068 
00072          virtual void setUiToUseAllState();
00073          virtual void setUiToSelectBoxState();
00074          virtual void setUiToStartState();
00075          virtual void setUiToGeneratingState();
00076          
00077       protected:
00078 
00080          virtual void slot_onTerrainLoaded(const std::string&);
00081          virtual void slot_onTerrainGeometryLoaded();
00082          virtual void slot_onExtentBoxChanged(const makVrv::DtIntersectorResult&, const makVrv::DtIntersectorResult&,
00083                                               const makVrv::DtIntersectorResult&,const makVrv::DtIntersectorResult&);
00084          
00086          virtual void slot_onExtentBoxCreated();
00087 
00089          virtual void slot_onExtentBoxStarted();
00090          
00092          virtual void showDrawCursor(bool show);
00093 
00095          virtual void enableGenerateBtnIfAble(bool enable);
00096 
00098          virtual void enableCoordBoxes(bool enable);
00099 
00101          virtual void clearCoordBoxes();
00102 
00104          virtual void clearDrawnBox();
00105 
00107          virtual void setExtentBox();
00108 
00110          virtual void closeEvent(QCloseEvent* event);
00111          virtual void leaveEvent(QEvent* event);
00112          virtual void enterEvent(QEvent* event);
00113 
00114       protected:
00115          Ui_DtGeneratePathDataWidgetUi* myUi;
00116          QWidget* myWidget;
00117          makVrv::DtDe* myDe;
00118          QAction*      myAction;
00119          DtBhavePdgThread* myPdgThread;
00120          DtBoxDrawEventProcessor *myBoxProcessor;
00121          bool myFirstTrigger;
00122          bool myIsGeocentric;
00123          bool myIsMTF;
00124          DtExtentBoxStruct myExtents;
00125          makVrf::DtAutoHidePanel* myPanelParent;
00126          bool myIsDockInPanel;
00127          PDGWidgetState myState;
00128       };
00129    }
00130 }
00131 

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)