• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Geovis/vtkGeoSource.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkGeoSource.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 /*-------------------------------------------------------------------------
00016   Copyright 2008 Sandia Corporation.
00017   Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
00018   the U.S. Government retains certain rights in this software.
00019 -------------------------------------------------------------------------*/
00043 #ifndef __vtkGeoSource_h
00044 #define __vtkGeoSource_h
00045 
00046 #include "vtkObject.h"
00047 
00048 class vtkAbstractTransform;
00049 class vtkCollection;
00050 class vtkConditionVariable;
00051 class vtkGeoTreeNode;
00052 class vtkMultiThreader;
00053 class vtkMutexLock;
00054 
00055 class VTK_GEOVIS_EXPORT vtkGeoSource : public vtkObject
00056 {
00057 public:
00058   vtkTypeRevisionMacro(vtkGeoSource,vtkObject);
00059 
00060   vtkGeoSource();
00061   ~vtkGeoSource();
00062 
00064 
00065   virtual bool FetchRoot(vtkGeoTreeNode* root) = 0;
00066   virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child) = 0;
00068 
00070 
00071   virtual void RequestChildren(vtkGeoTreeNode* node);
00072   virtual vtkCollection* GetRequestedNodes(vtkGeoTreeNode* node);
00074 
00076   void Initialize(int numThreads = 1);
00077 
00079   void ShutDown();
00080 
00081   void WorkerThread();
00082 
00084   virtual vtkAbstractTransform* GetTransform() { return NULL; }
00085 
00086 protected:
00087 
00088   vtkCollection* InputSet;
00089   vtkCollection* ProcessingSet;
00090 
00092 
00093   vtkMutexLock* InputSetLock;
00094   vtkMutexLock* ProcessingSetLock;
00095   vtkMutexLock* OutputSetLock;
00097 
00098   vtkMutexLock* Lock;
00099 
00100   vtkConditionVariable* Condition;
00101 
00102   vtkMultiThreader* Threader;
00103   bool StopThread;
00104   bool Initialized;
00105 
00106   //BTX
00107   class implementation;
00108   implementation* Implementation;
00109   //ETX
00110 
00111 private:
00112   vtkGeoSource(const vtkGeoSource&); // Not implemented
00113   void operator=(const vtkGeoSource&); // Not implemented
00114 };
00115 
00116 #endif // __vtkGeoSource_h

Generated by  doxygen 1.7.1