VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkGeoTreeNode Class Reference

Stores data for a patch of the globe. More...

#include <vtkGeoTreeNode.h>

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

Public Types

enum  NodeStatus { NONE, PROCESSING }
 
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...
 
vtkGeoTreeNodeNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void SetChild (vtkGeoTreeNode *node, int idx)
 Get a child of this node. More...
 
void SetParent (vtkGeoTreeNode *node)
 When we merge children to a lower resolution parent, we need this reference. More...
 
void SetOlder (vtkGeoTreeNode *node)
 Manage links to older and newer tree nodes. More...
 
vtkGeoTreeNodeGetOlder ()
 
void SetNewer (vtkGeoTreeNode *node)
 
vtkGeoTreeNodeGetNewer ()
 
virtual bool HasData ()
 Returns whether this node has valid data associated with it, or if it is an "empty" node. More...
 
virtual void DeleteData ()
 Deletes the data associated with the node to make this an "empty" node. More...
 
int GetWhichChildAreYou ()
 Get this nodes child index in node's parent. More...
 
bool IsDescendantOf (vtkGeoTreeNode *elder)
 This method returns true if this node descends from the elder node. More...
 
int CreateChildren ()
 Create children of the same type as parent. More...
 
vtkGeoTreeNodeGetChildTreeNode (int idx)
 Get the child as a vtkGeoTreeNode. More...
 
vtkGeoTreeNodeGetParentTreeNode ()
 Get the parent as a vtkGeoTreeNode. More...
 
NodeStatus GetStatus ()
 
void SetStatus (NodeStatus status)
 
virtual void SetId (unsigned long)
 The id uniquely specified this node. More...
 
virtual unsigned long GetId ()
 The id uniquely specified this node. More...
 
virtual void SetLevel (int)
 Knowing the level simplifies encoding the branch trace in the Id. More...
 
virtual int GetLevel ()
 Knowing the level simplifies encoding the branch trace in the Id. More...
 
virtual void SetLongitudeRange (double, double)
 Longitude and latitude range of the terrain model. More...
 
void SetLongitudeRange (double[2])
 Longitude and latitude range of the terrain model. More...
 
virtual doubleGetLongitudeRange ()
 Longitude and latitude range of the terrain model. More...
 
virtual void GetLongitudeRange (double &, double &)
 Longitude and latitude range of the terrain model. More...
 
virtual void GetLongitudeRange (double[2])
 Longitude and latitude range of the terrain model. More...
 
virtual void SetLatitudeRange (double, double)
 Longitude and latitude range of the terrain model. More...
 
void SetLatitudeRange (double[2])
 Longitude and latitude range of the terrain model. More...
 
virtual doubleGetLatitudeRange ()
 Longitude and latitude range of the terrain model. More...
 
virtual void GetLatitudeRange (double &, double &)
 Longitude and latitude range of the terrain model. More...
 
virtual void GetLatitudeRange (double[2])
 Longitude and latitude range of the terrain model. More...
 
virtual void ShallowCopy (vtkGeoTreeNode *src)
 Shallow and Deep copy. More...
 
