VTK
vtkGeoTreeNode.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGeoTreeNode.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 /*-------------------------------------------------------------------------
17  Copyright 2008 Sandia Corporation.
18  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
19  the U.S. Government retains certain rights in this software.
20 -------------------------------------------------------------------------*/
21 
36 #ifndef vtkGeoTreeNode_h
37 #define vtkGeoTreeNode_h
38 
39 #include "vtkGeovisCoreModule.h" // For export macro
40 #include "vtkObject.h"
41 #include "vtkSmartPointer.h" // for SP
42 
43 class vtkPolyData;
44 
46 {
47 public:
48  static vtkGeoTreeNode *New();
50  void PrintSelf(ostream& os, vtkIndent indent);
51 
53 
55  vtkSetMacro(Id,unsigned long);
56  vtkGetMacro(Id,unsigned long);
58 
60 
61  vtkSetMacro(Level, int);
62  vtkGetMacro(Level, int);
64 
66 
67  vtkSetVector2Macro(LongitudeRange,double);
68  vtkGetVector2Macro(LongitudeRange,double);
69  vtkSetVector2Macro(LatitudeRange,double);
70  vtkGetVector2Macro(LatitudeRange,double);
72 
75  void SetChild(vtkGeoTreeNode* node, int idx);
76 
78 
82  { this->Parent = node; }
84 
86 
89  { this->Older = node; }
91  { return this->Older; }
93  { this->Newer = node; }
95  { return this->Newer; }
97 
99 
101  virtual bool HasData()
102  { return false; }
104 
106 
109  virtual void DeleteData()
110  { }
112 
115 
120 
125 
127 
130  { return this->Children[idx]; }
132 
134 
138  { return this->Parent; }
140 
141 //BTX
143  {
145  PROCESSING
146  };
147 
149  void SetStatus(NodeStatus status);
150 //ETX
151 
153 
156  virtual void DeepCopy(vtkGeoTreeNode *src);
158 
159 protected:
162 
163  int Level;
164  unsigned long Id;
165 
166  double LongitudeRange[2];
167  double LatitudeRange[2];
168 
169  //BTX
175  //ETX
176 
177 private:
178  vtkGeoTreeNode(const vtkGeoTreeNode&); // Not implemented.
179  void operator=(const vtkGeoTreeNode&); // Not implemented.
180 };
181 
182 #endif
vtkSetVector2Macro
#define vtkSetVector2Macro(name, type)
Definition: vtkSetGet.h:254
vtkGeoTreeNode::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkGetVector2Macro
#define vtkGetVector2Macro(name, type)
Definition: vtkSetGet.h:270
vtkGeoTreeNode::GetOlder
vtkGeoTreeNode * GetOlder()
Definition: vtkGeoTreeNode.h:90
vtkGeoTreeNode::Status
NodeStatus Status
Definition: vtkGeoTreeNode.h:172
vtkGeoTreeNode::~vtkGeoTreeNode
~vtkGeoTreeNode()
vtkGeoTreeNode::SetOlder
void SetOlder(vtkGeoTreeNode *node)
Definition: vtkGeoTreeNode.h:88
vtkGeoTreeNode::GetChildTreeNode
vtkGeoTreeNode * GetChildTreeNode(int idx)
Definition: vtkGeoTreeNode.h:129
vtkGeoTreeNode::IsDescendantOf
bool IsDescendantOf(vtkGeoTreeNode *elder)
vtkGeovisCoreModule.h
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkGeoTreeNode
Stores data for a patch of the globe.
Definition: vtkGeoTreeNode.h:46
vtkSmartPointer< vtkGeoTreeNode >
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkGeoTreeNode::Parent
vtkGeoTreeNode * Parent
Definition: vtkGeoTreeNode.h:171
vtkGeoTreeNode::SetParent
void SetParent(vtkGeoTreeNode *node)
Definition: vtkGeoTreeNode.h:81
vtkGeoTreeNode::GetParentTreeNode
vtkGeoTreeNode * GetParentTreeNode()
Definition: vtkGeoTreeNode.h:137
vtkGeoTreeNode::NodeStatus
NodeStatus
Definition: vtkGeoTreeNode.h:143
vtkGeoTreeNode::Level
int Level
Definition: vtkGeoTreeNode.h:163
vtkGeoTreeNode::DeleteData
virtual void DeleteData()
Definition: vtkGeoTreeNode.h:109
vtkgl::src
GLenum src
Definition: vtkgl.h:12525
vtkGeoTreeNode::GetStatus
NodeStatus GetStatus()
vtkGeoTreeNode::HasData
virtual bool HasData()
Definition: vtkGeoTreeNode.h:101
vtkGeoTreeNode::GetNewer
vtkGeoTreeNode * GetNewer()
Definition: vtkGeoTreeNode.h:94
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSmartPointer.h
vtkGeoTreeNode::SetChild
void SetChild(vtkGeoTreeNode *node, int idx)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGeoTreeNode::GetWhichChildAreYou
int GetWhichChildAreYou()
vtkGeoTreeNode::SetStatus
void SetStatus(NodeStatus status)
vtkObject.h
vtkGeoTreeNode::ShallowCopy
virtual void ShallowCopy(vtkGeoTreeNode *src)
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkGeoTreeNode::CreateChildren
int CreateChildren()
VTKGEOVISCORE_EXPORT
#define VTKGEOVISCORE_EXPORT
Definition: vtkGeovisCoreModule.h:15
vtkGeoTreeNode::vtkGeoTreeNode
vtkGeoTreeNode()
vtkGeoTreeNode::SetNewer
void SetNewer(vtkGeoTreeNode *node)
Definition: vtkGeoTreeNode.h:92
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkGeoTreeNode::New
static vtkGeoTreeNode * New()
vtkGeoTreeNode::DeepCopy
virtual void DeepCopy(vtkGeoTreeNode *src)
vtkGeoTreeNode::Older
vtkGeoTreeNode * Older
Definition: vtkGeoTreeNode.h:173
vtkGeoTreeNode::Id
unsigned long Id
Definition: vtkGeoTreeNode.h:164
vtkGeoTreeNode::NONE
@ NONE
Definition: vtkGeoTreeNode.h:144
vtkGeoTreeNode::Newer
vtkGeoTreeNode * Newer
Definition: vtkGeoTreeNode.h:174