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
40class vtkPolyData;
41class vtkTexture;
42
43class VTKGEOVISCORE_EXPORT vtkGeoImageNode : public vtkGeoTreeNode
44{
45public:
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
108protected:
111
112 int PowerOfTwo(int val);
113
116
117private:
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)
vtkGeoImageNode * GetChild(int idx)
Every subclass implements these methods returning the specific type.
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.
vtkGeoImageNode * GetParent()
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.
vtkImageData * GetImage()
Get the image tile.
vtkTexture * GetTexture()
Get the image tile.
static vtkGeoImageNode * New()
vtkSmartPointer< vtkTexture > Texture
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
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