VTK
vtkContourLoopExtraction.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkContourLoopExtraction.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 =========================================================================*/
60 #ifndef vtkContourLoopExtraction_h
61 #define vtkContourLoopExtraction_h
62 
63 #include "vtkFiltersModelingModule.h" // For export macro
64 #include "vtkPolyDataAlgorithm.h"
65 
66 #define VTK_LOOP_CLOSURE_OFF 0
67 #define VTK_LOOP_CLOSURE_BOUNDARY 1
68 #define VTK_LOOP_CLOSURE_ALL 2
69 
70 class VTKFILTERSMODELING_EXPORT vtkContourLoopExtraction : public vtkPolyDataAlgorithm
71 {
72 public:
74 
77  static vtkContourLoopExtraction *New();
79  void PrintSelf(ostream& os, vtkIndent indent) override;
81 
83 
88  vtkSetClampMacro(LoopClosure,int,VTK_LOOP_CLOSURE_OFF,VTK_LOOP_CLOSURE_ALL);
89  vtkGetMacro(LoopClosure,int);
91  {this->SetLoopClosure(VTK_LOOP_CLOSURE_OFF);};
93  {this->SetLoopClosure(VTK_LOOP_CLOSURE_BOUNDARY);};
95  {this->SetLoopClosure(VTK_LOOP_CLOSURE_ALL);};
96  const char *GetLoopClosureAsString();
98 
100 
105  vtkSetMacro(ScalarThresholding,bool);
106  vtkGetMacro(ScalarThresholding,bool);
107  vtkBooleanMacro(ScalarThresholding,bool);
109 
111 
116  vtkSetVector2Macro(ScalarRange,double);
117  vtkGetVector2Macro(ScalarRange,double);
119 
121 
125  vtkSetVector3Macro(Normal,double);
126  vtkGetVector3Macro(Normal,double);
128 
129 protected:
131  ~vtkContourLoopExtraction() override;
132 
135  double ScalarRange[2];
136  double Normal[3];
137 
139  vtkInformationVector *) override;
140 
141 private:
143  void operator=(const vtkContourLoopExtraction&) = delete;
144 };
145 
146 
147 #endif
#define VTK_LOOP_CLOSURE_ALL
Store vtkAlgorithm input/output information.
void SetLoopClosureToOff()
Specify whether to close loops or not.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_LOOP_CLOSURE_BOUNDARY
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:33
#define VTK_LOOP_CLOSURE_OFF
void SetLoopClosureToBoundary()
Specify whether to close loops or not.
Store zero or more vtkInformation instances.
void SetLoopClosureToAll()
Specify whether to close loops or not.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
extract closed loops (polygons) from lines