Paraview создать массив точек и установить его в качестве исходного массива

Создание массива с p_points = vtk.vtkPoints

А затем добавить данные к нему p_points.InsertNextPoint(value).

Там как 50000 баллов.

Я хочу поместить этот точечный массив в источник.

Я попробовал с программируемым с:

  • servermanager выбирает getPoints, которые дают мне массив точек (p_array)

  • Потом с петлей p_array.InsertNextPoint(p_points.GetPoint(index_point))

Но без удачи. Массив точек в источнике остается пустым.

Спасибо

2 ответа

Решение

Это работает нормально, но довольно медленно, когда у вас есть 50000 очков (что-то вроде 400-500 секунд)

Когда я использую servermanager.Fetch(ProgrammableSource).GetPoints().InsertNextPoints(x,y,z), обновляет массив.

Я вижу, как это делает Render(). И время. Сон ().

Но в конце выполнения скрипта paraview содержимое кажется пустым.

Я получаю доступ к временному указателю набора, и тогда он не установлен?

Решено: я нашел способ использовать PolylineSource вместо ProgrammableSource.

Спасибо за вашу помощь Кори

Используйте программируемый источник с таким скриптом:

import vtk

pts = vtk.vtkPoints()
for i in xrange(10):
  pts.InsertNextPoint(i, i, i)

output.SetPoints(pts)

output Объект предварительно определен в среде Python, выполняемой программируемым источником, и является выходным объектом источника.

Другие вопросы по тегам