VTK  9.1.20211230
vtkVectorNorm.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVectorNorm.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 =========================================================================*/
54 #ifndef vtkVectorNorm_h
55 #define vtkVectorNorm_h
56 
57 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
58 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
59 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
60 
61 #include "vtkDataSetAlgorithm.h"
62 #include "vtkFiltersCoreModule.h" // For export macro
63 
64 class VTKFILTERSCORE_EXPORT vtkVectorNorm : public vtkDataSetAlgorithm
65 {
66 public:
68  void PrintSelf(ostream& os, vtkIndent indent) override;
69 
73  static vtkVectorNorm* New();
74 
75  // Specify whether to normalize scalar values. If the data is normalized,
76  // then it will fall in the range [0,1].
77  vtkSetMacro(Normalize, vtkTypeBool);
78  vtkGetMacro(Normalize, vtkTypeBool);
79  vtkBooleanMacro(Normalize, vtkTypeBool);
80 
82 
91  vtkSetMacro(AttributeMode, int);
92  vtkGetMacro(AttributeMode, int);
93  void SetAttributeModeToDefault() { this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT); }
95  {
96  this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);
97  }
99  const char* GetAttributeModeAsString();
101 
102 protected:
104  ~vtkVectorNorm() override = default;
105 
107 
108  vtkTypeBool Normalize; // normalize 0<=n<=1 if true.
109  int AttributeMode; // control whether to use point or cell data, or both
110 
111 private:
112  vtkVectorNorm(const vtkVectorNorm&) = delete;
113  void operator=(const vtkVectorNorm&) = delete;
114 };
115 
116 #endif
Superclass for algorithms that produce output of the same type as input.
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
generate scalars from Euclidean norm of vectors
Definition: vtkVectorNorm.h:65
vtkTypeBool Normalize
void SetAttributeModeToUsePointData()
Control how the filter works to generate scalar data from the input vector data.
Definition: vtkVectorNorm.h:94
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
static vtkVectorNorm * New()
Construct with normalize flag off.
void SetAttributeModeToUseCellData()
Control how the filter works to generate scalar data from the input vector data.
Definition: vtkVectorNorm.h:98
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAttributeModeToDefault()
Control how the filter works to generate scalar data from the input vector data.
Definition: vtkVectorNorm.h:93
const char * GetAttributeModeAsString()
Control how the filter works to generate scalar data from the input vector data.
~vtkVectorNorm() override=default
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_ATTRIBUTE_MODE_USE_POINT_DATA
Definition: vtkVectorNorm.h:58
#define VTK_ATTRIBUTE_MODE_DEFAULT
Definition: vtkVectorNorm.h:57
#define VTK_ATTRIBUTE_MODE_USE_CELL_DATA
Definition: vtkVectorNorm.h:59