VTK  9.0.1
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 
33 #ifndef vtkUnstructuredGridVolumeRayCastIterator_h
34 #define vtkUnstructuredGridVolumeRayCastIterator_h
35 
36 #include "vtkObject.h"
37 #include "vtkRenderingVolumeModule.h" // For export macro
38 
39 class vtkIdList;
40 class vtkDoubleArray;
41 class vtkDataArray;
42 
43 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject
44 {
45 public:
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48 
53  virtual void Initialize(int x, int y) = 0;
54 
66  virtual vtkIdType GetNextIntersections(vtkIdList* intersectedCells,
67  vtkDoubleArray* intersectionLengths, vtkDataArray* scalars, vtkDataArray* nearIntersections,
68  vtkDataArray* farIntersections) = 0;
69 
71 
75  vtkSetVector2Macro(Bounds, double);
76  vtkGetVector2Macro(Bounds, double);
78 
79  // Descrption:
80  // Set/get the maximum number of intersections returned with a call to
81  // GetNextIntersections. Set to 32 by default.
82  vtkSetMacro(MaxNumberOfIntersections, vtkIdType);
83  vtkGetMacro(MaxNumberOfIntersections, vtkIdType);
84 
85 protected:
88 
89  double Bounds[2];
90 
92 
93 private:
96  void operator=(const vtkUnstructuredGridVolumeRayCastIterator&) = delete;
97 };
98 
99 #endif // vtkUnstructuredGridRayCastIterator_h
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
dynamic, self-adjusting array of double
list of point or cell ids
Definition: vtkIdList.h:31
a simple class to control print indentation
Definition: vtkIndent.h:34
abstract base class for most VTK objects
Definition: vtkObject.h:63
vtkUnstructuredGridVolumeRayCastIterator is a superclass for iterating over the intersections of a vi...
virtual void Initialize(int x, int y)=0
Initializes the iteration to the start of the ray at the given screen coordinates.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual vtkIdType GetNextIntersections(vtkIdList *intersectedCells, vtkDoubleArray *intersectionLengths, vtkDataArray *scalars, vtkDataArray *nearIntersections, vtkDataArray *farIntersections)=0
Get the intersections of the next several cells.
int vtkIdType
Definition: vtkType.h:338