VTK
|
A multi-resolution geographic data source. More...
#include <vtkGeoSource.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkGeoSource * | NewInstance () const |
vtkGeoSource () | |
~vtkGeoSource () | |
void | Initialize (int numThreads=1) |
void | ShutDown () |
void | WorkerThread () |
virtual vtkAbstractTransform * | GetTransform () |
virtual bool | FetchRoot (vtkGeoTreeNode *root)=0 |
virtual bool | FetchChild (vtkGeoTreeNode *node, int index, vtkGeoTreeNode *child)=0 |
virtual void | RequestChildren (vtkGeoTreeNode *node) |
virtual vtkCollection * | GetRequestedNodes (vtkGeoTreeNode *node) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkGeoSource * | SafeDownCast (vtkObjectBase *o) |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
Protected Attributes | |
vtkCollection * | InputSet |
vtkCollection * | ProcessingSet |
vtkMutexLock * | Lock |
vtkConditionVariable * | Condition |
vtkMultiThreader * | Threader |
bool | StopThread |
bool | Initialized |
implementation * | Implementation |
vtkMutexLock * | InputSetLock |
vtkMutexLock * | ProcessingSetLock |
vtkMutexLock * | OutputSetLock |
A multi-resolution geographic data source.
vtkGeoSource is an abstract superclass for all multi-resolution data sources shown in a geographic view like vtkGeoView or vtkGeoView2D. vtkGeoSource subclasses need to implement the FetchRoot() method, which fills a vtkGeoTreeNode with the low-res data at the root, and FetchChild(), which produces a refinement of a parent node. Other geovis classes such as vtkGeoTerrain, vtkGeoTerrain2D, and vtkGeoAlignedImageSource use a vtkGeoSource subclass to build their geometry or image caches which are stored in trees. The source itself does not maintain the tree, but simply provides a mechanism for generating refined tree nodes.
Sources are multi-threaded. Each source may have one or more worker threads associated with it, which this superclass manages. It is essential that the FetchChild() method is thread-safe, since it may be called from multiple workers simultaneously.
Definition at line 56 of file vtkGeoSource.h.
typedef vtkObject vtkGeoSource::Superclass |
Definition at line 59 of file vtkGeoSource.h.
vtkGeoSource::vtkGeoSource | ( | ) |
vtkGeoSource::~vtkGeoSource | ( | ) |
|
static |
|
virtual |
Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoProjectionSource, and vtkGeoGlobeSource.
|
static |
|
protectedvirtual |
Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoProjectionSource, and vtkGeoGlobeSource.
vtkGeoSource* vtkGeoSource::NewInstance | ( | ) | const |
|
pure virtual |
Blocking access methods to be implemented in subclasses.
Implemented in vtkGeoAlignedImageSource, vtkGeoProjectionSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, and vtkGeoGlobeSource.
|
pure virtual |
Blocking access methods to be implemented in subclasses.
Implemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoProjectionSource, and vtkGeoGlobeSource.
|
virtual |
Non-blocking methods for to use from the main application. After calling RequestChildren() for a certain node, GetRequestedNodes() will after a certain period of time return a non-null pointer to a collection of four vtkGeoTreeNode objects, which are the four children of the requested node. The collection is reference counted, so you need to eventually call Delete() on the returned collection pointer (if it is non-null).
|
virtual |
Non-blocking methods for to use from the main application. After calling RequestChildren() for a certain node, GetRequestedNodes() will after a certain period of time return a non-null pointer to a collection of four vtkGeoTreeNode objects, which are the four children of the requested node. The collection is reference counted, so you need to eventually call Delete() on the returned collection pointer (if it is non-null).
void vtkGeoSource::Initialize | ( | int | numThreads = 1 | ) |
Spawn worker threads.
void vtkGeoSource::ShutDown | ( | ) |
Shut down the source. This terminates the thread and releases memory.
void vtkGeoSource::WorkerThread | ( | ) |
|
inlinevirtual |
Return the projection transformation used by this source.
Reimplemented in vtkGeoProjectionSource.
Definition at line 91 of file vtkGeoSource.h.
|
protected |
Definition at line 95 of file vtkGeoSource.h.
|
protected |
Definition at line 96 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing
Definition at line 100 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing
Definition at line 101 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing
Definition at line 102 of file vtkGeoSource.h.
|
protected |
Definition at line 105 of file vtkGeoSource.h.
|
protected |
Definition at line 107 of file vtkGeoSource.h.
|
protected |
Definition at line 109 of file vtkGeoSource.h.
|
protected |
Definition at line 110 of file vtkGeoSource.h.
|
protected |
Definition at line 111 of file vtkGeoSource.h.
|
protected |
Definition at line 114 of file vtkGeoSource.h.