ParaView
vtkPVExtractBagPlots.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVExtractBagPlots.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
22 #ifndef vtkPVExtractBagPlots_h
23 #define vtkPVExtractBagPlots_h
24 
25 #include "vtkMultiBlockDataSetAlgorithm.h"
26 #include "vtkPVVTKExtensionsDefaultModule.h" //needed for exports
27 
28 class vtkDoubleArray;
29 class vtkMultiBlockDataSet;
30 
31 class PVExtractBagPlotsInternal;
32 
33 class VTKPVVTKEXTENSIONSDEFAULT_EXPORT vtkPVExtractBagPlots : public vtkMultiBlockDataSetAlgorithm
34 {
35 public:
36  static vtkPVExtractBagPlots* New();
37  vtkTypeMacro(vtkPVExtractBagPlots, vtkMultiBlockDataSetAlgorithm);
38  virtual void PrintSelf(ostream& os, vtkIndent indent);
39 
41 
44  void EnableAttributeArray(const char*);
45  void ClearAttributeArrays();
47 
49 
53  vtkGetMacro(TransposeTable, bool);
54  vtkSetMacro(TransposeTable, bool);
55  vtkBooleanMacro(TransposeTable, bool);
57 
59 
63  vtkGetMacro(RobustPCA, bool);
64  vtkSetMacro(RobustPCA, bool);
66 
68 
72  vtkGetMacro(KernelWidth, double);
73  vtkSetMacro(KernelWidth, double);
75 
77 
82  vtkGetMacro(UseSilvermanRule, bool);
83  vtkSetMacro(UseSilvermanRule, bool);
84  vtkBooleanMacro(UseSilvermanRule, bool);
86 
88 
92  vtkGetMacro(GridSize, int);
93  vtkSetMacro(GridSize, int);
95 
97 
102  vtkGetMacro(UserQuantile, int);
103  vtkSetClampMacro(UserQuantile, int, 0, 100);
105 
106 protected:
108  virtual ~vtkPVExtractBagPlots();
109 
110  virtual int FillInputPortInformation(int port, vtkInformation* info);
111 
112  int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
113 
114  void GetEigenvalues(vtkMultiBlockDataSet* outputMetaDS, vtkDoubleArray* eigenvalues);
115  void GetEigenvectors(
116  vtkMultiBlockDataSet* outputMetaDS, vtkDoubleArray* eigenvectors, vtkDoubleArray* eigenvalues);
117 
118  PVExtractBagPlotsInternal* Internal;
119 
120  double KernelWidth;
121  int GridSize;
124  bool RobustPCA;
126 
127 private:
128  vtkPVExtractBagPlots(const vtkPVExtractBagPlots&) VTK_DELETE_FUNCTION;
129  void operator=(const vtkPVExtractBagPlots&) VTK_DELETE_FUNCTION;
130 };
131 
132 #endif // vtkPVExtractBagPlots_h
This filter generates data needed to display bag and functional bag plots.
PVExtractBagPlotsInternal * Internal