VTK
|
A multi-resolution geographic data source. More...
#include <vtkGeoSource.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual vtkTypeBool | IsA (const char *type) |
Return 1 if this class is the same type of (or a subclass of) the named class. More... | |
vtkGeoSource * | NewInstance () const |
vtkGeoSource () | |
~vtkGeoSource () override | |
void | Initialize (int numThreads=1) |
Spawn worker threads. More... | |
void | ShutDown () |
Shut down the source. More... | |
void | WorkerThread () |
virtual vtkAbstractTransform * | GetTransform () |
Return the projection transformation used by this source. More... | |
virtual bool | FetchRoot (vtkGeoTreeNode *root)=0 |
Blocking access methods to be implemented in subclasses. More... | |
virtual bool | FetchChild (vtkGeoTreeNode *node, int index, vtkGeoTreeNode *child)=0 |
Blocking access methods to be implemented in subclasses. More... | |
virtual void | RequestChildren (vtkGeoTreeNode *node) |
Non-blocking methods for to use from the main application. More... | |
virtual vtkCollection * | GetRequestedNodes (vtkGeoTreeNode *node) |
Non-blocking methods for to use from the main application. More... | |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
Turn debugging output on. More... | |
virtual void | DebugOff () |
Turn debugging output off. More... | |
bool | GetDebug () |
Get the value of the debug flag. More... | |
void | SetDebug (bool debugFlag) |
Set the value of the debug flag. More... | |
virtual void | Modified () |
Update the modification time for this object. More... | |
virtual vtkMTimeType | GetMTime () |
Return this object's modified time. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
Methods invoked by print to print information about the object including superclasses. More... | |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
vtkTypeBool | HasObserver (unsigned long event) |
vtkTypeBool | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkCommand * | GetCommand (unsigned long tag) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObserver (vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
void | RemoveObservers (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
vtkTypeBool | HasObserver (const char *event, vtkCommand *) |
Allow people to add/remove/invoke observers (callbacks) to any VTK object. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More... | |
template<class U , class T > | |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
Allow user to set the AbortFlagOn() with the return value of the callback method. More... | |
int | InvokeEvent (unsigned long event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
int | InvokeEvent (const char *event, void *callData) |
This method invokes an event and return whether the event was aborted or not. More... | |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
Return the class name as a string. More... | |
virtual void | Delete () |
Delete a VTK object. More... | |
virtual void | FastDelete () |
Delete a reference to this object. More... | |
void | InitializeObjectBase () |
void | Print (ostream &os) |
Print an object to an ostream. More... | |
virtual void | Register (vtkObjectBase *o) |
Increase the reference count (mark as used by another object). More... | |
virtual void | UnRegister (vtkObjectBase *o) |
Decrease the reference count (release by another object). More... | |
int | GetReferenceCount () |
Return the current reference count of this object. More... | |
void | SetReferenceCount (int) |
Sets the reference count. More... | |
void | PrintRevisions (ostream &) |
Legacy. More... | |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
Methods invoked by print to print information about the object including superclasses. More... | |
Static Public Member Functions | |
static vtkTypeBool | IsTypeOf (const char *type) |
static vtkGeoSource * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
static void | BreakOnError () |
This method is called when vtkErrorMacro executes. More... | |
static void | SetGlobalWarningDisplay (int val) |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOn () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static void | GlobalWarningDisplayOff () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
static int | GetGlobalWarningDisplay () |
This is a global flag that controls whether any debug, warning or error messages are displayed. More... | |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
Return 1 if this class type is the same type of (or a subclass of) the named class. More... | |
static vtkObjectBase * | New () |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More... | |
Protected Member Functions | |
virtual vtkObjectBase * | NewInstanceInternal () const |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
~vtkObject () override | |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr) |
These methods allow a command to exclusively grab all events. More... | |
void | InternalReleaseFocus () |
These methods allow a command to exclusively grab all events. More... | |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkCollection * | InputSet |
vtkCollection * | ProcessingSet |
vtkMutexLock * | Lock |
vtkConditionVariable * | Condition |
vtkMultiThreader * | Threader |
bool | StopThread |
bool | Initialized |
implementation * | Implementation |
vtkMutexLock * | InputSetLock |
Locks the set for reading or writing. More... | |
vtkMutexLock * | ProcessingSetLock |
Locks the set for reading or writing. More... | |
vtkMutexLock * | OutputSetLock |
Locks the set for reading or writing. More... | |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
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 55 of file vtkGeoSource.h.
typedef vtkObject vtkGeoSource::Superclass |
Definition at line 58 of file vtkGeoSource.h.
vtkGeoSource::vtkGeoSource | ( | ) |
|
override |
|
static |
|
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 vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObjectBase.
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 vtkGeoProjectionSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoAlignedImageSource, and vtkGeoGlobeSource.
|
pure virtual |
Blocking access methods to be implemented in subclasses.
Implemented in vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoAlignedImageSource, 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 100 of file vtkGeoSource.h.
|
protected |
Definition at line 104 of file vtkGeoSource.h.
|
protected |
Definition at line 105 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing.
Definition at line 111 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing.
Definition at line 112 of file vtkGeoSource.h.
|
protected |
Locks the set for reading or writing.
Definition at line 113 of file vtkGeoSource.h.
|
protected |
Definition at line 116 of file vtkGeoSource.h.
|
protected |
Definition at line 118 of file vtkGeoSource.h.
|
protected |
Definition at line 120 of file vtkGeoSource.h.
|
protected |
Definition at line 121 of file vtkGeoSource.h.
|
protected |
Definition at line 122 of file vtkGeoSource.h.
|
protected |
Definition at line 124 of file vtkGeoSource.h.