MCPcopy Create free account
hub / github.com/Kitware/VTK / ComputeRegularGridGradient

Method ComputeRegularGridGradient

Filters/General/vtkGradientFilter.cxx:1004–1124  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1002
1003//------------------------------------------------------------------------------
1004int vtkGradientFilter::ComputeRegularGridGradient(vtkDataArray* array, int* dims,
1005 int fieldAssociation, bool computeVorticity, bool computeQCriterion, bool computeDivergence,
1006 vtkDataSet* output, vtkUnsignedCharArray* ghosts, unsigned char hiddenGhost)
1007{
1008 int arrayType = this->GetOutputArrayType(array);
1009 int numberOfInputComponents = array->GetNumberOfComponents();
1010 vtkSmartPointer<vtkDataArray> gradients = nullptr;
1011 if (this->ComputeGradient)
1012 {
1013 gradients.TakeReference(vtkDataArray::CreateDataArray(arrayType));
1014 gradients->SetNumberOfComponents(3 * numberOfInputComponents);
1015 gradients->SetNumberOfTuples(array->GetNumberOfTuples());
1016 if (this->ResultArrayName)
1017 {
1018 gradients->SetName(this->ResultArrayName);
1019 }
1020 else
1021 {
1022 gradients->SetName("Gradients");
1023 }
1024 }
1025 vtkSmartPointer<vtkDataArray> divergence = nullptr;
1026 if (computeDivergence)
1027 {
1028 divergence.TakeReference(vtkDataArray::CreateDataArray(arrayType));
1029 divergence->SetNumberOfTuples(array->GetNumberOfTuples());
1030 if (this->DivergenceArrayName)
1031 {
1032 divergence->SetName(this->DivergenceArrayName);
1033 }
1034 else
1035 {
1036 divergence->SetName("Divergence");
1037 }
1038 }
1039 vtkSmartPointer<vtkDataArray> vorticity;
1040 if (computeVorticity)
1041 {
1042 vorticity.TakeReference(vtkDataArray::CreateDataArray(arrayType));
1043 vorticity->SetNumberOfComponents(3);
1044 vorticity->SetNumberOfTuples(array->GetNumberOfTuples());
1045 if (this->VorticityArrayName)
1046 {
1047 vorticity->SetName(this->VorticityArrayName);
1048 }
1049 else
1050 {
1051 vorticity->SetName("Vorticity");
1052 }
1053 }
1054 vtkSmartPointer<vtkDataArray> qCriterion;
1055 if (computeQCriterion)
1056 {
1057 qCriterion.TakeReference(vtkDataArray::CreateDataArray(arrayType));
1058 qCriterion->SetNumberOfTuples(array->GetNumberOfTuples());
1059 if (this->QCriterionArrayName)
1060 {
1061 qCriterion->SetName(this->QCriterionArrayName);

Callers 1

RequestDataMethod · 0.95

Calls 12

GetOutputArrayTypeMethod · 0.95
CreateDataArrayFunction · 0.50
ExecuteFunction · 0.50
GetNumberOfComponentsMethod · 0.45
TakeReferenceMethod · 0.45
SetNumberOfComponentsMethod · 0.45
SetNumberOfTuplesMethod · 0.45
GetNumberOfTuplesMethod · 0.45
SetNameMethod · 0.45
AddArrayMethod · 0.45
GetPointDataMethod · 0.45
GetCellDataMethod · 0.45

Tested by

no test coverage detected