BALL  1.4.1
standardDatasets.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 // $Id: standardDatasets.h,v 1.1.4.1 2007-03-25 21:25:42 oliver Exp $
00005 //
00006 
00007 #ifndef BALL_VIEW_DATATYPE_STANDARDDATASETS_H
00008 #define BALL_VIEW_DATATYPE_STANDARDDATASETS_H
00009 
00010 #ifndef BALL_VIEW_DATATYPE_DATASET_H
00011 # include <BALL/VIEW/DATATYPE/dataset.h>
00012 #endif
00013 
00014 #ifndef BALL_DATATYPE_REGULARDATA1D_H
00015 # include <BALL/DATATYPE/regularData1D.h>
00016 #endif 
00017 
00018 #ifndef BALL_DATATYPE_REGULARDATA2D_H
00019 # include <BALL/DATATYPE/regularData2D.h>
00020 #endif 
00021 
00022 #ifndef BALL_DATATYPE_REGULARDATA3D_H
00023 # include <BALL/DATATYPE/regularData3D.h>
00024 #endif 
00025 
00026 #ifndef BALL_VIEW_DATATYPE_RAYTRACEABLEGRID_H
00027 # include <BALL/VIEW/DATATYPE/raytraceableGrid.h>
00028 #endif
00029 
00030 #ifndef BALL_VIEW_DATATYPE_RAYTRACEABLECONTOURSURFACEDIALOG_H
00031 # include <BALL/VIEW/DIALOGS/raytraceableContourSurfaceDialog.h>
00032 #endif
00033 
00034 #ifndef BALL_MATHS_VECTOR3_H
00035 # include <BALL/MATHS/vector3.h>
00036 #endif
00037 
00038 namespace BALL
00039 {
00040   class TrajectoryFile;
00041   class SnapShotManager;
00042   class DockResult;
00043 
00044   namespace VIEW
00045   {
00046     class ContourSurfaceDialog;
00047     class SnapshotVisualisationDialog;
00048     class FieldLinesDialog;
00049     class GridVisualizationDialog;
00050     class ColorRGBA;
00051 
00052 
00053 BALL_CREATE_DATASET(RegularData3D)
00054 
00055 
00057 class BALL_VIEW_EXPORT RegularData3DController
00058   : public DatasetController
00059 {
00060   Q_OBJECT
00061 
00062   public:
00063 
00064   BALL_EMBEDDABLE(RegularData3DController,DatasetController)
00065 
00066   
00067   RegularData3DController();
00068 
00070   RegularData3DController(RegularData3DController& dc);
00071 
00073   virtual ~RegularData3DController();
00074 
00076   virtual bool write();
00077 
00079   virtual bool write(Dataset* set, String filetype, String filename);
00080 
00082   virtual Dataset* open(String filetype, String filename);
00083 
00085   virtual bool createMenuEntries();
00086 
00088   virtual QMenu* buildContextMenu(QTreeWidgetItem* item);
00089 
00091   bool computeIsoContourSurface(Dataset& data, const ColorRGBA& color, float value);
00092 
00094   Size getNextPowerOfTwo_(Size in) const;
00095   
00097   bool isGridSizePowerOfTwo(const RegularData3D& grid) const;
00098   
00100   RegularData3D* resizeGrid(const RegularData3D& grid);
00101 
00103   RegularData3D* createHistogramGrid(const RegularData3D& grid);
00104 
00106   RegularData3D* getData(Dataset* set);
00107 
00108   static String type;
00109 
00110   public slots:
00111 
00113   bool createVectorGrid();
00114 
00116   bool createRaytraceableGrid();
00117 
00119   void computeIsoContourSurface();
00120   
00122   void resizeGrid();
00123 
00125   void createHistogramGrid();
00126 
00128   void visualizeGrid();
00129 
00131   void createSphere();
00132 
00133   protected:
00134 
00135   void deleteDataset_(Dataset* set);
00136 
00137   ContourSurfaceDialog*     dialog_;
00138   GridVisualizationDialog*  grid_dialog_;
00139 };
00140 
00141 
00142 BALL_CREATE_DATASET(SnapShotManager)
00143 
00144 
00146 class BALL_VIEW_EXPORT TrajectoryController
00147   : public DatasetController
00148 {
00149   Q_OBJECT
00150 
00151   public:
00152 
00153   BALL_EMBEDDABLE(TrajectoryController,DatasetController)
00154 
00155   
00156   TrajectoryController();
00157 
00159   TrajectoryController(TrajectoryController& dc);
00160 
00162   virtual ~TrajectoryController();
00163 
00165   virtual bool write(Dataset* set, String filetype, String filename);
00166 
00168   virtual Dataset* open(String filetype, String filename);
00169 
00171   virtual bool createMenuEntries();
00172 
00174   virtual QMenu* buildContextMenu(QTreeWidgetItem* item);
00175 
00177   SnapShotManager* getData(Dataset* set);
00178 
00179   static String type;
00180 
00181   public slots:
00182 
00184   bool visualizeTrajectory();
00185 
00187   bool bufferTrajectory();
00188 
00189   protected:
00190   void deleteDataset_(Dataset* set);
00191 
00192   SnapshotVisualisationDialog*  dialog_;
00193 };
00194 
00196 
00197 BALL_CREATE_DATASET(DockResult)
00198 
00199 
00201 class BALL_VIEW_EXPORT DockResultController
00202   : public DatasetController
00203 {
00204   Q_OBJECT
00205 
00206   public:
00207 
00208   BALL_EMBEDDABLE(DockResultController,DatasetController)
00209 
00210   
00211   DockResultController();
00212 
00214   DockResultController(DockResultController& dc);
00215 
00217   virtual ~DockResultController();
00218 
00220   virtual bool write(Dataset* set, String filetype, String filename);
00221 
00223   virtual Dataset* open(String filetype, String filename);
00224 
00226   virtual bool createMenuEntries();
00227 
00229   virtual QMenu* buildContextMenu(QTreeWidgetItem* item);
00230 
00232   DockResult* getData(Dataset* set);
00233 
00234   static String type;
00235 
00236   public slots:
00237 
00239   void showDockResult();
00240 
00242   bool saveDockTrajectory();
00243 
00244   protected:
00245 
00246   void deleteDataset_(Dataset* set);
00247 };
00248 
00250 
00251 typedef TRegularData3D<Vector3> VectorGrid;
00252 
00253 BALL_CREATE_DATASET(VectorGrid)
00254 
00255 
00257 class BALL_VIEW_EXPORT VectorGridController
00258   : public DatasetController
00259 {
00260   Q_OBJECT
00261 
00262   public:
00263 
00264   BALL_EMBEDDABLE(VectorGridController,DatasetController)
00265 
00266   
00267   VectorGridController();
00268 
00270   VectorGridController(VectorGridController& dc);
00271 
00273   virtual ~VectorGridController();
00274 
00276   virtual bool write(Dataset* set, String filetype, String filename);
00277 
00279   virtual Dataset* open(String filetype, String filename);
00280 
00282   virtual bool createMenuEntries();
00283 
00285   virtual QMenu* buildContextMenu(QTreeWidgetItem* item);
00286 
00288   VectorGrid* getData(Dataset* set);
00289 
00290   static String type;
00291 
00292   public slots:
00293 
00295   bool visualizeFieldLines();
00296   
00297   protected:
00298 
00299   void deleteDataset_(Dataset* set);
00300 
00301   FieldLinesDialog*   dialog_;
00302 };
00303 
00305 
00306 BALL_CREATE_DATASET(RaytraceableGrid)
00307 
00308 
00310 class BALL_VIEW_EXPORT RaytraceableGridController
00311   : public DatasetController
00312 {
00313   Q_OBJECT
00314 
00315   public:
00316 
00317   BALL_EMBEDDABLE(RaytraceableGridController, DatasetController)
00318 
00319   
00320   RaytraceableGridController();
00321 
00323   RaytraceableGridController(RaytraceableGridController& rc);
00324 
00326   virtual ~RaytraceableGridController();
00327 
00329   virtual bool createMenuEntries();
00330 
00332   virtual bool write(Dataset* set, String filetype, String filename);
00333 
00335   virtual QMenu* buildContextMenu(QTreeWidgetItem* item);
00336 
00338   RaytraceableGrid* getData(Dataset* set);
00339 
00340   static String type;
00341 
00342   public slots:
00343   
00345   void  visualizeRaytraceableContourSurface();
00346 
00347 
00348   protected:
00349 
00350   void deleteDataset_(Dataset* set);
00351   RaytraceableContourSurfaceDialog* rt_contour_surface_dialog_;
00352 };
00353 
00354   } // namespace VIEW
00355 } // namespace BALL
00356 
00357 #endif // BALL_VIEW_DATATYPE_STANDARDDATASETS_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines