VTK  9.3.20240423
vtkUnstructuredGridVolumeRayIntegrator.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 vtkUnstructuredGridVolumeRayIntegrator_h
20#define vtkUnstructuredGridVolumeRayIntegrator_h
21
22#include "vtkObject.h"
23#include "vtkRenderingVolumeModule.h" // For export macro
24
25VTK_ABI_NAMESPACE_BEGIN
26class vtkVolume;
27class vtkDoubleArray;
28class vtkDataArray;
29
30class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayIntegrator : public vtkObject
31{
32public:
34 void PrintSelf(ostream& os, vtkIndent indent) override;
35
39 virtual void Initialize(vtkVolume* volume, vtkDataArray* scalars) = 0;
40
50 virtual void Integrate(vtkDoubleArray* intersectionLengths, vtkDataArray* nearIntersections,
51 vtkDataArray* farIntersections, float color[4]) = 0;
52
53protected:
56
57private:
59 void operator=(const vtkUnstructuredGridVolumeRayIntegrator&) = delete;
60};
61
62VTK_ABI_NAMESPACE_END
63#endif
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
a superclass for volume ray integration functions
virtual void Initialize(vtkVolume *volume, vtkDataArray *scalars)=0
Set up the integrator with the given properties and scalars.
virtual void Integrate(vtkDoubleArray *intersectionLengths, vtkDataArray *nearIntersections, vtkDataArray *farIntersections, float color[4])=0
Given a set of intersections (defined by the three arrays), compute the piecewise integration of the ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
represents a volume (data & properties) in a rendered scene
Definition vtkVolume.h:120