| 108 | //------------------------------------------------------------------------------ |
| 109 | template <typename FreeType> |
| 110 | int assign_void_array( |
| 111 | FreeType, vtkAbstractArray* array, void* ptr, std::size_t size, bool vtkShouldFree) |
| 112 | { |
| 113 | int errors = 0; |
| 114 | if (vtkSOADataArrayTemplate<double>* is_soa = |
| 115 | vtkArrayDownCast<vtkSOADataArrayTemplate<double>>(array)) |
| 116 | { |
| 117 | is_soa->SetNumberOfComponents(1); |
| 118 | is_soa->SetArray(0, reinterpret_cast<double*>(ptr), static_cast<vtkIdType>(size), false, |
| 119 | !vtkShouldFree, FreeType::value); |
| 120 | } |
| 121 | else if (vtkScaledSOADataArrayTemplate<double>* is_scale_soa = |
| 122 | vtkArrayDownCast<vtkScaledSOADataArrayTemplate<double>>(array)) |
| 123 | { |
| 124 | is_scale_soa->SetNumberOfComponents(1); |
| 125 | is_scale_soa->SetArray(0, reinterpret_cast<double*>(ptr), static_cast<vtkIdType>(size), false, |
| 126 | !vtkShouldFree, FreeType::value); |
| 127 | } |
| 128 | else |
| 129 | { |
| 130 | const int save = vtkShouldFree ? 0 : 1; |
| 131 | array->SetVoidArray(ptr, static_cast<vtkIdType>(size), save, FreeType::value); |
| 132 | testAssert(array->GetVoidPointer(0) == ptr, "assignment failed"); |
| 133 | } |
| 134 | return errors; |
| 135 | } |
| 136 | |
| 137 | //------------------------------------------------------------------------------ |
| 138 | template <typename FreeType> |
no test coverage detected