Как сохранить vtkSphere в файл VTK?

Я пытаюсь сохранить несколько сфер в файл для последующей визуализации с помощью ParaView.

У меня есть текстовый файл с информацией о положении и форме (радиусе) каждой сферы. С помощью Python и VTK я создаю файл для визуализации данных в ParaView. Прямо сейчас я могу сохранить центр и радиусы сфер как vtkUnstructuredGrid и позже в ParaView я добавляю символ сферы для правильной визуализации. Этот подход работает, но очень утомительно добавлять глиф вручную каждый раз, когда мне нужно визуализировать данные. Поэтому я пытаюсь выяснить, как сохранить сферы в целом в файл VTK.

Я играл с vtkSphere но не могу найти способ сохранить сферу в файл vtk.

Теперь снова вопрос: как сохранить vtkSphere в файл VTK?

Я открыт для предложений по альтернативным решениям моей проблемы.

3

Решение

Если вы хотите сохранить из Paraview, вы можете просто сохранить данные после применения глифа.

Если вы хотите создать сферы напрямую, используйте vtkSphereSource (вместо vtkSphere которая создает неявную функцию, например, для использования с фильтром клипов или глиф-фильтром), а затем подключает ее выход к vtkwriter.
Вот код для создания и записи одной сферы:

sphere = vtk.vtkSphereSource()
sphere.SetRadius(4)
sphere.SetCenter(0,0,1)
writer = vtk.vtkPolyDataWriter()
writer.SetInputData(sphere.GetOutput())
writer.SetFileName('mysphere.vtk')
writer.Update()

Вы также можете создавать глифы непосредственно с помощью кода vtk, см. http://www.vtk.org/Wiki/VTK/Examples/Cxx/Visualization/ProgrammableGlyphFilter (в этом случае вы используете vtkSphere как источник для глифа)

2

Другие решения

Я думаю, что необходимые шаги будут:

Объединить данные см. Пример http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filtering/CombinePolyData

и записать результат в файл VTP, см. пример http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/WriteVTP

1

По вопросам рекламы [email protected]