Как я могу получить цветовые свойства всех актеров? - PullRequest
0 голосов
/ 22 ноября 2018

(Это может быть простой вопрос. Однако я не знаю решения.)

Я создал простую программу просмотра файлов multi-STL с использованием библиотек PyQt5 и VTK.

Существует виджет рендеринга (QVTKRenderWindowInteractor) и кнопка сброса (QPushButton).

Если я нажму кнопку сброса, цвет актеров (все загруженные данные STL) изменится набелый.

Следующий код - это функция нажатия кнопки сброса (она работает хорошо):

def _resetBtnClicked(self):
    # reset actor colors
    actorCollection = self.ren.GetActors()
    actorCollection.InitTraversal()

    cactor = actorCollection.GetNextActor() # first actor
    while cactor != actorCollection.GetLastActor():
        cactor.GetProperty().SetColor(1, 1, 1)
        cactor = actorCollection.GetNextActor()
    cactor.GetProperty().SetColor(1, 1, 1) # last actor

self.ren - это vtk.vtkRenderer(), и я использовал пока roop для работы с ЦВЕТАМИ ACTOR, используя .GetNextActor(), последовательно.

Однако я хочу изменить цикл while на простой код, например, self.ren.GetActors().GetProperty().SetColor(1, 1, 1), если это возможно (этого self.ren.GetActors().GetProperty().SetColor(1, 1, 1) не существует).

Если есть несколько функций, которые я могу использовать вместо рупа, пожалуйста, дайте мне знать.

...