Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

vtkGeoTerrain Class Reference

A 3D terrain model for the globe. More...

#include <vtkGeoTerrain.h>

Inheritance diagram for vtkGeoTerrain:
Inheritance graph
[legend]
Collaboration diagram for vtkGeoTerrain:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
void SaveDatabase (const char *path, int depth)

virtual vtkGeoSource * GetSource ()
virtual void SetSource (vtkGeoSource *source)

void AddActors (vtkRenderer *ren, vtkAssembly *assembly, vtkCollection *imageReps)

virtual void SetOrigin (double, double, double)
virtual void SetOrigin (double[3])
virtual double * GetOrigin ()
virtual void GetOrigin (double &, double &, double &)
virtual void GetOrigin (double[3])

virtual void SetMaxLevel (int)
virtual int GetMaxLevel ()

Static Public Member Functions

static vtkGeoTerrain * New ()
static int IsTypeOf (const char *type)
static vtkGeoTerrain * SafeDownCast (vtkObject *o)

Protected Member Functions

 vtkGeoTerrain ()
 ~vtkGeoTerrain ()
virtual void SetGeoSource (vtkGeoSource *source)
void Initialize ()
virtual void InitializeNodeAnalysis (vtkRenderer *ren)
virtual bool NodeInViewport (vtkGeoTerrainNode *node)
virtual int EvaluateNode (vtkGeoTerrainNode *node)
void PrintTree (ostream &os, vtkIndent indent, vtkGeoTerrainNode *node)
virtual void SetGeoCamera (vtkGeoCamera *camera)

Protected Attributes

vtkGeoSource * GeoSource
vtkGeoTerrainNode * Root
double Origin [3]
vtkExtractSelectedFrustum * Extractor
vtkGeoCamera * GeoCamera
int MaxLevel

Detailed Description

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.

Tests:
vtkGeoTerrain (Tests)

Definition at line 48 of file vtkGeoTerrain.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

Definition at line 52 of file vtkGeoTerrain.h.


Constructor & Destructor Documentation

vtkGeoTerrain::vtkGeoTerrain (  )  [protected]
vtkGeoTerrain::~vtkGeoTerrain (  )  [protected]

Member Function Documentation

static vtkGeoTerrain* vtkGeoTerrain::New (  )  [static]

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

virtual const char* vtkGeoTerrain::GetClassName (  )  [virtual]

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

static int vtkGeoTerrain::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

virtual int vtkGeoTerrain::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

static vtkGeoTerrain* vtkGeoTerrain::SafeDownCast ( vtkObject *  o  )  [static]

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

virtual void vtkGeoTerrain::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

Reimplemented in vtkGeoTerrain2D.

virtual vtkGeoSource* vtkGeoTerrain::GetSource (  )  [inline, virtual]

The source used to obtain geometry patches.

Definition at line 57 of file vtkGeoTerrain.h.

virtual void vtkGeoTerrain::SetSource ( vtkGeoSource *  source  )  [virtual]

The source used to obtain geometry patches.

void vtkGeoTerrain::SaveDatabase ( const char *  path,
int  depth 
)

Save the set of patches up to a given maximum depth.

void vtkGeoTerrain::AddActors ( vtkRenderer *  ren,
vtkAssembly *  assembly,
vtkCollection *  imageReps 
)

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.

virtual void vtkGeoTerrain::SetOrigin ( double  ,
double  ,
double   
) [virtual]

The world-coordinate origin offset used to eliminate precision errors when zoomed in to a particular region of the globe.

virtual void vtkGeoTerrain::SetOrigin ( double  [3]  )  [virtual]

The world-coordinate origin offset used to eliminate precision errors when zoomed in to a particular region of the globe.

virtual double* vtkGeoTerrain::GetOrigin (  )  [virtual]

The world-coordinate origin offset used to eliminate precision errors when zoomed in to a particular region of the globe.

virtual void vtkGeoTerrain::GetOrigin ( double &  ,
double &  ,
double &   
) [virtual]

The world-coordinate origin offset used to eliminate precision errors when zoomed in to a particular region of the globe.

virtual void vtkGeoTerrain::GetOrigin ( double  [3]  )  [virtual]

The world-coordinate origin offset used to eliminate precision errors when zoomed in to a particular region of the globe.

virtual void vtkGeoTerrain::SetMaxLevel ( int   )  [virtual]

The maximum level of the terrain tree.

virtual int vtkGeoTerrain::GetMaxLevel (  )  [virtual]

The maximum level of the terrain tree.

virtual void vtkGeoTerrain::SetGeoSource ( vtkGeoSource *  source  )  [protected, virtual]
void vtkGeoTerrain::Initialize (  )  [protected]

Initialize the terrain with a new source.

virtual void vtkGeoTerrain::InitializeNodeAnalysis ( vtkRenderer *  ren  )  [protected, virtual]

AddActors() calls this to setup parameters for evaluating nodes.

Reimplemented in vtkGeoTerrain2D.

virtual bool vtkGeoTerrain::NodeInViewport ( vtkGeoTerrainNode *  node  )  [protected, virtual]

AddActors() calls this to determine if a node is in the current viewport.

Reimplemented in vtkGeoTerrain2D.

virtual int vtkGeoTerrain::EvaluateNode ( vtkGeoTerrainNode *  node  )  [protected, virtual]

AddActors() calls to to evaluate whether a node should be refined (1), coarsened (-1), or remain at the same level (0).

Reimplemented in vtkGeoTerrain2D.

void vtkGeoTerrain::PrintTree ( ostream &  os,
vtkIndent  indent,
vtkGeoTerrainNode *  node 
) [protected]

Print the tree of terrain nodes.

virtual void vtkGeoTerrain::SetGeoCamera ( vtkGeoCamera *  camera  )  [protected, virtual]

Member Data Documentation

Definition at line 94 of file vtkGeoTerrain.h.

Definition at line 95 of file vtkGeoTerrain.h.

double vtkGeoTerrain::Origin[3] [protected]

Definition at line 114 of file vtkGeoTerrain.h.

Definition at line 115 of file vtkGeoTerrain.h.

Definition at line 117 of file vtkGeoTerrain.h.

int vtkGeoTerrain::MaxLevel [protected]

Definition at line 118 of file vtkGeoTerrain.h.


The documentation for this class was generated from the following file: