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 "vtkGeovisCoreModule.h" // For export macro
42 #include "vtkGeoSource.h"
43 
44 class vtkGeoImageNode;
45 class vtkImageData;
47 
49 {
50 public:
51  static vtkGeoAlignedImageSource *New();
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
56  virtual bool FetchRoot(vtkGeoTreeNode* node);
57 
59  virtual bool FetchChild(vtkGeoTreeNode* parent, int index, vtkGeoTreeNode* child);
60 
62 
63  vtkGetObjectMacro(Image, vtkImageData);
64  virtual void SetImage(vtkImageData* image);
66 
68 
69  vtkSetVector2Macro(LatitudeRange, double);
70  vtkGetVector2Macro(LatitudeRange, double);
71  vtkSetVector2Macro(LongitudeRange, double);
72  vtkGetVector2Macro(LongitudeRange, double);
74 
76 
77  vtkSetClampMacro(Overlap, double, 0.0, VTK_DOUBLE_MAX);
78  vtkGetMacro(Overlap, double);
80 
82 
83  vtkSetMacro(PowerOfTwoSize, bool);
84  vtkGetMacro(PowerOfTwoSize, bool);
85  vtkBooleanMacro(PowerOfTwoSize, bool);
87 
88 protected:
91 
92  void CropImageForNode(vtkGeoImageNode* node, vtkImageData* image);
93  int PowerOfTwo(int val);
94 
97  double LatitudeRange[2];
98  double LongitudeRange[2];
99  double Overlap;
101 
102  //BTX
105  //ETX
106 
107 private:
108  vtkGeoAlignedImageSource(const vtkGeoAlignedImageSource&); // Not implemented.
109  void operator=(const vtkGeoAlignedImageSource&); // Not implemented.
110 };
111 
112 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:142
A node in a multi-resolution image tree.
A multi-resolution geographic data source.
Definition: vtkGeoSource.h:56
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:38
topologically and geometrically regular array of data
Definition: vtkImageData.h:44
vtkProgressObserver * ProgressObserver
#define VTKGEOVISCORE_EXPORT
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
Basic class to optionally replace vtkAlgorithm progress functionality.