1、GetOutputPort():
GetOutputPort() 返回的是输出端口(output port)的引用。它是一个用于连接到其他算法输入端口的对象,通常在构建VTK管道时使用。
将一个算法的输出连接到另一个算法的输入时,可以使用 GetOutputPort() 获取输出端口,然后将其连接到下一个算法的输入端口。
vtkSmartPointer<vtkSphereSource> sphereSource = vtkSmartPointer<vtkSphereSource>::New();
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(sphereSource->GetOutputPort());
2、GetOutput():
GetOutput() 返回的是算法的实际输出数据对象。它是一个智能指针,可以使用它来获取算法的输出数据,进行进一步的处理或直接使用。
不需要将输出连接到其他算法,而是直接操作输出数据时,可以使用 GetOutput()。
vtkSmartPointer<vtkSphereSource> sphereSource = vtkSmartPointer<vtkSphereSource>::New();
vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputData(sphereSource->GetOutput()); // 直接使用GetOutput()