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 
55  vtkGeoImageNode* GetChild(int idx);
56  vtkGeoImageNode* GetParent();
58 
60 
63  vtkImageData* GetImage();
64  void SetImage(vtkImageData* image);
66 
68 
71  vtkTexture* GetTexture();
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:
109  vtkGeoImageNode();
110  ~vtkGeoImageNode();
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
virtual void ShallowCopy(vtkGeoTreeNode *src)
Shallow and Deep copy.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual bool HasData()
Returns whether this node has valid data associated with it, or if it is an "empty" node...
A node in a multi-resolution image tree.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
vtkSmartPointer< vtkImageData > Image
a simple class to control print indentation
Definition: vtkIndent.h:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
handles properties associated with a texture map
Definition: vtkTexture.h:70
static vtkGeoTreeNode * New()
vtkSmartPointer< vtkTexture > Texture
Stores data for a patch of the globe.
virtual void DeleteData()
Deletes the data associated with the node to make this an "empty" node.
virtual void DeepCopy(vtkGeoTreeNode *src)
Shallow and Deep copy.