VTK  9.2.6
vtkStreamSurface.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStreamSurface.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 =========================================================================*/
29 #ifndef vtkStreamSurface_h
30 #define vtkStreamSurface_h
31 
32 #include "vtkFiltersFlowPathsModule.h" // For export macro
33 #include "vtkStreamTracer.h"
34 
35 class vtkAppendPolyData;
37 
38 class VTKFILTERSFLOWPATHS_EXPORT vtkStreamSurface : public vtkStreamTracer
39 {
40 public:
41  static vtkStreamSurface* New();
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
46 
49  vtkSetMacro(UseIterativeSeeding, bool);
50  vtkGetMacro(UseIterativeSeeding, bool);
51  vtkBooleanMacro(UseIterativeSeeding, bool);
53 
54 protected:
56  ~vtkStreamSurface() override;
57 
59 
60 private:
61  vtkStreamSurface(const vtkStreamSurface&) = delete;
62  void operator=(const vtkStreamSurface&) = delete;
63 
71  int AdvectSimple(vtkDataObject* field, vtkPolyData* seeds, vtkPolyData* output);
72 
86  int AdvectIterative(
87  vtkDataObject* field, vtkPolyData* seeds, int integrationDirection, vtkPolyData* output);
88 
92  bool UseIterativeSeeding = false;
93 
94  vtkNew<vtkRuledSurfaceFilter> RuledSurface;
95  vtkNew<vtkStreamTracer> StreamTracer;
96  vtkNew<vtkAppendPolyData> AppendSurfaces;
97 };
98 #endif
Store vtkAlgorithm input/output information.
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:90
static vtkStreamTracer * New()
Construct the object to start from position (0,0,0), with forward integration, terminal speed 1...
a simple class to control print indentation
Definition: vtkIndent.h:39
appends one or more polygonal datasets together
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to obtain type information and print object state.
Streamline generator.
Store zero or more vtkInformation instances.
generates a surface from a set of lines
general representation of visualization data
Definition: vtkDataObject.h:65
Advect a stream surface in a vector field.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.