| 26 | vtkUnstructuredGrid* VTKGrid; |
| 27 | |
| 28 | void BuildVTKGrid(Grid& grid) |
| 29 | { |
| 30 | // create the points information |
| 31 | vtkSOADataArrayTemplate<double>* pointArray = vtkSOADataArrayTemplate<double>::New(); |
| 32 | pointArray->SetNumberOfComponents(3); |
| 33 | pointArray->SetNumberOfTuples(grid.GetNumberOfPoints()); |
| 34 | pointArray->SetArray(0, grid.GetPointsArray(), grid.GetNumberOfPoints(), false, true); |
| 35 | pointArray->SetArray( |
| 36 | 1, grid.GetPointsArray() + grid.GetNumberOfPoints(), grid.GetNumberOfPoints(), false, true); |
| 37 | pointArray->SetArray( |
| 38 | 2, grid.GetPointsArray() + 2 * grid.GetNumberOfPoints(), grid.GetNumberOfPoints(), false, true); |
| 39 | |
| 40 | vtkNew<vtkPoints> points; |
| 41 | points->SetData(pointArray); |
| 42 | pointArray->Delete(); |
| 43 | VTKGrid->SetPoints(points); |
| 44 | |
| 45 | // create the cells |
| 46 | size_t numCells = grid.GetNumberOfCells(); |
| 47 | VTKGrid->Allocate(static_cast<vtkIdType>(numCells * 9)); |
| 48 | for (size_t cell = 0; cell < numCells; cell++) |
| 49 | { |
| 50 | unsigned int* cellPoints = grid.GetCellPoints(cell); |
| 51 | vtkIdType tmp[8] = { cellPoints[0], cellPoints[1], cellPoints[2], cellPoints[3], cellPoints[4], |
| 52 | cellPoints[5], cellPoints[6], cellPoints[7] }; |
| 53 | VTKGrid->InsertNextCell(VTK_HEXAHEDRON, 8, tmp); |
| 54 | } |
| 55 | } |
| 56 | |
| 57 | void UpdateVTKAttributes(Grid& grid, Attributes& attributes, vtkCPInputDataDescription* idd) |
| 58 | { |
no test coverage detected