------------------------------------------------------------------------------
| 1002 | |
| 1003 | //------------------------------------------------------------------------------ |
| 1004 | int 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); |
no test coverage detected