VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGeoProjectionSource.h 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 -------------------------------------------------------------------------*/ 00033 #include "vtkGeovisCoreModule.h" // For export macro 00034 #include "vtkGeoSource.h" 00035 00036 class vtkAbstractTransform; 00037 class vtkGeoTerrainNode; 00038 class vtkMutexLock; 00039 00040 class VTKGEOVISCORE_EXPORT vtkGeoProjectionSource : public vtkGeoSource 00041 { 00042 public: 00043 static vtkGeoProjectionSource *New(); 00044 vtkTypeMacro(vtkGeoProjectionSource,vtkGeoSource); 00045 virtual void PrintSelf( ostream& os, vtkIndent indent ); 00046 00047 vtkGeoProjectionSource(); 00048 ~vtkGeoProjectionSource(); 00049 00051 00052 virtual bool FetchRoot(vtkGeoTreeNode* root); 00053 virtual bool FetchChild(vtkGeoTreeNode* node, int index, vtkGeoTreeNode* child); 00055 00057 00058 vtkGetMacro(Projection, int); 00059 virtual void SetProjection(int projection); 00061 00063 00064 vtkGetMacro(MinCellsPerNode, int); 00065 vtkSetMacro(MinCellsPerNode, int); 00067 00069 virtual vtkAbstractTransform* GetTransform(); 00070 00071 protected: 00072 void RefineAndComputeError(vtkGeoTerrainNode* node); 00073 00074 int Projection; 00075 int MinCellsPerNode; 00076 virtual void SetTransform(vtkAbstractTransform* transform); 00077 vtkMutexLock* TransformLock; 00078 vtkAbstractTransform* Transform; 00079 00080 private: 00081 vtkGeoProjectionSource(const vtkGeoProjectionSource&); // Not implemented 00082 void operator=(const vtkGeoProjectionSource&); // Not implemented 00083 }; 00084