![]() |
VR-Forces 4.0.4 Class Documentation
|
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 <vrvUtil/signalslib.h> 00010 #include <QtCore/QThread> 00011 #include <QtCore/QMutex> 00012 #include <QtCore/QWaitCondition> 00013 00014 #include <bhavePathDataGen/extentBoxStruct.h> 00015 00016 namespace BHAVE 00017 { 00018 namespace BHAVE3DGui 00019 { 00020 class DT_DLL_bhave3DGui DtBhavePdgThread : public QThread 00021 { 00022 Q_OBJECT 00023 00024 public: 00025 explicit DtBhavePdgThread(QObject *parent = 0); 00026 00027 ~DtBhavePdgThread(); 00028 00031 virtual void run(); 00032 00033 virtual void startGeneration(); 00034 virtual bool isGenerating(); 00035 00036 virtual void setLoadedTerrain(const std::string& terrainName); 00037 virtual std::string loadedTerrain(); 00038 00039 virtual void setExtent(const DtExtentBoxStruct& extent); 00040 00041 virtual void setGeocentric(bool isGeocentric); 00042 00043 signals: 00044 void finishedGenerating(int result); 00045 00046 protected: 00048 virtual void generatePathdata(); 00049 00050 protected: 00051 std::string myLoadedTerrain; 00052 QMutex myTerrainLock; 00053 DtExtentBoxStruct myExtent; 00054 QMutex myExtentLock; 00055 QWaitCondition myGeneratingPDG; 00056 QMutex myGeneratingPDGLock; 00057 bool myIsGenerating; 00058 bool myIsGeocentric; 00059 }; 00060 00061 } 00062 } 00063