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, выполняемой программируемым источником, и является выходным объектом источника.