VTK
vtkUnstructuredGridVolumeRayCastIterator.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*=========================================================================
4 
5  Program: Visualization Toolkit
6  Module: vtkUnstructuredGridVolumeRayCastIterator.h
7 
8  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
9  All rights reserved.
10  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notice for more information.
15 
16 =========================================================================*/
17 
32 #ifndef __vtkUnstructuredGridVolumeRayCastIterator_h
33 #define __vtkUnstructuredGridVolumeRayCastIterator_h
34 
35 #include "vtkRenderingVolumeModule.h" // For export macro
36 #include "vtkObject.h"
37 
38 class vtkIdList;
39 class vtkDoubleArray;
40 class vtkDataArray;
41 
42 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject
43 {
44 public:
46  virtual void PrintSelf(ostream &os, vtkIndent indent);
47 
50  virtual void Initialize(int x, int y) = 0;
51 
53 
62  virtual vtkIdType GetNextIntersections(vtkIdList *intersectedCells,
63  vtkDoubleArray *intersectionLengths,
64  vtkDataArray *scalars,
65  vtkDataArray *nearIntersections,
66  vtkDataArray *farIntersections) = 0;
68 
70 
72  vtkSetVector2Macro(Bounds, double);
73  vtkGetVector2Macro(Bounds, double);
75 
76  // Descrption:
77  // Set/get the maximum number of intersections returned with a call to
78  // GetNextIntersections. Set to 32 by default.
79  vtkSetMacro(MaxNumberOfIntersections, vtkIdType);
80  vtkGetMacro(MaxNumberOfIntersections, vtkIdType);
81 
82 protected:
85 
86  double Bounds[2];
87 
89 
90 private:
92  void operator=(const vtkUnstructuredGridVolumeRayCastIterator&); // Not implemented.
93 };
94 
95 #endif //__vtkUnstructuredGridRayCastIterator_h
96