virtual void DeepCopy (vtkGeoTreeNode *src)
 Shallow and Deep copy. 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 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 vtkGeoTreeNodeNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkGeoTreeNodeSafeDownCast (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
 
 vtkGeoTreeNode ()
 
 ~vtkGeoTreeNode () override
 
- 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

int Level
 
unsigned long Id
 
double LongitudeRange [2]
 
double LatitudeRange [2]
 
vtkSmartPointer< vtkGeoTreeNodeChildren [4]
 
vtkGeoTreeNodeParent
 
NodeStatus Status
 
vtkGeoTreeNodeOlder
 
vtkGeoTreeNodeNewer
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Stores data for a patch of the globe.

A self-referential data structure for storing geometry or imagery for the geospatial views. The data is organized in a quadtree. Each node contains a pointer to its parent and owns references to its four child nodes. The ID of each node is unique in its level, and encodes the path from the root node in its bits.

See also
vtkGeoView vtkGeoView2D vtkGeoTerrain vtkGeoAlignedImageRepresentation

Definition at line 47 of file vtkGeoTreeNode.h.

Member Typedef Documentation

Definition at line 51 of file vtkGeoTreeNode.h.

Member Enumeration Documentation

Enumerator
NONE 
PROCESSING 

Definition at line 159 of file vtkGeoTreeNode.h.

Constructor & Destructor Documentation

vtkGeoTreeNode::vtkGeoTreeNode ( )
protected
vtkGeoTreeNode::~vtkGeoTreeNode ( )
overrideprotected

Member Function Documentation

static vtkGeoTreeNode* vtkGeoTreeNode::New ( )
static
static vtkTypeBool vtkGeoTreeNode::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool vtkGeoTreeNode::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 vtkGeoImageNode, and vtkGeoTerrainNode.

static vtkGeoTreeNode* vtkGeoTreeNode::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkGeoTreeNode::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented in vtkGeoImageNode, and vtkGeoTerrainNode.

vtkGeoTreeNode* vtkGeoTreeNode::NewInstance ( ) const
void vtkGeoTreeNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

virtual void vtkGeoTreeNode::SetId ( unsigned  long)
virtual

The id uniquely specified this node.

For this implementation I am going to store the branch path in the bits.

virtual unsigned long vtkGeoTreeNode::GetId ( )
virtual

The id uniquely specified this node.

For this implementation I am going to store the branch path in the bits.

virtual void vtkGeoTreeNode::SetLevel ( int  )
virtual

Knowing the level simplifies encoding the branch trace in the Id.

virtual int vtkGeoTreeNode::GetLevel ( )
virtual

Knowing the level simplifies encoding the branch trace in the Id.

virtual void vtkGeoTreeNode::SetLongitudeRange ( double  ,
double   
)
virtual

Longitude and latitude range of the terrain model.

void vtkGeoTreeNode::SetLongitudeRange ( double  [2])

Longitude and latitude range of the terrain model.

virtual double* vtkGeoTreeNode::GetLongitudeRange ( )
virtual

Longitude and latitude range of the terrain model.

virtual void vtkGeoTreeNode::GetLongitudeRange ( double ,
double  
)
virtual

Longitude and latitude range of the terrain model.

virtual void vtkGeoTreeNode::GetLongitudeRange ( double  [2])
virtual

Longitude and latitude range of the terrain model.

virtual void vtkGeoTreeNode::SetLatitudeRange ( double  ,
double   
)
virtual

Longitude and latitude range of the terrain model.

void vtkGeoTreeNode::SetLatitudeRange ( double  [2])

Longitude and latitude range of the terrain model.

virtual double* vtkGeoTreeNode::GetLatitudeRange ( )
virtual

Longitude and latitude range of the terrain model.

virtual void vtkGeoTreeNode::GetLatitudeRange ( double ,
double  
)
virtual

Longitude and latitude range of the terrain model.

virtual void vtkGeoTreeNode::GetLatitudeRange ( double  [2])
virtual

Longitude and latitude range of the terrain model.

void vtkGeoTreeNode::SetChild ( vtkGeoTreeNode node,
int  idx 
)

Get a child of this node.

If one is set, then they all should set. No not mix subclasses.

void vtkGeoTreeNode::SetParent ( vtkGeoTreeNode node)
inline

When we merge children to a lower resolution parent, we need this reference.

It is not referenced counted to avoid reference loops. A child should never exist when the parent is destructed anyway.

Definition at line 93 of file vtkGeoTreeNode.h.

void vtkGeoTreeNode::SetOlder ( vtkGeoTreeNode node)
inline

Manage links to older and newer tree nodes.

These are used to periodically delete unused patches.

Definition at line 100 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::GetOlder ( )
inline

Definition at line 102 of file vtkGeoTreeNode.h.

void vtkGeoTreeNode::SetNewer ( vtkGeoTreeNode node)
inline

Definition at line 104 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::GetNewer ( )
inline

Definition at line 106 of file vtkGeoTreeNode.h.

virtual bool vtkGeoTreeNode::HasData ( )
inlinevirtual

Returns whether this node has valid data associated with it, or if it is an "empty" node.

Reimplemented in vtkGeoTerrainNode, and vtkGeoImageNode.

Definition at line 113 of file vtkGeoTreeNode.h.

virtual void vtkGeoTreeNode::DeleteData ( )
inlinevirtual

Deletes the data associated with the node to make this an "empty" node.

This is performed when the node has been unused for a certain amount of time.

Reimplemented in vtkGeoTerrainNode, and vtkGeoImageNode.

Definition at line 121 of file vtkGeoTreeNode.h.

int vtkGeoTreeNode::GetWhichChildAreYou ( )

Get this nodes child index in node's parent.

bool vtkGeoTreeNode::IsDescendantOf ( vtkGeoTreeNode elder)

This method returns true if this node descends from the elder node.

The decision is made from the node ids, so the nodes do not have to be in the same tree!

int vtkGeoTreeNode::CreateChildren ( )

Create children of the same type as parent.

Id, level and Latitude-Longitude ranges are set. Returns VTK_ERROR if level gets too deep to create children.

vtkGeoTreeNode* vtkGeoTreeNode::GetChildTreeNode ( int  idx)
inline

Get the child as a vtkGeoTreeNode.

Subclasses also implement GetChild() which returns the child as the appropriate subclass type.

Definition at line 148 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::GetParentTreeNode ( )
inline

Get the parent as a vtkGeoTreeNode.

Subclasses also implement GetParent() which returns the parent as the appropriate subclass type.

Definition at line 156 of file vtkGeoTreeNode.h.

NodeStatus vtkGeoTreeNode::GetStatus ( )
void vtkGeoTreeNode::SetStatus ( NodeStatus  status)
virtual void vtkGeoTreeNode::ShallowCopy ( vtkGeoTreeNode src)
virtual

Shallow and Deep copy.

Deep copy performs a shallow copy of the Child nodes.

Reimplemented in vtkGeoTerrainNode, and vtkGeoImageNode.

virtual void vtkGeoTreeNode::DeepCopy ( vtkGeoTreeNode src)
virtual

Shallow and Deep copy.

Deep copy performs a shallow copy of the Child nodes.

Reimplemented in vtkGeoTerrainNode, and vtkGeoImageNode.

Member Data Documentation

int vtkGeoTreeNode::Level
protected

Definition at line 181 of file vtkGeoTreeNode.h.

unsigned long vtkGeoTreeNode::Id
protected

Definition at line 182 of file vtkGeoTreeNode.h.

double vtkGeoTreeNode::LongitudeRange[2]
protected

Definition at line 184 of file vtkGeoTreeNode.h.

double vtkGeoTreeNode::LatitudeRange[2]
protected

Definition at line 185 of file vtkGeoTreeNode.h.

vtkSmartPointer<vtkGeoTreeNode> vtkGeoTreeNode::Children[4]
protected

Definition at line 187 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::Parent
protected

Definition at line 188 of file vtkGeoTreeNode.h.

NodeStatus vtkGeoTreeNode::Status
protected

Definition at line 189 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::Older
protected

Definition at line 190 of file vtkGeoTreeNode.h.

vtkGeoTreeNode* vtkGeoTreeNode::Newer
protected

Definition at line 191 of file vtkGeoTreeNode.h.


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