vtkThreeSliceFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkThreeSliceFilter.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 vtkThreeSliceFilter_h
30 #define vtkThreeSliceFilter_h
31 
32 #include "vtkPolyDataAlgorithm.h"
33 #include "vtkRemotingViewsModule.h" //needed for exports
34 
35 class vtkAppendPolyData;
36 class vtkCellData;
37 class vtkCutter;
38 class vtkDataSet;
39 class vtkPProbeFilter;
40 class vtkPlane;
41 class vtkPointData;
42 class vtkPointSource;
43 class vtkPolyData;
44 
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
55  static vtkThreeSliceFilter* New();
56 
60  vtkMTimeType GetMTime() override;
61 
65  void SetCutNormal(int cutIndex, double normal[3]);
66 
70  void SetCutOrigin(int cutIndex, double origin[3]);
71 
75  void SetCutValue(int cutIndex, int index, double value);
76 
80  void SetNumberOfSlice(int cutIndex, int size);
81 
88  void SetToDefaultSettings();
89 
93  void SetCutOrigins(double origin[3]);
94  void SetCutOrigins(double x, double y, double z)
95  {
96  double xyz[] = { x, y, z };
97  this->SetCutOrigins(xyz);
98  }
99 
103  void EnableProbe(int enable);
104 
108  bool GetProbedPointData(const char* arrayName, double& value);
109 
110 protected:
112  ~vtkThreeSliceFilter() override;
113 
114  int FillInputPortInformation(int port, vtkInformation* info) override;
116 
117  vtkCutter* Slices[3];
118  vtkPlane* Planes[3];
122 
123  void Process(vtkDataSet* input, vtkPolyData* outputs[4], unsigned int compositeIndex);
124 
125 private:
126  vtkThreeSliceFilter(const vtkThreeSliceFilter&) = delete;
127  void operator=(const vtkThreeSliceFilter&) = delete;
128 };
129 
130 #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 &)