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 "vtkPointSet.h"
67 
68 class vtkAbstractArray;
69 class vtkCamera;
71 class vtkDataArray;
72 class vtkIntArray;
74 class vtkPoints;
75 class vtkPolyData;
76 class vtkRenderer;
77 class vtkTextProperty;
78 
80 {
81 public:
82  static vtkLabelHierarchy* New();
84  virtual void PrintSelf( ostream& os, vtkIndent indent );
85 
88  virtual void SetPoints( vtkPoints* );
89 
91  virtual void ComputeHierarchy();
92 
94 
96  vtkSetMacro(TargetLabelCount,int);
97  vtkGetMacro(TargetLabelCount,int);
99 
101 
102  vtkSetMacro(MaximumDepth,int);
103  vtkGetMacro(MaximumDepth,int);
105 
106  //BTX
108 
113  FRUSTUM
114  };
115  //ETX
117 
119 
120  virtual void SetTextProperty(vtkTextProperty* tprop);
121  vtkGetObjectMacro(TextProperty,vtkTextProperty);
123 
125 
126  virtual void SetPriorities(vtkDataArray* arr);
127  vtkGetObjectMacro(Priorities,vtkDataArray);
129 
131 
132  virtual void SetLabels(vtkAbstractArray* arr);
133  vtkGetObjectMacro(Labels,vtkAbstractArray);
135 
137 
138  virtual void SetOrientations(vtkDataArray* arr);
139  vtkGetObjectMacro(Orientations,vtkDataArray);
141 
143 
144  virtual void SetIconIndices(vtkIntArray* arr);
145  vtkGetObjectMacro(IconIndices,vtkIntArray);
147 
149 
150  virtual void SetSizes(vtkDataArray* arr);
151  vtkGetObjectMacro(Sizes,vtkDataArray);
153 
155 
157  virtual void SetBoundedSizes(vtkDataArray* arr);
158  vtkGetObjectMacro(BoundedSizes,vtkDataArray);
160 
161  //BTX
163 
172  vtkLabelHierarchyIterator* NewIterator(
173  int type, vtkRenderer* ren, vtkCamera* cam, double frustumPlanes[24], bool positionsAsNormals, float bucketSize[2] );
174  //ETX
176 
186  void GetDiscreteNodeCoordinatesFromWorldPoint( int ijk[3], double pt[3], int level );
187 
196  static bool GetPathForNodalCoordinates( int* path, int ijk[3], int level );
197 
199 
200  virtual vtkIdType GetNumberOfCells();
201  virtual vtkCell* GetCell(vtkIdType);
202  virtual void GetCell(vtkIdType, vtkGenericCell*);
203  virtual int GetCellType(vtkIdType);
204  virtual void GetCellPoints(vtkIdType, vtkIdList*);
205  virtual void GetPointCells(vtkIdType, vtkIdList*);
206  virtual vtkIdType FindCell(double*, vtkCell*, vtkIdType, double, int&, double*, double*);
207  virtual vtkIdType FindCell(double*, vtkCell*, vtkGenericCell*, vtkIdType, double, int&, double*, double*);
208  virtual int GetMaxCellSize();
210 
211  //BTX
212  class Implementation;
213  Implementation* GetImplementation() { return this->Impl; }
214  //ETX
215 
217 
218  vtkGetObjectMacro(CenterPts,vtkPoints);
220 
222 
225  vtkGetObjectMacro(CoincidentPoints,vtkCoincidentPoints);
227 
228 protected:
230  virtual ~vtkLabelHierarchy();
231 
243 
244  //BTX
246 
247  friend class vtkLabelHierarchyFrustumIterator;
248  friend class vtkLabelHierarchyFullSortIterator;
249  friend class implementation;
250  //ETX
251 
252 private:
253  vtkLabelHierarchy( const vtkLabelHierarchy& ); // Not implemented.
254  void operator = ( const vtkLabelHierarchy& ); // Not implemented.
255 };
256 
257 #endif // __vtkLabelHierarchy_h