VTK  9.0.2
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 =========================================================================*/
35 #ifndef vtkVectorNorm_h
36 #define vtkVectorNorm_h
37 
38 #define VTK_ATTRIBUTE_MODE_DEFAULT 0
39 #define VTK_ATTRIBUTE_MODE_USE_POINT_DATA 1
40 #define VTK_ATTRIBUTE_MODE_USE_CELL_DATA 2
41 
42 #include "vtkDataSetAlgorithm.h"
43 #include "vtkFiltersCoreModule.h" // For export macro
44 
45 class VTKFILTERSCORE_EXPORT vtkVectorNorm : public vtkDataSetAlgorithm
46 {
47 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
54  static vtkVectorNorm* New();
55 
56  // Specify whether to normalize scalar values. If the data is normalized,
57  // then it will fall in the range [0,1].
58  vtkSetMacro(Normalize, vtkTypeBool);
59  vtkGetMacro(Normalize, vtkTypeBool);
60  vtkBooleanMacro(Normalize, vtkTypeBool);
61 
63 
72  vtkSetMacro(AttributeMode, int);
73  vtkGetMacro(AttributeMode, int);
74  void SetAttributeModeToDefault() { this->SetAttributeMode(VTK_ATTRIBUTE_MODE_DEFAULT); }
76  {
77  this->SetAttributeMode(VTK_ATTRIBUTE_MODE_USE_POINT_DATA);
78  }
80  const char* GetAttributeModeAsString();
82 
83 protected:
85  ~vtkVectorNorm() override {}
86 
88 
89  vtkTypeBool Normalize; // normalize 0<=n<=1 if true.
90  int AttributeMode; // control whether to use point or cell data, or both
91 
92 private:
93  vtkVectorNorm(const vtkVectorNorm&) = delete;
94  void operator=(const vtkVectorNorm&) = delete;
95 };
96 
97 #endif
Superclass for algorithms that produce output of the same type as input.
a simple class to control print indentation
Definition: vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
generate scalars from Euclidean norm of vectors
Definition: vtkVectorNorm.h:46
~vtkVectorNorm() override
Definition: vtkVectorNorm.h:85
vtkTypeBool Normalize
Definition: vtkVectorNorm.h:89
void SetAttributeModeToUsePointData()
Definition: vtkVectorNorm.h:75
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()
Definition: vtkVectorNorm.h:79
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetAttributeModeToDefault()
Definition: vtkVectorNorm.h:74
const char * GetAttributeModeAsString()
int vtkTypeBool
Definition: vtkABI.h:69
#define VTK_ATTRIBUTE_MODE_USE_POINT_DATA
Definition: vtkVectorNorm.h:39
#define VTK_ATTRIBUTE_MODE_DEFAULT
Definition: vtkVectorNorm.h:38
#define VTK_ATTRIBUTE_MODE_USE_CELL_DATA
Definition: vtkVectorNorm.h:40