mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
ParaView-5.0.1: Added the source-tree to ThirdParty-dev and patched as described in the README file
Resolves bug-report http://bugs.openfoam.org/view.php?id=2098
This commit is contained in:
90
ParaView-5.0.1/VTK/Examples/Array/Cxx/ArrayBasics.cxx
Normal file
90
ParaView-5.0.1/VTK/Examples/Array/Cxx/ArrayBasics.cxx
Normal file
@ -0,0 +1,90 @@
|
||||
#include <vtkArrayPrint.h>
|
||||
#include <vtkDenseArray.h>
|
||||
#include <vtkSparseArray.h>
|
||||
|
||||
int main(int vtkNotUsed(argc), char *vtkNotUsed(argv)[])
|
||||
{
|
||||
////////////////////////////////////////////////////////
|
||||
// Creating N-Way Arrays
|
||||
|
||||
// Creating a dense array of 10 integers:
|
||||
vtkDenseArray<vtkIdType>* array = vtkDenseArray<vtkIdType>::New();
|
||||
array->Resize(10);
|
||||
|
||||
// Creating a dense 20 x 30 matrix:
|
||||
vtkDenseArray<double>* matrix = vtkDenseArray<double>::New();
|
||||
matrix->Resize(20, 30);
|
||||
|
||||
// Creating a sparse 10 x 20 x 30 x 40 tensor:
|
||||
vtkArrayExtents extents;
|
||||
extents.SetDimensions(4);
|
||||
extents[0] = vtkArrayRange(0, 10);
|
||||
extents[1] = vtkArrayRange(0, 20);
|
||||
extents[2] = vtkArrayRange(0, 30);
|
||||
extents[3] = vtkArrayRange(0, 40);
|
||||
vtkSparseArray<vtkIdType>* tensor = vtkSparseArray<vtkIdType>::New();
|
||||
tensor->Resize(extents);
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// Initializing N-Way Arrays
|
||||
|
||||
// Filling a dense array with ones:
|
||||
array->Fill(1);
|
||||
|
||||
// Filling a dense matrix with zeros:
|
||||
matrix->Fill(0.0);
|
||||
|
||||
// There's nothing to do for a sparse array - it's already empty.
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// Assigning N-Way Array Values
|
||||
|
||||
// Assign array value [5]:
|
||||
array->SetValue(5, 42);
|
||||
|
||||
// Assign matrix value [4, 3]:
|
||||
matrix->SetValue(4, 3, 1970);
|
||||
|
||||
// Assign tensor value [3, 7, 1, 2]:
|
||||
vtkArrayCoordinates coordinates;
|
||||
coordinates.SetDimensions(4);
|
||||
coordinates[0] = 3;
|
||||
coordinates[1] = 7;
|
||||
coordinates[2] = 1;
|
||||
coordinates[3] = 2;
|
||||
tensor->SetValue(coordinates, 38);
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// Accessing N-Way Array Values
|
||||
|
||||
// Access array value [5]:
|
||||
cout << "array[5]: " << array->GetValue(5) << "\n\n";
|
||||
|
||||
// Access matrix value [4, 3]:
|
||||
cout << "matrix[4, 3]: " << matrix->GetValue(4, 3) << "\n\n";
|
||||
|
||||
// Access tensor value [3, 7, 1, 2]:
|
||||
cout << "tensor[3, 7, 1, 2]: " << tensor->GetValue(coordinates) << "\n\n";
|
||||
|
||||
////////////////////////////////////////////////////////
|
||||
// Printing N-Way Arrays
|
||||
|
||||
cout << "array:\n";
|
||||
vtkPrintVectorFormat(cout, array);
|
||||
cout << "\n";
|
||||
|
||||
cout << "matrix:\n";
|
||||
vtkPrintMatrixFormat(cout, matrix);
|
||||
cout << "\n";
|
||||
|
||||
cout << "tensor:\n";
|
||||
vtkPrintCoordinateFormat(cout, tensor);
|
||||
cout << "\n";
|
||||
|
||||
// Cleanup array instances ...
|
||||
tensor->Delete();
|
||||
matrix->Delete();
|
||||
array->Delete();
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user