【发布时间】:2017-12-12 13:07:11
【问题描述】:
我在 Linux 上使用 VTK-6.2、C++ (gcc-4.7.2),并且我有以下 VTK 管道设置(请忽略实现、细节并专注于管道:cone->filter->mapper->actor) :
// cone/initialize
vtkConeSource cone;
// add cone(s) to filter
vtkAppendFilter filter;
filter.AddInputData(cone.GetOutput());
// add filter to mapper
vtkDataSetMapper mapper;
mapper.SetInputData(filter->GetOutput());
// actor
vtkActor actor;
actor.SetMapper(mapper);
场景渲染良好。
问题
我想更新原始数据(即锥体)和要正确渲染的演员。
如果我只有演员,我如何访问原始锥体数据?这是否保证演员也会更新?因为当我决定跟踪原始数据(通过指针:整个实现是用
vtkSmartPointers)然后更改它们的一些属性时,管道没有更新。不应该自动更新吗?(当我更改演员(例如他们的可见性)时,场景渲染良好)
请原谅,我不是 VTK 专家,而且管道令人困惑。也许一种方法是简化我的管道。
谢谢
[更新]
根据this 对类似帖子的回答,原始数据(vtkConeSource)被转换(在vtkAppendFilter 中添加时转换为vtkUnstructuredGrid),因此即使我跟踪原始数据,也会更改它们没用。
【问题讨论】: