VTK
dox/Rendering/Volume/vtkUnstructuredGridVolumeRayIntegrator.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkUnstructuredGridVolumeRayIntegrator.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 
00033 #ifndef __vtkUnstructuredGridVolumeRayIntegrator_h
00034 #define __vtkUnstructuredGridVolumeRayIntegrator_h
00035 
00036 #include "vtkRenderingVolumeModule.h" // For export macro
00037 #include "vtkObject.h"
00038 
00039 class vtkVolume;
00040 class vtkDoubleArray;
00041 class vtkDataArray;
00042 
00043 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayIntegrator : public vtkObject
00044 {
00045 public:
00046   vtkTypeMacro(vtkUnstructuredGridVolumeRayIntegrator,vtkObject);
00047   virtual void PrintSelf(ostream& os, vtkIndent indent);
00048 
00050 
00051   virtual void Initialize(vtkVolume *volume,
00052                           vtkDataArray* scalars) = 0;
00054 
00056 
00063   virtual void Integrate(vtkDoubleArray *intersectionLengths,
00064                          vtkDataArray *nearIntersections,
00065                          vtkDataArray *farIntersections,
00066                          float color[4]) = 0;
00068 
00069 protected:
00070   vtkUnstructuredGridVolumeRayIntegrator();
00071   ~vtkUnstructuredGridVolumeRayIntegrator();
00072 
00073 private:
00074   vtkUnstructuredGridVolumeRayIntegrator(const vtkUnstructuredGridVolumeRayIntegrator&);  // Not implemented.
00075   void operator=(const vtkUnstructuredGridVolumeRayIntegrator&);  // Not implemented.
00076 };
00077 
00078 #endif
00079