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

Method MergeDataObjectFields

Filters/General/vtkMergeArrays.cxx:79–109  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

77
78//------------------------------------------------------------------------------
79int vtkMergeArrays::MergeDataObjectFields(vtkDataObject* input, int idx, vtkDataObject* output)
80{
81 if (!input || !output)
82 {
83 return 0;
84 }
85
86 int checks[vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES];
87 for (int attr = 0; attr < vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES; attr++)
88 {
89 checks[attr] = output->GetNumberOfElements(attr) == input->GetNumberOfElements(attr) ? 0 : 1;
90 }
91 int globalChecks[vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES];
92
93 for (int i = 0; i < vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES; ++i)
94 {
95 globalChecks[i] = checks[i];
96 }
97
98 for (int attr = 0; attr < vtkDataObject::NUMBER_OF_ATTRIBUTE_TYPES; attr++)
99 {
100 if (globalChecks[attr] == 0)
101 {
102 // only merge arrays when the number of elements in the input and output are the same
103 this->MergeArrays(
104 idx, input->GetAttributesAsFieldData(attr), output->GetAttributesAsFieldData(attr));
105 }
106 }
107
108 return 1;
109}
110
111//------------------------------------------------------------------------------
112int vtkMergeArrays::FillInputPortInformation(int vtkNotUsed(port), vtkInformation* info)

Callers 1

RequestDataMethod · 0.95

Calls 3

MergeArraysMethod · 0.95
GetNumberOfElementsMethod · 0.45

Tested by

no test coverage detected