开始学习VTK,VTK中的StructuredGrid和RectilinearGrid是不一样的!
RectilinearGrid的设置方式为:
vtkRectilinearGrid *rgrid = vtkRectilinearGrid::New();
rgrid->SetDimensions(47,33,44);
rgrid->SetXCoordinates(xCoords);
rgrid->SetYCoordinates(yCoords);
rgrid->SetZCoordinates(zCoords);
// Extract a plane from the grid to see what we've got.
vtkRectilinearGridGeometryFilter *plane = vtkRectilinearGridGeometryFilter::New();
plane->SetInput(rgrid);
plane->SetExtent(0,46, 16,16, 0,43);
vtkPolyDataMapper *rgridMapper = vtkPolyDataMapper::New();
rgridMapper->SetInputConnection(plane->GetOutputPort());
rgrid中坐标是一个矩阵,数据设置是要将x坐标、y坐标和z坐标分别传给rgid。
StructuredGrid的设置方式为:
sgrid->SetPoints(points);
points->Delete();
sgrid->GetPointData()->SetVectors(vectors);
vectors->Delete();
vtkPolyDataMapper *sgridMapper = vtkPolyDataMapper::New();
sgridMapper->SetInputConnection(hedgehog->GetOutputPort());
vtkActor *sgridActor = vtkActor::New();
sgridActor->SetMapper(sgridMapper);
sgrid则不一样,虽然需要将坐标进行存储,但是是一个一个点存的。
区别好像就这样的。
具体的问题还没摸清楚.
RectilinearGrid的设置方式为:
vtkRectilinearGrid *rgrid = vtkRectilinearGrid::New();
rgrid->SetDimensions(47,33,44);
rgrid->SetXCoordinates(xCoords);
rgrid->SetYCoordinates(yCoords);
rgrid->SetZCoordinates(zCoords);
// Extract a plane from the grid to see what we've got.
vtkRectilinearGridGeometryFilter *plane = vtkRectilinearGridGeometryFilter::New();
plane->SetInput(rgrid);
plane->SetExtent(0,46, 16,16, 0,43);
vtkPolyDataMapper *rgridMapper = vtkPolyDataMapper::New();
rgridMapper->SetInputConnection(plane->GetOutputPort());
rgrid中坐标是一个矩阵,数据设置是要将x坐标、y坐标和z坐标分别传给rgid。
StructuredGrid的设置方式为:
sgrid->SetPoints(points);
points->Delete();
sgrid->GetPointData()->SetVectors(vectors);
vectors->Delete();
vtkPolyDataMapper *sgridMapper = vtkPolyDataMapper::New();
sgridMapper->SetInputConnection(hedgehog->GetOutputPort());
vtkActor *sgridActor = vtkActor::New();
sgridActor->SetMapper(sgridMapper);
sgrid则不一样,虽然需要将坐标进行存储,但是是一个一个点存的。
区别好像就这样的。
具体的问题还没摸清楚.