00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPolyDataToImageStencil.h,v $ 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 =========================================================================*/ 00031 #ifndef __vtkPolyDataToImageStencil_h 00032 #define __vtkPolyDataToImageStencil_h 00033 00034 00035 #include "vtkImageStencilSource.h" 00036 00037 class vtkPolyData; 00038 class vtkOBBTree; 00039 00040 class VTK_HYBRID_EXPORT vtkPolyDataToImageStencil : public vtkImageStencilSource 00041 { 00042 public: 00043 static vtkPolyDataToImageStencil *New(); 00044 vtkTypeRevisionMacro(vtkPolyDataToImageStencil, vtkImageStencilSource); 00045 void PrintSelf(ostream& os, vtkIndent indent); 00046 00048 00049 void SetInput(vtkPolyData *input); 00050 vtkPolyData *GetInput(); 00052 00054 00055 vtkSetMacro(Tolerance, double); 00056 vtkGetMacro(Tolerance, double); 00058 00059 protected: 00060 vtkPolyDataToImageStencil(); 00061 ~vtkPolyDataToImageStencil(); 00062 00063 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00064 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00065 00066 double Tolerance; 00067 vtkOBBTree *OBBTree; 00068 00069 virtual void ReportReferences(vtkGarbageCollector*); 00070 virtual int FillInputPortInformation(int, vtkInformation*); 00071 private: 00072 vtkPolyDataToImageStencil(const vtkPolyDataToImageStencil&); // Not implemented. 00073 void operator=(const vtkPolyDataToImageStencil&); // Not implemented. 00074 }; 00075 00076 #endif