VTK  9.1.0
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
39class vtkIdList;
40class vtkDoubleArray;
41class vtkDataArray;
42
43class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject
44{
45public:
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
85protected:
88
89 double Bounds[2];
90
92
93private:
96 void operator=(const vtkUnstructuredGridVolumeRayCastIterator&) = delete;
97};
98
99#endif // vtkUnstructuredGridRayCastIterator_h
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:159
dynamic, self-adjusting array of double
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:82
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:332