VTK/Examples/Cxx/Utilities/KnownLengthArrayOfVectors
From KitwarePublic
This example creates a VTK style float array of vectors. This can be easily interchanged with vtkIntArray, vtkDoubleArray, etc.
VectorArrayKnownLength.cxx
#include <vtkSmartPointer.h> #include <vtkFloatArray.h> int main(int, char *[]) { vtkSmartPointer<vtkFloatArray> distances = vtkSmartPointer<vtkFloatArray>::New(); distances->SetName("Distances"); distances->SetNumberOfComponents(3); distances->SetNumberOfTuples(5); //set values for(vtkIdType i = 0; i < distances->GetNumberOfTuples(); i++) { float tuple[3]; tuple[0] = (float)i + 0.1; tuple[1] = (float)i + 0.2; tuple[2] = (float)i + 0.3; distances->SetTuple(i, tuple); } //get values for(vtkIdType i = 0; i < distances->GetNumberOfTuples(); i++) { double d[3]; distances->GetTuple(i, d); std::cout << d[0] << " " << d[1] << " " << d[2] << 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(VectorArrayKnownLength VectorArrayKnownLength.cxx) TARGET_LINK_LIBRARIES(VectorArrayKnownLength vtkHybrid)