VTK
vtkLabelHierarchy.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkLabelHierarchy.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  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
63 #ifndef vtkLabelHierarchy_h
64 #define vtkLabelHierarchy_h
65 
66 #include "vtkRenderingLabelModule.h" // For export macro
67 #include "vtkPointSet.h"
68 
69 class vtkAbstractArray;
70 class vtkCamera;
72 class vtkDataArray;
73 class vtkIntArray;
75 class vtkPoints;
76 class vtkPolyData;
77 class vtkRenderer;
78 class vtkTextProperty;
79 
81 {
82 public:
85  virtual void PrintSelf( ostream& os, vtkIndent indent );
86 
89  virtual void SetPoints( vtkPoints* );
90 
92  virtual void ComputeHierarchy();
93 
95 
97  vtkSetMacro(TargetLabelCount,int);
98  vtkGetMacro(TargetLabelCount,int);
100 
102 
103  vtkSetMacro(MaximumDepth,int);
104  vtkGetMacro(MaximumDepth,int);
106 
107  //BTX
109 
114  FRUSTUM
115  };
116  //ETX
118 
120 
121  virtual void SetTextProperty(vtkTextProperty* tprop);
124 
126 
127  virtual void SetPriorities(vtkDataArray* arr);
130 
132 
133  virtual void SetLabels(vtkAbstractArray* arr);
136 
138 
139  virtual void SetOrientations(vtkDataArray* arr);
142 
144 
145  virtual void SetIconIndices(vtkIntArray* arr);
148 
150 
151  virtual void SetSizes(vtkDataArray* arr);
154 
156 
158  virtual void SetBoundedSizes(vtkDataArray* arr);
161 
162  //BTX
164 
174  int type, vtkRenderer* ren, vtkCamera* cam, double frustumPlanes[24], bool positionsAsNormals, float bucketSize[2] );
175  //ETX
177 
187  void GetDiscreteNodeCoordinatesFromWorldPoint( int ijk[3], double pt[3], int level );
188 
197  static bool GetPathForNodalCoordinates( int* path, int ijk[3], int level );
198 
200 
204  virtual int GetCellType(vtkIdType);
207  virtual vtkIdType FindCell(double*, vtkCell*, vtkIdType, double, int&, double*, double*);
208  virtual vtkIdType FindCell(double*, vtkCell*, vtkGenericCell*, vtkIdType, double, int&, double*, double*);
209  virtual int GetMaxCellSize();
211 
212  //BTX
213  class Implementation;
214  Implementation* GetImplementation() { return this->Impl; }
215  //ETX
216 
218 
221 
223 
228 
229 protected:
232 
244 
245  //BTX
247 
248  friend class vtkLabelHierarchyFrustumIterator;
249  friend class vtkLabelHierarchyFullSortIterator;
250  friend class implementation;
251  //ETX
252 
253 private:
254  vtkLabelHierarchy( const vtkLabelHierarchy& ); // Not implemented.
255  void operator = ( const vtkLabelHierarchy& ); // Not implemented.
256 };
257 
258 #endif // vtkLabelHierarchy_h
vtkLabelHierarchy::FindCell
virtual vtkIdType FindCell(double *, vtkCell *, vtkGenericCell *, vtkIdType, double, int &, double *, double *)
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:39
vtkLabelHierarchy::Implementation
Definition: vtkLabelHierarchyPrivate.h:13
vtkRenderingLabelModule.h
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkLabelHierarchy::Labels
vtkAbstractArray * Labels
Definition: vtkLabelHierarchy.h:236
vtkLabelHierarchy::ComputeHierarchy
virtual void ComputeHierarchy()
vtkLabelHierarchy::GetNumberOfCells
virtual vtkIdType GetNumberOfCells()
vtkLabelHierarchy::Sizes
vtkDataArray * Sizes
Definition: vtkLabelHierarchy.h:239
vtkLabelHierarchy
contains an octree of labels
Definition: vtkLabelHierarchy.h:81
vtkPointSet.h
vtkLabelHierarchy::SetBoundedSizes
virtual void SetBoundedSizes(vtkDataArray *arr)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkLabelHierarchy::SetSizes
virtual void SetSizes(vtkDataArray *arr)
vtkLabelHierarchy::Priorities
vtkDataArray * Priorities
Definition: vtkLabelHierarchy.h:235
vtkLabelHierarchy::CenterPts
vtkPoints * CenterPts
Definition: vtkLabelHierarchy.h:242
vtkLabelHierarchy::DEPTH_FIRST
@ DEPTH_FIRST
Definition: vtkLabelHierarchy.h:113
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkLabelHierarchy::FULL_SORT
@ FULL_SORT
Definition: vtkLabelHierarchy.h:111
VTKRENDERINGLABEL_EXPORT
#define VTKRENDERINGLABEL_EXPORT
Definition: vtkRenderingLabelModule.h:15
vtkLabelHierarchy::SetPriorities
virtual void SetPriorities(vtkDataArray *arr)
vtkLabelHierarchy::GetDiscreteNodeCoordinatesFromWorldPoint
void GetDiscreteNodeCoordinatesFromWorldPoint(int ijk[3], double pt[3], int level)
vtkLabelHierarchyIterator
iterator over vtkLabelHierarchy
Definition: vtkLabelHierarchyIterator.h:40
vtkDataArray
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
vtkLabelHierarchy::New
static vtkLabelHierarchy * New()
vtkCoincidentPoints
contains an octree of labels
Definition: vtkCoincidentPoints.h:39
vtkLabelHierarchy::NewIterator
vtkLabelHierarchyIterator * NewIterator(int type, vtkRenderer *ren, vtkCamera *cam, double frustumPlanes[24], bool positionsAsNormals, float bucketSize[2])
vtkLabelHierarchy::GetCell
virtual void GetCell(vtkIdType, vtkGenericCell *)
vtkLabelHierarchy::GetCellPoints
virtual void GetCellPoints(vtkIdType, vtkIdList *)
vtkLabelHierarchy::CoincidentPoints
vtkCoincidentPoints * CoincidentPoints
Definition: vtkLabelHierarchy.h:241
vtkLabelHierarchy::FindCell
virtual vtkIdType FindCell(double *, vtkCell *, vtkIdType, double, int &, double *, double *)
vtkLabelHierarchy::GetCellType
virtual int GetCellType(vtkIdType)
vtkLabelHierarchy::TargetLabelCount
int TargetLabelCount
Definition: vtkLabelHierarchy.h:233
vtkLabelHierarchy::GetPathForNodalCoordinates
static bool GetPathForNodalCoordinates(int *path, int ijk[3], int level)
vtkLabelHierarchy::Orientations
vtkDataArray * Orientations
Definition: vtkLabelHierarchy.h:237
vtkCell
abstract class to specify cell behavior
Definition: vtkCell.h:62
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkIntArray
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:53
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:49
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkgl::path
GLsizei const GLchar ** path
Definition: vtkgl.h:13835
vtkLabelHierarchy::IconIndices
vtkIntArray * IconIndices
Definition: vtkLabelHierarchy.h:238
vtkLabelHierarchy::SetPoints
virtual void SetPoints(vtkPoints *)
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkgl::level
GLint level
Definition: vtkgl.h:11316
vtkLabelHierarchy::QUEUE
@ QUEUE
Definition: vtkLabelHierarchy.h:112
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkTextProperty
represent text properties.
Definition: vtkTextProperty.h:39
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkLabelHierarchy::Impl
Implementation * Impl
Definition: vtkLabelHierarchy.h:246
vtkLabelHierarchy::SetLabels
virtual void SetLabels(vtkAbstractArray *arr)
vtkLabelHierarchy::GetMaxCellSize
virtual int GetMaxCellSize()
vtkLabelHierarchy::BoundedSizes
vtkDataArray * BoundedSizes
Definition: vtkLabelHierarchy.h:240
vtkLabelHierarchy::MaximumDepth
int MaximumDepth
Definition: vtkLabelHierarchy.h:234
vtkPointSet
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:45
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:64
vtkLabelHierarchy::GetCell
virtual vtkCell * GetCell(vtkIdType)
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
vtkGenericCell
provides thread-safe access to cells
Definition: vtkGenericCell.h:42
vtkLabelHierarchy::GetImplementation
Implementation * GetImplementation()
Definition: vtkLabelHierarchy.h:214
vtkLabelHierarchy::GetPointCells
virtual void GetPointCells(vtkIdType, vtkIdList *)
vtkLabelHierarchy::SetIconIndices
virtual void SetIconIndices(vtkIntArray *arr)
vtkLabelHierarchy::SetTextProperty
virtual void SetTextProperty(vtkTextProperty *tprop)
vtkLabelHierarchy::TextProperty
vtkTextProperty * TextProperty
Definition: vtkLabelHierarchy.h:243
vtkLabelHierarchy::vtkLabelHierarchy
vtkLabelHierarchy()
vtkgl::type
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkLabelHierarchy::IteratorType
IteratorType
Definition: vtkLabelHierarchy.h:110
vtkLabelHierarchy::SetOrientations
virtual void SetOrientations(vtkDataArray *arr)
vtkLabelHierarchy::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkLabelHierarchy::~vtkLabelHierarchy
virtual ~vtkLabelHierarchy()