28#ifndef vtkHyperTreeGridGradient_h
29#define vtkHyperTreeGridGradient_h
31#include "vtkFiltersHyperTreeModule.h"
40VTK_ABI_NAMESPACE_BEGIN
65 vtkSetMacro(ComputeGradient,
bool);
66 vtkGetMacro(ComputeGradient,
bool);
67 vtkBooleanMacro(ComputeGradient,
bool);
74 vtkSetStringMacro(GradientArrayName);
75 vtkGetStringMacro(GradientArrayName);
77 void SetResultArrayName(
std::
string name) { this->SetGradientArrayName(name.c_str()); }
79 std::
string GetResultArrayName() {
return std::string(this->GetGradientArrayName()); }
89 vtkSetClampMacro(Mode,
int, UNLIMITED, UNSTRUCTURED);
90 vtkGetMacro(Mode,
int);
99 vtkSetMacro(ExtensiveComputation,
bool);
100 vtkGetMacro(ExtensiveComputation,
bool);
101 vtkBooleanMacro(ExtensiveComputation,
bool);
109 vtkSetMacro(ComputeDivergence,
bool);
110 vtkGetMacro(ComputeDivergence,
bool);
111 vtkBooleanMacro(ComputeDivergence,
bool);
118 vtkSetStringMacro(DivergenceArrayName);
119 vtkGetStringMacro(DivergenceArrayName);
127 vtkSetMacro(ComputeVorticity,
bool);
128 vtkGetMacro(ComputeVorticity,
bool);
129 vtkBooleanMacro(ComputeVorticity,
bool);
136 vtkSetStringMacro(VorticityArrayName);
137 vtkGetStringMacro(VorticityArrayName);
145 vtkSetMacro(ComputeQCriterion,
bool);
146 vtkGetMacro(ComputeQCriterion,
bool);
147 vtkBooleanMacro(ComputeQCriterion,
bool);
154 vtkSetStringMacro(QCriterionArrayName);
155 vtkGetStringMacro(QCriterionArrayName);
171 template <
class Cursor,
class GradWorker>
178 template <
class FieldsWorker>
185 bool ComputeGradient =
true;
187 char* GradientArrayName = strdup(
"Gradient");
188 int Mode = ComputeMode::UNLIMITED;
189 bool ExtensiveComputation =
false;
192 bool ComputeDivergence =
false;
194 char* DivergenceArrayName = strdup(
"Divergence");
197 bool ComputeVorticity =
false;
199 char* VorticityArrayName = strdup(
"Vorticity");
202 bool ComputeQCriterion =
false;
204 char* QCriterionArrayName = strdup(
"QCriterion");
dynamic, self-adjusting array of bits
general representation of visualization data
dynamic, self-adjusting array of double
Superclass for algorithms that produce a hyper tree grid as output.
Compute the gradient of a scalar field on a Hyper Tree Grid.
vtkNew< vtkDoubleArray > OutQCritArray
void RecursivelyProcessGradientTree(Cursor *, GradWorker &)
Recursively descend into tree down to leaves to compute gradient Uses a heavy supercursor.
vtkNew< vtkDoubleArray > OutGradArray
vtkNew< vtkDoubleArray > OutVortArray
vtkSmartPointer< vtkDataArray > InArray
Keep track of selected input scalars / vectors.
vtkHyperTreeGridGradient()
vtkNew< vtkDoubleArray > OutDivArray
int ProcessTrees(vtkHyperTreeGrid *, vtkDataObject *) override
Main routine to generate gradient of hyper tree grid.
static vtkHyperTreeGridGradient * New()
~vtkHyperTreeGridGradient() override
void ProcessFields(FieldsWorker &)
Compute Vorticity, Divergence and QCriterion upon request, from the Gradient cell array.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Objects for traversal a HyperTreeGrid.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
a simple class to control print indentation
Allocate and hold a VTK object.
Hold a reference to a vtkObjectBase instance.
dynamic, self-adjusting array of unsigned char
#define VTK_DEPRECATED_IN_9_3_0(reason)