/usr/include/vtk-7.1/vtkGeoTerrain.h is in libvtk7-dev 7.1.1+dfsg1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkGeoTerrain.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright 2008 Sandia Corporation.
Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
the U.S. Government retains certain rights in this software.
-------------------------------------------------------------------------*/
/**
* @class vtkGeoTerrain
* @brief A 3D terrain model for the globe.
*
*
* vtkGeoTerrain contains a multi-resolution tree of geometry representing
* the globe. It uses a vtkGeoSource subclass to generate the terrain, such
* as vtkGeoGlobeSource. This source must be set before using the terrain in
* a vtkGeoView. The terrain also contains an AddActors() method which
* will update the set of actors representing the globe given the current
* camera position.
*/
#ifndef vtkGeoTerrain_h
#define vtkGeoTerrain_h
#include "vtkGeovisCoreModule.h" // For export macro
#include "vtkObject.h"
class vtkAssembly;
class vtkCollection;
class vtkExtractSelectedFrustum;
class vtkGeoCamera;
class vtkGeoTreeNodeCache;
class vtkGeoSource;
class vtkGeoTerrainNode;
class vtkRenderer;
class VTKGEOVISCORE_EXPORT vtkGeoTerrain : public vtkObject
{
public:
static vtkGeoTerrain *New();
vtkTypeMacro(vtkGeoTerrain,vtkObject);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
/**
* The source used to obtain geometry patches.
*/
virtual vtkGeoSource* GetSource()
{ return this->GeoSource; }
virtual void SetSource(vtkGeoSource* source);
/**
* Save the set of patches up to a given maximum depth.
*/
void SaveDatabase(const char* path, int depth);
/**
* Update the actors in an assembly used to render the globe.
* ren is the current renderer, and imageReps holds the collection of
* vtkGeoAlignedImageRepresentations that will be blended together to
* form the image on the globe.
*/
void AddActors(
vtkRenderer* ren,
vtkAssembly* assembly,
vtkCollection* imageReps);
//@{
/**
* The world-coordinate origin offset used to eliminate precision errors
* when zoomed in to a particular region of the globe.
*/
vtkSetVector3Macro(Origin, double);
vtkGetVector3Macro(Origin, double);
//@}
//@{
/**
* The maximum level of the terrain tree.
*/
vtkSetClampMacro(MaxLevel, int, 0, VTK_INT_MAX);
vtkGetMacro(MaxLevel, int);
//@}
protected:
vtkGeoTerrain();
~vtkGeoTerrain();
virtual void SetGeoSource(vtkGeoSource* source);
vtkGeoSource* GeoSource;
vtkGeoTerrainNode* Root;
vtkGeoTreeNodeCache* Cache;
/**
* Initialize the terrain with a new source.
*/
void Initialize();
/**
* AddActors() calls this to setup parameters for evaluating nodes.
*/
virtual void InitializeNodeAnalysis(vtkRenderer* ren);
/**
* AddActors() calls this to determine if a node is in the current
* viewport.
*/
virtual bool NodeInViewport(vtkGeoTerrainNode* node);
/**
* AddActors() calls to to evaluate whether a node should be
* refined (1), coarsened (-1), or remain at the same level (0).
*/
virtual int EvaluateNode(vtkGeoTerrainNode* node);
/**
* Print the tree of terrain nodes.
*/
void PrintTree(ostream & os, vtkIndent indent, vtkGeoTerrainNode* node);
double Origin[3];
vtkExtractSelectedFrustum* Extractor;
virtual void SetGeoCamera(vtkGeoCamera* camera);
vtkGeoCamera* GeoCamera;
int MaxLevel;
private:
vtkGeoTerrain(const vtkGeoTerrain&) VTK_DELETE_FUNCTION;
void operator=(const vtkGeoTerrain&) VTK_DELETE_FUNCTION;
};
#endif
|