VTK
vtkGeoImageNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGeoImageNode.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 -------------------------------------------------------------------------*/
32 #ifndef vtkGeoImageNode_h
33 #define vtkGeoImageNode_h
34 
35 #include "vtkGeovisCoreModule.h" // For export macro
36 #include "vtkGeoTreeNode.h"
37 #include "vtkSmartPointer.h" // for SP
38 #include "vtkImageData.h" // for SP
39 
40 class vtkPolyData;
41 class vtkTexture;
42 
43 class VTKGEOVISCORE_EXPORT vtkGeoImageNode : public vtkGeoTreeNode
44 {
45 public:
46  static vtkGeoImageNode *New();
48  void PrintSelf(ostream& os, vtkIndent indent);
49 
51 
58 
60 
66 
68 
72  void SetTexture(vtkTexture* texture);
74 
81  void CropImageForTile(vtkImageData* image,double* imageLonLatExt,
82  const char* prefix = 0);
83 
87  void LoadAnImage(const char* prefix);
88 
90 
93  virtual void ShallowCopy(vtkGeoTreeNode *src);
94  virtual void DeepCopy(vtkGeoTreeNode *src);
96 
97  // Returns whether this node has valid data associated
98  // with it, or if it is an "empty" node.
99  virtual bool HasData();
100 
106  virtual void DeleteData();
107 
108 protected:
111 
112  int PowerOfTwo(int val);
113 
116 
117 private:
118  vtkGeoImageNode(const vtkGeoImageNode&) VTK_DELETE_FUNCTION;
119  void operator=(const vtkGeoImageNode&) VTK_DELETE_FUNCTION;
120 };
121 
122 #endif
A node in a multi-resolution image tree.
void SetImage(vtkImageData *image)
vtkImageData * GetImage()
Get the image tile.
virtual void ShallowCopy(vtkGeoTreeNode *src)
Shallow and Deep copy.
vtkSmartPointer< vtkImageData > Image
void LoadAnImage(const char *prefix)
This loads the image from a tile database at the specified location.
int PowerOfTwo(int val)
void SetTexture(vtkTexture *texture)
virtual void DeepCopy(vtkGeoTreeNode *src)
virtual void DeleteData()
Deletes the data associated with the node to make this an "empty" node.
vtkGeoImageNode * GetChild(int idx)
Every subclass implements these methods returning the specific type.
vtkTexture * GetTexture()
Get the image tile.
vtkSmartPointer< vtkTexture > Texture
vtkGeoImageNode * GetParent()
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
static vtkGeoImageNode * New()
void CropImageForTile(vtkImageData *image, double *imageLonLatExt, const char *prefix=0)
This crops the image as small as possible while still covering the patch.
virtual bool HasData()
Returns whether this node has valid data associated with it, or if it is an "empty" node.
Stores data for a patch of the globe.
topologically and geometrically regular array of data
Definition: vtkImageData.h:46
a simple class to control print indentation
Definition: vtkIndent.h:40
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:86
handles properties associated with a texture map
Definition: vtkTexture.h:71
@ image
Definition: vtkX3D.h:374