VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkGeoSource Class Referenceabstract

A multi-resolution geographic data source. More...

#include <vtkGeoSource.h>

Inheritance diagram for vtkGeoSource:
[legend]
Collaboration diagram for vtkGeoSource:
[legend]

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...
 
vtkGeoSourceNewInstance () const
 
 vtkGeoSource ()
 
 ~vtkGeoSource () override
 
void Initialize (int numThreads=1)
 Spawn worker threads. More...
 
void ShutDown ()
 Shut down the source. More...
 
void WorkerThread ()
 
virtual vtkAbstractTransformGetTransform ()
 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 vtkCollectionGetRequestedNodes (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...
 
vtkCommandGetCommand (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 vtkGeoSourceSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 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 vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () 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

vtkCollectionInputSet
 
vtkCollectionProcessingSet
 
vtkMutexLockLock
 
vtkConditionVariableCondition
 
vtkMultiThreaderThreader
 
bool StopThread
 
bool Initialized
 
implementation * Implementation
 
vtkMutexLockInputSetLock
 Locks the set for reading or writing. More...
 
vtkMutexLockProcessingSetLock
 Locks the set for reading or writing. More...
 
vtkMutexLockOutputSetLock
 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
 

Detailed Description

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.

Member Typedef Documentation

Definition at line 58 of file vtkGeoSource.h.

Constructor & Destructor Documentation

vtkGeoSource::vtkGeoSource ( )
vtkGeoSource::~vtkGeoSource ( )
override

Member Function Documentation

static vtkTypeBool vtkGeoSource::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool 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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObjectBase.

Reimplemented in vtkGeoAlignedImageSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoProjectionSource, and vtkGeoGlobeSource.

static vtkGeoSource* vtkGeoSource::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkGeoSource::NewInstanceInternal ( ) const
protectedvirtual
vtkGeoSource* vtkGeoSource::NewInstance ( ) const
virtual bool vtkGeoSource::FetchRoot ( vtkGeoTreeNode root)
pure virtual

Blocking access methods to be implemented in subclasses.

Implemented in vtkGeoProjectionSource, vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoAlignedImageSource, and vtkGeoGlobeSource.

virtual bool vtkGeoSource::FetchChild ( vtkGeoTreeNode node,
int  index,
vtkGeoTreeNode child 
)
pure virtual

Blocking access methods to be implemented in subclasses.

Implemented in vtkGeoFileImageSource, vtkGeoFileTerrainSource, vtkGeoAlignedImageSource, vtkGeoProjectionSource, and vtkGeoGlobeSource.

virtual void vtkGeoSource::RequestChildren ( vtkGeoTreeNode node)
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 vtkCollection* vtkGeoSource::GetRequestedNodes ( vtkGeoTreeNode node)
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 ( )
virtual vtkAbstractTransform* vtkGeoSource::GetTransform ( )
inlinevirtual

Return the projection transformation used by this source.

Reimplemented in vtkGeoProjectionSource.

Definition at line 100 of file vtkGeoSource.h.

Member Data Documentation

vtkCollection* vtkGeoSource::InputSet
protected

Definition at line 104 of file vtkGeoSource.h.

vtkCollection* vtkGeoSource::ProcessingSet
protected

Definition at line 105 of file vtkGeoSource.h.

vtkMutexLock* vtkGeoSource::InputSetLock
protected

Locks the set for reading or writing.

Definition at line 111 of file vtkGeoSource.h.

vtkMutexLock* vtkGeoSource::ProcessingSetLock
protected

Locks the set for reading or writing.

Definition at line 112 of file vtkGeoSource.h.

vtkMutexLock* vtkGeoSource::OutputSetLock
protected

Locks the set for reading or writing.

Definition at line 113 of file vtkGeoSource.h.

vtkMutexLock* vtkGeoSource::Lock
protected

Definition at line 116 of file vtkGeoSource.h.

vtkConditionVariable* vtkGeoSource::Condition
protected

Definition at line 118 of file vtkGeoSource.h.

vtkMultiThreader* vtkGeoSource::Threader
protected

Definition at line 120 of file vtkGeoSource.h.

bool vtkGeoSource::StopThread
protected

Definition at line 121 of file vtkGeoSource.h.

bool vtkGeoSource::Initialized
protected

Definition at line 122 of file vtkGeoSource.h.

implementation* vtkGeoSource::Implementation
protected

Definition at line 124 of file vtkGeoSource.h.


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