VTK  9.3.20240418
vtkUnstructuredGridHomogeneousRayIntegrator.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2004 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
4 
17 #ifndef vtkUnstructuredGridHomogeneousRayIntegrator_h
18 #define vtkUnstructuredGridHomogeneousRayIntegrator_h
19 
20 #include "vtkRenderingVolumeModule.h" // For export macro
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkVolumeProperty;
25 
26 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridHomogeneousRayIntegrator
28 {
29 public:
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
34  void Initialize(vtkVolume* volume, vtkDataArray* scalars) override;
35 
36  void Integrate(vtkDoubleArray* intersectionLengths, vtkDataArray* nearIntersections,
37  vtkDataArray* farIntersections, float color[4]) override;
38 
40 
45  vtkSetMacro(TransferFunctionTableSize, int);
46  vtkGetMacro(TransferFunctionTableSize, int);
48 
49 protected:
52 
55 
57  float** ColorTable;
59  double* TableShift;
60  double* TableScale;
62 
65 
66  virtual void GetTransferFunctionTables(vtkDataArray* scalars);
67 
68 private:
71  void operator=(const vtkUnstructuredGridHomogeneousRayIntegrator&) = delete;
72 };
73 
74 VTK_ABI_NAMESPACE_END
75 #endif // vtkUnstructuredGridHomogeneousRayIntegrator_h
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:155
dynamic, self-adjusting array of double
a simple class to control print indentation
Definition: vtkIndent.h:108
record modification and/or execution time
Definition: vtkTimeStamp.h:44
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkUnstructuredGridHomogeneousRayIntegrator * New()
void Integrate(vtkDoubleArray *intersectionLengths, vtkDataArray *nearIntersections, vtkDataArray *farIntersections, float color[4]) override
Given a set of intersections (defined by the three arrays), compute the piecewise integration of the ...
void Initialize(vtkVolume *volume, vtkDataArray *scalars) override
Set up the integrator with the given properties and scalars.
virtual void GetTransferFunctionTables(vtkDataArray *scalars)
a superclass for volume ray integration functions
represents the common properties for rendering a volume.
represents a volume (data & properties) in a rendered scene
Definition: vtkVolume.h:120
@ color
Definition: vtkX3D.h:221