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

Method ComputeUnstructuredGridGradient

Filters/General/vtkGradientFilter.cxx:730–1001  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

728
729//------------------------------------------------------------------------------
730int vtkGradientFilter::ComputeUnstructuredGridGradient(vtkDataArray* array, int fieldAssociation,
731 vtkDataSet* input, bool computeVorticity, bool computeQCriterion, bool computeDivergence,
732 vtkDataSet* output)
733{
734 int arrayType = this->GetOutputArrayType(array);
735 int numberOfInputComponents = array->GetNumberOfComponents();
736 using vtkArrayDispatch::Reals;
737
738 vtkSmartPointer<vtkDataArray> gradients = nullptr;
739 if (this->ComputeGradient)
740 {
741 gradients.TakeReference(vtkDataArray::CreateDataArray(arrayType));
742 gradients->SetNumberOfComponents(3 * numberOfInputComponents);
743 gradients->SetNumberOfTuples(array->GetNumberOfTuples());
744 switch (arrayType)
745 {
746 vtkFloatingPointTemplateMacro(
747 Fill(gradients, static_cast<VTK_TT>(0), this->ReplacementValueOption));
748 }
749 if (this->ResultArrayName)
750 {
751 gradients->SetName(this->ResultArrayName);
752 }
753 else
754 {
755 gradients->SetName("Gradients");
756 }
757 }
758 vtkSmartPointer<vtkDataArray> divergence = nullptr;
759 if (computeDivergence)
760 {
761 divergence.TakeReference(vtkDataArray::CreateDataArray(arrayType));
762 divergence->SetNumberOfTuples(array->GetNumberOfTuples());
763 switch (arrayType)
764 {
765 vtkFloatingPointTemplateMacro(
766 Fill(divergence, static_cast<VTK_TT>(0), this->ReplacementValueOption));
767 }
768 if (this->DivergenceArrayName)
769 {
770 divergence->SetName(this->DivergenceArrayName);
771 }
772 else
773 {
774 divergence->SetName("Divergence");
775 }
776 }
777 vtkSmartPointer<vtkDataArray> vorticity;
778 if (computeVorticity)
779 {
780 vorticity.TakeReference(vtkDataArray::CreateDataArray(arrayType));
781 vorticity->SetNumberOfComponents(3);
782 vorticity->SetNumberOfTuples(array->GetNumberOfTuples());
783 switch (arrayType)
784 {
785 vtkFloatingPointTemplateMacro(
786 Fill(vorticity, static_cast<VTK_TT>(0), this->ReplacementValueOption));
787 }

Callers 1

RequestDataMethod · 0.95

Calls 15

GetOutputArrayTypeMethod · 0.95
SetScalarsMethod · 0.80
FillFunction · 0.70
CreateDataArrayFunction · 0.50
ExecuteFunction · 0.50
GetNumberOfComponentsMethod · 0.45
TakeReferenceMethod · 0.45
SetNumberOfComponentsMethod · 0.45
SetNumberOfTuplesMethod · 0.45
GetNumberOfTuplesMethod · 0.45
SetNameMethod · 0.45
SetDataSetMethod · 0.45

Tested by

no test coverage detected