我有一个包含一些属性的卷,例如:
m_pVolumeProperty->SetScalarOpacity(m_pVolumeScalarOpacity);
m_pVolumeScalarOpacity->AddPoint(0.0, 0.0);
m_pVolumeScalarOpacity->AddPoint(1.0, 0.1);
m_pVolume->SetMapper(m_pVolumeMapper);
m_pVolume->SetProperty(m_pVolumeProperty);
m_pRenderer->AddActor(m_pVolume);
m_pRenderer->ResetCamera();
m_pRenderWindow->Start();
m_pRenderer->Render();
m_pRenderWindow->Render();
但是在运行时,我想更改这些值(标量不透明度)而不关闭窗口......这是可行的吗?如果是的话,怎么能实现呢?谢谢。
答案 0 :(得分:0)
修改m_pVolumeScalarOpacity中的值,更新音量并重新渲染
m_pVolumeScalarOpacity->AddPoint(0.8, 0.8);
m_pVolume->Update();
m_pRenderWindow->Render();
如果您想将m_pVolumeScalarOpacity用于不同的视图,例如骨骼,皮肤等, 那么你应该在添加点之前清除实例。
e.g。
m_pVolumeScalarOpacity->RemoveAllPoints();