VTK
|
00001 // -*- c++ -*- 00002 00003 /*========================================================================= 00004 00005 Program: Visualization Toolkit 00006 Module: vtkUnstructuredGridVolumeRayCastIterator.h 00007 00008 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00009 All rights reserved. 00010 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notice for more information. 00015 00016 =========================================================================*/ 00017 00032 #ifndef __vtkUnstructuredGridVolumeRayCastIterator_h 00033 #define __vtkUnstructuredGridVolumeRayCastIterator_h 00034 00035 #include "vtkRenderingVolumeModule.h" // For export macro 00036 #include "vtkObject.h" 00037 00038 class vtkIdList; 00039 class vtkDoubleArray; 00040 class vtkDataArray; 00041 00042 class VTKRENDERINGVOLUME_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject 00043 { 00044 public: 00045 vtkTypeMacro(vtkUnstructuredGridVolumeRayCastIterator, vtkObject); 00046 virtual void PrintSelf(ostream &os, vtkIndent indent); 00047 00050 virtual void Initialize(int x, int y) = 0; 00051 00053 00062 virtual vtkIdType GetNextIntersections(vtkIdList *intersectedCells, 00063 vtkDoubleArray *intersectionLengths, 00064 vtkDataArray *scalars, 00065 vtkDataArray *nearIntersections, 00066 vtkDataArray *farIntersections) = 0; 00068 00070 00072 vtkSetVector2Macro(Bounds, double); 00073 vtkGetVector2Macro(Bounds, double); 00075 00076 // Descrption: 00077 // Set/get the maximum number of intersections returned with a call to 00078 // GetNextIntersections. Set to 32 by default. 00079 vtkSetMacro(MaxNumberOfIntersections, vtkIdType); 00080 vtkGetMacro(MaxNumberOfIntersections, vtkIdType); 00081 00082 protected: 00083 vtkUnstructuredGridVolumeRayCastIterator(); 00084 ~vtkUnstructuredGridVolumeRayCastIterator(); 00085 00086 double Bounds[2]; 00087 00088 vtkIdType MaxNumberOfIntersections; 00089 00090 private: 00091 vtkUnstructuredGridVolumeRayCastIterator(const vtkUnstructuredGridVolumeRayCastIterator&); // Not implemented. 00092 void operator=(const vtkUnstructuredGridVolumeRayCastIterator&); // Not implemented. 00093 }; 00094 00095 #endif //__vtkUnstructuredGridRayCastIterator_h 00096