VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkGraphAnnotationLayersFilter.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 00051 #ifndef __vtkGraphAnnotationLayersFilter_h 00052 #define __vtkGraphAnnotationLayersFilter_h 00053 00054 #include "vtkInfovisCoreModule.h" // For export macro 00055 #include "vtkPolyDataAlgorithm.h" 00056 #include "vtkSmartPointer.h" // needed for ivars 00057 00058 class vtkAppendPolyData; 00059 class vtkConvexHull2D; 00060 class vtkRenderer; 00061 00062 00063 class VTKINFOVISCORE_EXPORT vtkGraphAnnotationLayersFilter: public vtkPolyDataAlgorithm 00064 { 00065 public: 00066 static vtkGraphAnnotationLayersFilter *New(); 00067 vtkTypeMacro(vtkGraphAnnotationLayersFilter, vtkPolyDataAlgorithm); 00068 void PrintSelf(ostream& os, vtkIndent indent); 00069 00071 00072 void OutlineOn(); 00073 void OutlineOff(); 00074 void SetOutline(bool b); 00076 00078 void SetScaleFactor(double scale); 00079 00081 void SetHullShapeToBoundingRectangle(); 00082 00084 void SetHullShapeToConvexHull(); 00085 00088 void SetMinHullSizeInWorld(double size); 00089 00092 void SetMinHullSizeInDisplay(int size); 00093 00096 void SetRenderer(vtkRenderer* renderer); 00097 00099 virtual unsigned long GetMTime(); 00100 00101 protected: 00102 vtkGraphAnnotationLayersFilter(); 00103 ~vtkGraphAnnotationLayersFilter(); 00104 00106 00108 int RequestData(vtkInformation *, vtkInformationVector **, 00109 vtkInformationVector *); 00111 00113 int FillInputPortInformation(int port, vtkInformation* info); 00114 00115 private: 00116 vtkGraphAnnotationLayersFilter(const vtkGraphAnnotationLayersFilter&); // Not implemented. 00117 void operator=(const vtkGraphAnnotationLayersFilter&); // Not implemented. 00118 00119 vtkSmartPointer<vtkAppendPolyData> HullAppend; 00120 vtkSmartPointer<vtkAppendPolyData> OutlineAppend; 00121 vtkSmartPointer<vtkConvexHull2D> ConvexHullFilter; 00122 }; 00123 00124 #endif // __vtkGraphAnnotationLayersFilter_h