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 "vtkObject.h" 00036 00037 class vtkIdList; 00038 class vtkDoubleArray; 00039 class vtkDataArray; 00040 00041 class VTK_VOLUMERENDERING_EXPORT vtkUnstructuredGridVolumeRayCastIterator : public vtkObject 00042 { 00043 public: 00044 vtkTypeMacro(vtkUnstructuredGridVolumeRayCastIterator, vtkObject); 00045 virtual void PrintSelf(ostream &os, vtkIndent indent); 00046 00049 virtual void Initialize(int x, int y) = 0; 00050 00052 00061 virtual vtkIdType GetNextIntersections(vtkIdList *intersectedCells, 00062 vtkDoubleArray *intersectionLengths, 00063 vtkDataArray *scalars, 00064 vtkDataArray *nearIntersections, 00065 vtkDataArray *farIntersections) = 0; 00067 00069 00071 vtkSetVector2Macro(Bounds, double); 00072 vtkGetVector2Macro(Bounds, double); 00074 00075 // Descrption: 00076 // Set/get the maximum number of intersections returned with a call to 00077 // GetNextIntersections. Set to 32 by default. 00078 vtkSetMacro(MaxNumberOfIntersections, vtkIdType); 00079 vtkGetMacro(MaxNumberOfIntersections, vtkIdType); 00080 00081 protected: 00082 vtkUnstructuredGridVolumeRayCastIterator(); 00083 ~vtkUnstructuredGridVolumeRayCastIterator(); 00084 00085 double Bounds[2]; 00086 00087 vtkIdType MaxNumberOfIntersections; 00088 00089 private: 00090 vtkUnstructuredGridVolumeRayCastIterator(const vtkUnstructuredGridVolumeRayCastIterator&); // Not implemented. 00091 void operator=(const vtkUnstructuredGridVolumeRayCastIterator&); // Not implemented. 00092 }; 00093 00094 #endif //__vtkUnstructuredGridRayCastIterator_h 00095