VTK/Examples/Cxx/Utilities/KnownLengthArray
From KitwarePublic
This example creates a VTK style float array. This can be easily interchanged with vtkIntArray, vtkDoubleArray, etc.
The terminology is as follows:
-
SetNumberOfComponents(): sets the number of elements that a tuple in the array will have. See KnownLengthArrayOfVectors for an example with tuples with more than one element. -
SetNumberOfValues(): sets the number of tuples the array will have. See UnknownLengthArray for an example where the number of values is not known in advance.
KnownLengthArray.cxx
#include <vtkSmartPointer.h> #include <vtkFloatArray.h> int main(int, char *[]) { vtkSmartPointer<vtkFloatArray> distances = vtkSmartPointer<vtkFloatArray>::New(); distances->SetName("Distances"); distances->SetNumberOfComponents(1); distances->SetNumberOfValues(5); //set values for(vtkIdType i = 0; i < distances->GetNumberOfTuples(); i++) { float f = (float)i + 0.1; distances->SetValue(i, f); } //get values for(vtkIdType i = 0; i < distances->GetNumberOfTuples(); i++) { float f = distances->GetValue(i); std::cout << f << std::endl; } return EXIT_SUCCESS; }
CMakeLists.txt
cmake_minimum_required(VERSION 2.6) PROJECT(Array) FIND_PACKAGE(VTK REQUIRED) INCLUDE(${VTK_USE_FILE}) ADD_EXECUTABLE(KnownLengthArray KnownLengthArray.cxx) TARGET_LINK_LIBRARIES(KnownLengthArray vtkHybrid)