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
 
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
 
virtual void RequestChildren (vtkGeoTreeNode *node)
 Non-blocking methods for to use from the main application. More...
 
virtual vtkCollectionGetRequestedNodes (vtkGeoTreeNode *node)
 
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...
 
- 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...
 
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)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
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)
 
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)
 
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)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- 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 PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
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...
 

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 ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- 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 ()
 
- 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
 
vtkMutexLockInputSetLock
 Locks the set for reading or writing. More...
 
vtkMutexLockProcessingSetLock
 
vtkMutexLockOutputSetLock
 
vtkMutexLockLock
 
vtkConditionVariableCondition
 
vtkMultiThreaderThreader
 
bool StopThread
 
bool Initialized
 
implementation * Implementation
 
- 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

◆ Superclass

Definition at line 58 of file vtkGeoSource.h.

Constructor & Destructor Documentation

◆ vtkGeoSource()

vtkGeoSource::vtkGeoSource ( )

◆ ~vtkGeoSource()

vtkGeoSource::~vtkGeoSource ( )
override

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkGeoSource::IsTypeOf ( const char *  type)
static

◆ IsA()

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.

◆ SafeDownCast()

static vtkGeoSource* vtkGeoSource::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkGeoSource::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkGeoSource* vtkGeoSource::NewInstance ( ) const

◆ FetchRoot()

virtual bool vtkGeoSource::FetchRoot ( vtkGeoTreeNode root)
pure virtual

Blocking access methods to be implemented in subclasses.

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

◆ FetchChild()

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

◆ RequestChildren()

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).

◆ GetRequestedNodes()

virtual vtkCollection* vtkGeoSource::GetRequestedNodes ( vtkGeoTreeNode node)
virtual

◆ Initialize()

void vtkGeoSource::Initialize ( int  numThreads = 1)

Spawn worker threads.

◆ ShutDown()

void vtkGeoSource::ShutDown ( )

Shut down the source.

This terminates the thread and releases memory.

◆ WorkerThread()

void vtkGeoSource::WorkerThread ( )

◆ GetTransform()

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

◆ InputSet

vtkCollection* vtkGeoSource::InputSet
protected

Definition at line 104 of file vtkGeoSource.h.

◆ ProcessingSet

vtkCollection* vtkGeoSource::ProcessingSet
protected

Definition at line 105 of file vtkGeoSource.h.

◆ InputSetLock

vtkMutexLock* vtkGeoSource::InputSetLock
protected

Locks the set for reading or writing.

Definition at line 111 of file vtkGeoSource.h.

◆ ProcessingSetLock

vtkMutexLock* vtkGeoSource::ProcessingSetLock
protected

Definition at line 112 of file vtkGeoSource.h.

◆ OutputSetLock

vtkMutexLock* vtkGeoSource::OutputSetLock
protected

Definition at line 113 of file vtkGeoSource.h.

◆ Lock

vtkMutexLock* vtkGeoSource::Lock
protected

Definition at line 116 of file vtkGeoSource.h.

◆ Condition

vtkConditionVariable* vtkGeoSource::Condition
protected

Definition at line 118 of file vtkGeoSource.h.

◆ Threader

vtkMultiThreader* vtkGeoSource::Threader
protected

Definition at line 120 of file vtkGeoSource.h.

◆ StopThread

bool vtkGeoSource::StopThread
protected

Definition at line 121 of file vtkGeoSource.h.

◆ Initialized

bool vtkGeoSource::Initialized
protected

Definition at line 122 of file vtkGeoSource.h.

◆ Implementation

implementation* vtkGeoSource::Implementation
protected

Definition at line 124 of file vtkGeoSource.h.


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