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 -------------------------------------------------------------------------*/
64 #ifndef vtkLabelHierarchy_h
65 #define vtkLabelHierarchy_h
66 
67 #include "vtkRenderingLabelModule.h" // For export macro
68 #include "vtkPointSet.h"
69 
70 class vtkAbstractArray;
71 class vtkCamera;
73 class vtkDataArray;
74 class vtkIntArray;
76 class vtkPoints;
77 class vtkPolyData;
78 class vtkRenderer;
79 class vtkTextProperty;
80 
81 class VTKRENDERINGLABEL_EXPORT vtkLabelHierarchy : public vtkPointSet
82 {
83 public:
84  static vtkLabelHierarchy* New();
86  virtual void PrintSelf( ostream& os, vtkIndent indent );
87 
91  virtual void SetPoints( vtkPoints* );
92 
96  virtual void ComputeHierarchy();
97 
99 
103  vtkSetMacro(TargetLabelCount,int);
104  vtkGetMacro(TargetLabelCount,int);
106 
108 
111  vtkSetMacro(MaximumDepth,int);
112  vtkGetMacro(MaximumDepth,int);
114 
122  FRUSTUM
123  };
124 
126 
129  virtual void SetTextProperty(vtkTextProperty* tprop);
130  vtkGetObjectMacro(TextProperty,vtkTextProperty);
132 
134 
137  virtual void SetPriorities(vtkDataArray* arr);
138  vtkGetObjectMacro(Priorities,vtkDataArray);
140 
142 
145  virtual void SetLabels(vtkAbstractArray* arr);
146  vtkGetObjectMacro(Labels,vtkAbstractArray);
148 
150 
153  virtual void SetOrientations(vtkDataArray* arr);
154  vtkGetObjectMacro(Orientations,vtkDataArray);
156 
158 
161  virtual void SetIconIndices(vtkIntArray* arr);
162  vtkGetObjectMacro(IconIndices,vtkIntArray);
164 
166 
169  virtual void SetSizes(vtkDataArray* arr);
170  vtkGetObjectMacro(Sizes,vtkDataArray);
172 
174 
177  virtual void SetBoundedSizes(vtkDataArray* arr);
178  vtkGetObjectMacro(BoundedSizes,vtkDataArray);
180 
193  int type, vtkRenderer* ren, vtkCamera* cam, double frustumPlanes[24], bool positionsAsNormals, float bucketSize[2] );
194 
205  void GetDiscreteNodeCoordinatesFromWorldPoint( int ijk[3], double pt[3], int level );
206 
217  static bool GetPathForNodalCoordinates( int* path, int ijk[3], int level );
218 
220 
223  virtual vtkIdType GetNumberOfCells();
224  virtual vtkCell* GetCell(vtkIdType);
225  virtual void GetCell(vtkIdType, vtkGenericCell*);
226  virtual int GetCellType(vtkIdType);
227  virtual void GetCellPoints(vtkIdType, vtkIdList*);
228  virtual void GetPointCells(vtkIdType, vtkIdList*);
229  virtual vtkIdType FindCell(double*, vtkCell*, vtkIdType, double, int&, double*, double*);
230  virtual vtkIdType FindCell(double*, vtkCell*, vtkGenericCell*, vtkIdType, double, int&, double*, double*);
231  virtual int GetMaxCellSize();
233 
234  class Implementation;
235  Implementation* GetImplementation() { return this->Impl; }
236 
238 
241  vtkGetObjectMacro(CenterPts,vtkPoints);
243 
245 
250  vtkGetObjectMacro(CoincidentPoints,vtkCoincidentPoints);
252 
253 protected:
255  virtual ~vtkLabelHierarchy();
256 
268 
270 
271  friend class vtkLabelHierarchyFrustumIterator;
272  friend class vtkLabelHierarchyFullSortIterator;
273  friend class implementation;
274 
275 private:
276  vtkLabelHierarchy( const vtkLabelHierarchy& ) VTK_DELETE_FUNCTION;
277  void operator = ( const vtkLabelHierarchy& ) VTK_DELETE_FUNCTION;
278 };
279 
280 #endif // vtkLabelHierarchy_h
iterator over vtkLabelHierarchy
contains an octree of labels
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
Topological inquiry to get cells using point.
vtkIdType FindCell(double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights) override
See vtkDataSet for additional information.
static vtkDataObject * New()
Abstract superclass for all arrays.
virtual void SetPoints(vtkPoints *)
Specify point array to define point coordinates.
vtkAbstractArray * Labels
vtkDataArray * Priorities
vtkCoincidentPoints * CoincidentPoints
vtkDataArray * Sizes
abstract specification for renderers
Definition: vtkRenderer.h:63
abstract class for specifying dataset behavior
Definition: vtkPointSet.h:42
int vtkIdType
Definition: vtkType.h:287
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
provides thread-safe access to cells
abstract class to specify cell behavior
Definition: vtkCell.h:59
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:45
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual int GetMaxCellSize()=0
Convenience method returns largest cell size in dataset.
a virtual camera for 3D rendering
Definition: vtkCamera.h:50
list of point or cell ids
Definition: vtkIdList.h:36
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
represent text properties.
vtkDataArray * Orientations
#define VTK_NEWINSTANCE
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Implementation * Impl
vtkIntArray * IconIndices
vtkDataArray * BoundedSizes
contains an octree of labels
IteratorType
Enumeration of iterator types.
vtkTextProperty * TextProperty
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
represent and manipulate 3D points
Definition: vtkPoints.h:39
virtual int GetCellType(vtkIdType cellId)=0
Get type of cell with cellId such that: 0 <= cellId < NumberOfCells.
Implementation * GetImplementation()