| 20 | } while (false) |
| 21 | |
| 22 | int ArraySparseArrayToTable(int vtkNotUsed(argc), char* vtkNotUsed(argv)[]) |
| 23 | { |
| 24 | try |
| 25 | { |
| 26 | vtkSmartPointer<vtkSparseArray<double>> array = vtkSmartPointer<vtkSparseArray<double>>::New(); |
| 27 | array->Resize(10, 10, 10); |
| 28 | array->SetDimensionLabel(0, "i"); |
| 29 | array->SetDimensionLabel(1, "j"); |
| 30 | array->SetDimensionLabel(2, "k"); |
| 31 | array->AddValue(0, 0, 0, 1); |
| 32 | array->AddValue(1, 2, 3, 2); |
| 33 | array->AddValue(4, 5, 6, 3); |
| 34 | |
| 35 | vtkSmartPointer<vtkArrayData> array_data = vtkSmartPointer<vtkArrayData>::New(); |
| 36 | array_data->AddArray(array); |
| 37 | |
| 38 | vtkSmartPointer<vtkSparseArrayToTable> convert = vtkSmartPointer<vtkSparseArrayToTable>::New(); |
| 39 | convert->SetInputData(0, array_data); |
| 40 | convert->SetValueColumn("value"); |
| 41 | convert->Update(); |
| 42 | |
| 43 | vtkTable* const table = convert->GetOutput(); |
| 44 | table->Dump(8); |
| 45 | |
| 46 | test_expression(table->GetNumberOfColumns() == 4); |
| 47 | test_expression(table->GetColumn(0)->GetName() == vtkStdString("i")); |
| 48 | test_expression(table->GetColumn(1)->GetName() == vtkStdString("j")); |
| 49 | test_expression(table->GetColumn(2)->GetName() == vtkStdString("k")); |
| 50 | test_expression(table->GetColumn(3)->GetName() == vtkStdString("value")); |
| 51 | |
| 52 | test_expression(table->GetNumberOfRows() == 3); |
| 53 | |
| 54 | test_expression(table->GetValue(0, 0).ToInt() == 0); |
| 55 | test_expression(table->GetValue(0, 1).ToInt() == 0); |
| 56 | test_expression(table->GetValue(0, 2).ToInt() == 0); |
| 57 | test_expression(table->GetValue(0, 3).ToDouble() == 1); |
| 58 | test_expression(table->GetValue(1, 0).ToInt() == 1); |
| 59 | test_expression(table->GetValue(1, 1).ToInt() == 2); |
| 60 | test_expression(table->GetValue(1, 2).ToInt() == 3); |
| 61 | test_expression(table->GetValue(1, 3).ToDouble() == 2); |
| 62 | test_expression(table->GetValue(2, 0).ToInt() == 4); |
| 63 | test_expression(table->GetValue(2, 1).ToInt() == 5); |
| 64 | test_expression(table->GetValue(2, 2).ToInt() == 6); |
| 65 | test_expression(table->GetValue(2, 3).ToDouble() == 3); |
| 66 | |
| 67 | return 0; |
| 68 | } |
| 69 | catch (std::exception& e) |
| 70 | { |
| 71 | std::cerr << e.what() << std::endl; |
| 72 | return 1; |
| 73 | } |
| 74 | } |
nothing calls this directly
no test coverage detected