#include <vtkGeoSource.h>


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 55 of file vtkGeoSource.h.
Public Types | |
| typedef vtkObject | Superclass |
Public Member Functions | |
| virtual const char * | GetClassName () |
| virtual int | IsA (const char *type) |
| 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 (vtkObject *o) |
Protected Attributes | |
| vtkCollection * | InputSet |
| vtkCollection * | ProcessingSet |
| vtkMutexLock * | Lock |
| vtkConditionVariable * | Condition |
| vtkMultiThreader * | Threader |
| bool | StopThread |
| bool | Initialized |
| implementation * | Implementation |
| vtkMutexLock * | InputSetLock |
| vtkMutexLock * | ProcessingSetLock |
| vtkMutexLock * | OutputSetLock |
| typedef vtkObject vtkGeoSource::Superclass |
Reimplemented from vtkObject.
Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
Definition at line 58 of file vtkGeoSource.h.
| vtkGeoSource::vtkGeoSource | ( | ) |
| vtkGeoSource::~vtkGeoSource | ( | ) |
| virtual const char* vtkGeoSource::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkObject.
Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| static int vtkGeoSource::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 vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| virtual int vtkGeoSource::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 vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| static vtkGeoSource* vtkGeoSource::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkObject.
Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| virtual bool vtkGeoSource::FetchRoot | ( | vtkGeoTreeNode * | root | ) | [pure virtual] |
Blocking access methods.
Implemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| virtual bool vtkGeoSource::FetchChild | ( | vtkGeoTreeNode * | node, | |
| int | index, | |||
| vtkGeoTreeNode * | child | |||
| ) | [pure virtual] |
Blocking access methods.
Implemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoGlobeSource, and vtkGeoProjectionSource.
| virtual void vtkGeoSource::RequestChildren | ( | vtkGeoTreeNode * | node | ) | [virtual] |
Non-blocking methods for sources with high latency.
| virtual vtkCollection* vtkGeoSource::GetRequestedNodes | ( | vtkGeoTreeNode * | node | ) | [virtual] |
Non-blocking methods for sources with high latency.
| 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 | ( | ) |
| virtual vtkAbstractTransform* vtkGeoSource::GetTransform | ( | ) | [inline, virtual] |
Return the projection transformation used by this source.
Reimplemented in vtkGeoProjectionSource.
Definition at line 84 of file vtkGeoSource.h.
vtkCollection* vtkGeoSource::InputSet [protected] |
Definition at line 88 of file vtkGeoSource.h.
vtkCollection* vtkGeoSource::ProcessingSet [protected] |
Definition at line 89 of file vtkGeoSource.h.
vtkMutexLock* vtkGeoSource::InputSetLock [protected] |
Locks the set for reading or writing
Definition at line 93 of file vtkGeoSource.h.
vtkMutexLock* vtkGeoSource::ProcessingSetLock [protected] |
Locks the set for reading or writing
Definition at line 94 of file vtkGeoSource.h.
vtkMutexLock* vtkGeoSource::OutputSetLock [protected] |
Locks the set for reading or writing
Definition at line 95 of file vtkGeoSource.h.
vtkMutexLock* vtkGeoSource::Lock [protected] |
Definition at line 98 of file vtkGeoSource.h.
vtkConditionVariable* vtkGeoSource::Condition [protected] |
Definition at line 100 of file vtkGeoSource.h.
vtkMultiThreader* vtkGeoSource::Threader [protected] |
Definition at line 102 of file vtkGeoSource.h.
bool vtkGeoSource::StopThread [protected] |
Definition at line 103 of file vtkGeoSource.h.
bool vtkGeoSource::Initialized [protected] |
Definition at line 104 of file vtkGeoSource.h.
implementation* vtkGeoSource::Implementation [protected] |
Definition at line 107 of file vtkGeoSource.h.
1.5.6