BIE
Overview
Quick Start
Theoretical overview
Available methods
Parallel chains
Computation engine
Command Line Interface
Graphical User Interface
Assigning Output
Visualization tool
Data handling
Software technology
Parallel debugging
Results to date
Recent developments
Links
User guide
Future features
Project goals
Project Team
Copyright and license
|
/home/weinberg/src/BIE/include/TessToolController.h00001
00002
00003 #ifndef TessToolController_h
00004 #define TessToolController_h
00005
00006 #ifdef HAVE_CONFIG_H
00007 # include <config.h>
00008 #endif
00009
00010 #include <cc++/thread.h>
00011
00012 using namespace std;
00013 using namespace ost;
00014
00015 #include "TessToolReader.h"
00016 #include "TessToolReceiver.h"
00017 #include "CliCommandThread.h"
00018 #include "CliOutputReceiveThread.h"
00019 #include "TessToolConsole.h"
00020 #include "TessToolVTK.h"
00021
00022
00023 namespace BIE {
00024
00025 class TessToolGUI;
00026 class TessToolController;
00027
00028
00030 class TessToolController: public Thread
00031 {
00032
00033
00034 private:
00035 int _argc;
00036 char **_argv;
00037 bool _stop;
00038
00039 Semaphore *_controllerVTK;
00040 Semaphore *_controllerCLI;
00041 Semaphore *_controllerRX;
00042
00043 Semaphore *_rcvrThreadSem;
00044 Semaphore *_clisem;
00045 Semaphore *_working;
00046 Semaphore *_mainsem;
00047
00048 TessToolDataStream *_rcvrthread;
00049 CliCommandThread *_clithread;
00050 CliOutputReceiveThread *_clilogger;
00051 ConsoleLogThread *_consoleLog;
00052 TessToolVTK *_vtkThread;
00053
00054 TessToolGUI *_gui;
00055
00056 bool _sentInitialScript;
00057 bool _startedCLICommandLoop;
00058 bool _startedVTK;
00059 int _xwinWidth, _xwinHeight;
00060
00061 char *_scriptFileName;
00062 char *_workingDirName;
00063 char *_dataFileName;
00064
00065
00066 static const int sample1 = 2;
00067 static const int sample2 = 3;
00068
00069 public:
00070 TessToolController(int argc, char *argv[], Semaphore *mainSem);
00071 ~TessToolController();
00072 void run();
00073 void sendScriptFile(string scriptfile);
00074 istream *sendCommand(string cmd);
00075 bool isTessToolReceiverConnected();
00076 TessToolGUI *getGUI() { return _gui; };
00077 TessToolVTK *getVTK() { return _vtkThread; };
00078
00079 void startCLICommandLoop();
00080 void startVTK();
00081 void sampleNext();
00082 void visualize();
00083 void updateBIEOutputView(char *buffer);
00084 void updateVTK();
00085 void setHueLow(float l);
00086 void setHueHigh(float l);
00087 void setSaturationLow(float l);
00088 void setSaturationHigh(float l);
00089 void setValueLow(float l);
00090 void setValueHigh(float l);
00091 void setAlphaLow(float l);
00092 void setAlphaHigh(float l);
00093 void setVTKWindow(int width, int height);
00094 vtkCellPicker *getVTKCellPicker();
00095 vtkRenderer *getVTKRenderer();
00096 vtkRenderWindow *getVTKRenderWindow();
00097 vtkGtkRenderWindowInteractor *getVTKRenderWindowInteractor();
00098 void initVTK();
00099 void setScalarName(char *);
00100 void setScalarInfoName(char *);
00101 void setScriptFileName(char *fn);
00102 char* getScriptFileName();
00103 void setWorkingDirName(char *fn);
00104 void setDataFileName(char *fn);
00105 char* getDataFileName();
00106 void quitTessTool();
00107
00108 void setScalarMean();
00109 void setScalarVariance();
00110 void setScalarMax();
00111 void setScalarMin();
00112 void setScalarMaxDifferenceModelData();
00113
00114 static TessToolController* _guiController;
00115 };
00116
00117 }
00118 #endif
Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU.
Documentation generated at Fri Mar 26 00:35:11 2010 by
|