VTK
vtkGeoAlignedImageSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGeoAlignedImageSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
38 #ifndef __vtkGeoAlignedImageSource_h
39 #define __vtkGeoAlignedImageSource_h
40 
41 #include "vtkGeoSource.h"
42 
43 class vtkGeoImageNode;
44 class vtkImageData;
46 
48 {
49 public:
50  static vtkGeoAlignedImageSource *New();
52  void PrintSelf(ostream& os, vtkIndent indent);
53 
55  virtual bool FetchRoot(vtkGeoTreeNode* node);
56 
58  virtual bool FetchChild(vtkGeoTreeNode* parent, int index, vtkGeoTreeNode* child);
59 
61 
62  vtkGetObjectMacro(Image, vtkImageData);
63  virtual void SetImage(vtkImageData* image);
65 
67 
68  vtkSetVector2Macro(LatitudeRange, double);
69  vtkGetVector2Macro(LatitudeRange, double);
70  vtkSetVector2Macro(LongitudeRange, double);
71  vtkGetVector2Macro(LongitudeRange, double);
73 
75 
76  vtkSetClampMacro(Overlap, double, 0.0, VTK_DOUBLE_MAX);
77  vtkGetMacro(Overlap, double);
79 
81 
82  vtkSetMacro(PowerOfTwoSize, bool);
83  vtkGetMacro(PowerOfTwoSize, bool);
84  vtkBooleanMacro(PowerOfTwoSize, bool);
86 
87 protected:
90 
91  void CropImageForNode(vtkGeoImageNode* node, vtkImageData* image);
92  int PowerOfTwo(int val);
93 
96  double LatitudeRange[2];
97  double LongitudeRange[2];
98  double Overlap;
100 
101  //BTX
102  class vtkProgressObserver;
103  vtkProgressObserver* ProgressObserver;
104  //ETX
105 
106 private:
107  vtkGeoAlignedImageSource(const vtkGeoAlignedImageSource&); // Not implemented.
108  void operator=(const vtkGeoAlignedImageSource&); // Not implemented.
109 };
110 
111 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:133
A node in a multi-resolution image tree.
A multi-resolution geographic data source.
Definition: vtkGeoSource.h:55
virtual bool FetchChild(vtkGeoTreeNode *node, int index, vtkGeoTreeNode *child)=0
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:37
topologically and geometrically regular array of data
Definition: vtkImageData.h:43
#define VTK_GEOVIS_EXPORT
vtkProgressObserver * ProgressObserver
Stores data for a patch of the globe.
Composite dataset that organizes datasets into blocks.
static vtkObject * New()
vtkMultiBlockDataSet * LevelImages
Splits hi-res image into tiles.
virtual bool FetchRoot(vtkGeoTreeNode *root)=0