1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkExtractEdges.h 5 6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 All rights reserved. 8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 9 10 This software is distributed WITHOUT ANY WARRANTY; without even 11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 12 PURPOSE. See the above copyright notice for more information. 13 14 =========================================================================*/ 15 /** 16 * @class vtkExtractEdges 17 * @brief extract cell edges from any type of data 18 * 19 * vtkExtractEdges is a filter to extract edges from a dataset. Edges 20 * are extracted as lines or polylines. 21 * 22 * @sa 23 * vtkFeatureEdges 24 */ 25 26 #ifndef vtkExtractEdges_h 27 #define vtkExtractEdges_h 28 29 #include "vtkFiltersExtractionModule.h" // For export macro 30 #include "vtkPolyDataAlgorithm.h" 31 32 class vtkIncrementalPointLocator; 33 34 class VTKFILTERSEXTRACTION_EXPORT vtkExtractEdges : public vtkPolyDataAlgorithm 35 { 36 public: 37 static vtkExtractEdges *New(); 38 vtkTypeMacro(vtkExtractEdges,vtkPolyDataAlgorithm); 39 void PrintSelf(ostream& os, vtkIndent indent) override; 40 41 //@{ 42 /** 43 * Set / get a spatial locator for merging points. By 44 * default an instance of vtkMergePoints is used. 45 */ 46 void SetLocator(vtkIncrementalPointLocator *locator); 47 vtkGetObjectMacro(Locator,vtkIncrementalPointLocator); 48 //@} 49 50 /** 51 * Create default locator. Used to create one when none is specified. 52 */ 53 void CreateDefaultLocator(); 54 55 /** 56 * Return MTime also considering the locator. 57 */ 58 vtkMTimeType GetMTime() override; 59 60 protected: 61 vtkExtractEdges(); 62 ~vtkExtractEdges() override; 63 64 // Usual data generation method 65 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override; 66 67 int FillInputPortInformation(int port, vtkInformation *info) override; 68 69 vtkIncrementalPointLocator *Locator; 70 private: 71 vtkExtractEdges(const vtkExtractEdges&) = delete; 72 void operator=(const vtkExtractEdges&) = delete; 73 }; 74 75 #endif 76 77 78