VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkDistancePolyDataFilter.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 =========================================================================*/ 00039 #ifndef vtkDistancePolyDataFilter_h 00040 #define vtkDistancePolyDataFilter_h 00041 00042 #include "vtkFiltersGeneralModule.h" // For export macro 00043 #include "vtkPolyDataAlgorithm.h" 00044 00045 class VTKFILTERSGENERAL_EXPORT vtkDistancePolyDataFilter : public vtkPolyDataAlgorithm 00046 { 00047 public: 00048 static vtkDistancePolyDataFilter *New(); 00049 vtkTypeMacro(vtkDistancePolyDataFilter, vtkPolyDataAlgorithm); 00050 void PrintSelf(ostream& os, vtkIndent indent); 00051 00053 00055 vtkSetMacro(SignedDistance,int); 00056 vtkGetMacro(SignedDistance,int); 00057 vtkBooleanMacro(SignedDistance,int); 00059 00061 00063 vtkSetMacro(NegateDistance,int); 00064 vtkGetMacro(NegateDistance,int); 00065 vtkBooleanMacro(NegateDistance,int); 00067 00069 00071 vtkSetMacro(ComputeSecondDistance,int); 00072 vtkGetMacro(ComputeSecondDistance,int); 00073 vtkBooleanMacro(ComputeSecondDistance,int); 00075 00079 vtkPolyData* GetSecondDistanceOutput(); 00080 00081 protected: 00082 vtkDistancePolyDataFilter(); 00083 ~vtkDistancePolyDataFilter(); 00084 00085 virtual int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*); 00086 void GetPolyDataDistance(vtkPolyData*, vtkPolyData*); 00087 00088 private: 00089 vtkDistancePolyDataFilter(const vtkDistancePolyDataFilter&); // Not implemented 00090 void operator=(const vtkDistancePolyDataFilter&); // Not implemented 00091 00092 int SignedDistance; 00093 int NegateDistance; 00094 int ComputeSecondDistance; 00095 }; 00096 00097 #endif