VTK  9.4.20250103
vtkUnstructuredGridVolumeRayCastIterator.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
3
19#ifndef vtkUnstructuredGridVolumeRayCastIterator_h
20#define vtkUnstructuredGridVolumeRayCastIterator_h
21
22#include "vtkObject.h"
23#include "vtkRenderingVolumeModule.h" // For export macro
24
25VTK_ABI_NAMESPACE_BEGIN
26class vtkIdList;
27class vtkDoubleArray;
28class vtkDataArray;
29
30class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject
31{
32public:
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
40 virtual void Initialize(int x, int y) = 0;
41
53 virtual vtkIdType GetNextIntersections(vtkIdList* intersectedCells,
54 vtkDoubleArray* intersectionLengths, vtkDataArray* scalars, vtkDataArray* nearIntersections,
55 vtkDataArray* farIntersections) = 0;
56
58
62 vtkSetVector2Macro(Bounds, double);
63 vtkGetVector2Macro(Bounds, double);
65
66 // Description:
67 // Set/get the maximum number of intersections returned with a call to
68 // GetNextIntersections. Set to 32 by default.
69 vtkSetMacro(MaxNumberOfIntersections, vtkIdType);
70 vtkGetMacro(MaxNumberOfIntersections, vtkIdType);
71
72protected:
75
76 double Bounds[2];
77
79
80private:
83 void operator=(const vtkUnstructuredGridVolumeRayCastIterator&) = delete;
84};
85
86VTK_ABI_NAMESPACE_END
87#endif // vtkUnstructuredGridRayCastIterator_h
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of double
list of point or cell ids
Definition vtkIdList.h:133
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
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:315