/usr/share/vtk/Array/Cxx/ArrayIteration.cxx is in vtk-examples 5.8.0-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <vtkArrayPrint.h>
#include <vtkDenseArray.h>
#include <vtkSparseArray.h>
int main(int vtkNotUsed(argc), char *vtkNotUsed(argv)[])
{
// Create a dense matrix:
vtkDenseArray<double>* matrix = vtkDenseArray<double>::New();
matrix->Resize(10, 10);
matrix->Fill(0.0);
// Increment every value in a sparse-or-dense array
// with any number of dimensions:
for(vtkArray::SizeT n = 0; n != matrix->GetNonNullSize(); ++n)
{
matrix->SetValueN(n, matrix->GetValueN(n) + 1);
}
// Compute the sum of every column in a sparse-or-dense matrix:
vtkDenseArray<double>* sum = vtkDenseArray<double>::New();
sum->Resize(matrix->GetExtents()[1]);
sum->Fill(0.0);
vtkArrayCoordinates coordinates;
for(vtkArray::SizeT n = 0; n != matrix->GetNonNullSize(); ++n)
{
matrix->GetCoordinatesN(n, coordinates);
sum->SetValue(coordinates[1], sum->GetValue(coordinates[1]) + matrix->GetValueN(n));
}
cout << "matrix:\n";
vtkPrintMatrixFormat(cout, matrix);
cout << "\n";
cout << "sum:\n";
vtkPrintVectorFormat(cout, sum);
cout << "\n";
sum->Delete();
matrix->Delete();
return 0;
}
|