vtkExtractEdges.h 2.08 KB
Newer Older
1 2 3
/*=========================================================================

  Program:   Visualization Toolkit
Ken Martin's avatar
Ken Martin committed
4
  Module:    vtkExtractEdges.h
5

6
  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 8
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9

10 11
     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
     PURPOSE.  See the above copyright notice for more information.
13 14

=========================================================================*/
15 16 17 18 19 20 21 22 23 24
/**
 * @class   vtkExtractEdges
 * @brief   extract cell edges from any type of data
 *
 * vtkExtractEdges is a filter to extract edges from a dataset. Edges
 * are extracted as lines or polylines.
 *
 * @sa
 * vtkFeatureEdges
*/
25

26 27
#ifndef vtkExtractEdges_h
#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 44 45
  //@{
  /**
   * Set / get a spatial locator for merging points. By
   * default an instance of vtkMergePoints is used.
   */
46 47
  void SetLocator(vtkIncrementalPointLocator *locator);
  vtkGetObjectMacro(Locator,vtkIncrementalPointLocator);
48
  //@}
49

50 51 52
  /**
   * Create default locator. Used to create one when none is specified.
   */
53 54
  void CreateDefaultLocator();

55 56 57
  /**
   * Return MTime also considering the locator.
   */
58
  vtkMTimeType GetMTime() override;
Charles Law's avatar
Charles Law committed
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 72
  vtkExtractEdges(const vtkExtractEdges&) = delete;
  void operator=(const vtkExtractEdges&) = delete;
73 74 75 76 77
};

#endif