Advertisement
Guest User

ParaView vtkStructuredGrid

a guest
Jun 4th, 2014
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. int dg_reader::RequestData(vtkInformation * request, vtkInformationVector ** inVec, vtkInformationVector *outVec)
  2. {
  3.   vtkInformation *info = outVec->GetInformationObject(0);
  4.   // get the output
  5.   vtkStructuredGrid *grid = vtkStructuredGrid::SafeDownCast(info->Get(vtkStructuredGrid::DATA_OBJECT()));
  6.  
  7.   // create data
  8.   vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
  9.   size_t numi = 2;
  10.   size_t numj = 3;
  11.   size_t numk = 1;
  12.   grid->SetExtent(0, numj, 0, numj, 0, numj);
  13.   for(size_t k = 0; k < numk; ++k)
  14.   {
  15.     for(size_t j = 0; j < numj; ++j)
  16.     {
  17.       for(size_t i = 0; i < numi; ++i)
  18.       {
  19.         points->InsertNextPoint(i, j, k);
  20.       }
  21.     }
  22.   }
  23.  
  24.   grid->SetDimensions(numi, numj, numk);
  25.   grid->SetPoints(points);
  26.  
  27.   vtkSmartPointer<vtkDoubleArray> density = vtkSmartPointer<vtkDoubleArray>::New();
  28.   density->SetName("density");
  29.   density->SetNumberOfComponents(1);
  30.   density->SetNumberOfValues(points->GetNumberOfPoints());
  31.   for(size_t i = 0; i < points->GetNumberOfPoints(); ++i)
  32.   {
  33.     density->SetComponent(i, 0, i);
  34.   }
  35.   grid->GetPointData()->AddArray(density);
  36.   std::cout << grid->GetNumberOfPoints() << " points" << std::endl;
  37.   std::cout << grid->GetNumberOfCells() << " cells" << std::endl;
  38.   return 1;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement