VTK
vtkGeoTerrain.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGeoTerrain.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-------------------------------------------------------------------------*/
36#ifndef vtkGeoTerrain_h
37#define vtkGeoTerrain_h
38
39#include "vtkGeovisCoreModule.h" // For export macro
40#include "vtkObject.h"
41
42class vtkAssembly;
43class vtkCollection;
45class vtkGeoCamera;
47class vtkGeoSource;
49class vtkRenderer;
50
51class VTKGEOVISCORE_EXPORT vtkGeoTerrain : public vtkObject
52{
53public:
54 static vtkGeoTerrain *New();
55 vtkTypeMacro(vtkGeoTerrain,vtkObject);
56 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
57
62 { return this->GeoSource; }
64
68 void SaveDatabase(const char* path, int depth);
69
77 vtkRenderer* ren,
78 vtkAssembly* assembly,
79 vtkCollection* imageReps);
80
82
86 vtkSetVector3Macro(Origin, double);
87 vtkGetVector3Macro(Origin, double);
89
91
94 vtkSetClampMacro(MaxLevel, int, 0, VTK_INT_MAX);
95 vtkGetMacro(MaxLevel, int);
97
98protected:
101
106
111
116
122
127 virtual int EvaluateNode(vtkGeoTerrainNode* node);
128
132 void PrintTree(ostream & os, vtkIndent indent, vtkGeoTerrainNode* node);
133
134 double Origin[3];
136 virtual void SetGeoCamera(vtkGeoCamera* camera);
139
140private:
141 vtkGeoTerrain(const vtkGeoTerrain&) VTK_DELETE_FUNCTION;
142 void operator=(const vtkGeoTerrain&) VTK_DELETE_FUNCTION;
143};
144
145#endif
create hierarchies of vtkProp3Ds (transformable props)
Definition: vtkAssembly.h:76
create and manipulate unsorted lists of objects
Definition: vtkCollection.h:52
Returns the portion of the input dataset that lies within a selection frustum.
Geo interface to a camera.
Definition: vtkGeoCamera.h:84
A multi-resolution geographic data source.
Definition: vtkGeoSource.h:58
A 3D terrain model for the globe.
Definition: vtkGeoTerrain.h:52
virtual vtkGeoSource * GetSource()
The source used to obtain geometry patches.
Definition: vtkGeoTerrain.h:61
void PrintTree(ostream &os, vtkIndent indent, vtkGeoTerrainNode *node)
Print the tree of terrain nodes.
void SaveDatabase(const char *path, int depth)
Save the set of patches up to a given maximum depth.
vtkExtractSelectedFrustum * Extractor
vtkGeoSource * GeoSource
vtkGeoTreeNodeCache * Cache
void Initialize()
Initialize the terrain with a new source.
virtual int EvaluateNode(vtkGeoTerrainNode *node)
AddActors() calls to to evaluate whether a node should be refined (1), coarsened (-1),...
static vtkGeoTerrain * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGeoTerrainNode * Root
virtual void SetGeoSource(vtkGeoSource *source)
virtual void SetGeoCamera(vtkGeoCamera *camera)
virtual void InitializeNodeAnalysis(vtkRenderer *ren)
AddActors() calls this to setup parameters for evaluating nodes.
virtual void SetSource(vtkGeoSource *source)
vtkGeoCamera * GeoCamera
void AddActors(vtkRenderer *ren, vtkAssembly *assembly, vtkCollection *imageReps)
Update the actors in an assembly used to render the globe.
virtual bool NodeInViewport(vtkGeoTerrainNode *node)
AddActors() calls this to determine if a node is in the current viewport.
Manages a list of vtkGeoTreeNodes.
a simple class to control print indentation
Definition: vtkIndent.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:60
abstract specification for renderers
Definition: vtkRenderer.h:64
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_INT_MAX
Definition: vtkType.h:153