vtkThreeSliceFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkThreeSliceFilter_h
19 #define vtkThreeSliceFilter_h
20 
21 #include "vtkPolyDataAlgorithm.h"
22 #include "vtkRemotingViewsModule.h" //needed for exports
23 
24 class vtkAppendPolyData;
25 class vtkCellData;
26 class vtkCutter;
27 class vtkDataSet;
28 class vtkPProbeFilter;
29 class vtkPlane;
30 class vtkPointData;
31 class vtkPointSource;
32 class vtkPolyData;
33 
35 {
36 public:
38  void PrintSelf(ostream& os, vtkIndent indent) override;
39 
44  static vtkThreeSliceFilter* New();
45 
49  vtkMTimeType GetMTime() override;
50 
54  void SetCutNormal(int cutIndex, double normal[3]);
55 
59  void SetCutOrigin(int cutIndex, double origin[3]);
60 
64  void SetCutValue(int cutIndex, int index, double value);
65 
69  void SetNumberOfSlice(int cutIndex, int size);
70 
77  void SetToDefaultSettings();
78 
82  void SetCutOrigins(double origin[3]);
83  void SetCutOrigins(double x, double y, double z)
84  {
85  double xyz[] = { x, y, z };
86  this->SetCutOrigins(xyz);
87  }
88 
92  void EnableProbe(int enable);
93 
97  bool GetProbedPointData(const char* arrayName, double& value);
98 
99 protected:
101  ~vtkThreeSliceFilter() override;
102 
103  int FillInputPortInformation(int port, vtkInformation* info) override;
105 
106  vtkCutter* Slices[3];
107  vtkPlane* Planes[3];
111 
112  void Process(vtkDataSet* input, vtkPolyData* outputs[4], unsigned int compositeIndex);
113 
114 private:
115  vtkThreeSliceFilter(const vtkThreeSliceFilter&) = delete;
116  void operator=(const vtkThreeSliceFilter&) = delete;
117 };
118 
119 #endif
vtkPProbeFilter * Probe
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTKREMOTINGVIEWS_EXPORT
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkAppendPolyData * CombinedFilteredInput
info
void SetCutOrigins(double x, double y, double z)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkTypeUInt64 vtkMTimeType
static vtkPolyDataAlgorithm * New()
Cut vtkDataSet along 3 planes.
virtual vtkMTimeType GetMTime()
vtkPointSource * PointToProbe
value
port
void operator=(const vtkObjectBase &)