1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
from vtkmodules.vtkImagingCore import vtkRTAnalyticSource
try:
import numpy
from vtkmodules.numpy_interface import dataset_adapter as dsa
except ImportError:
import sys
sys.exit(0)
# Let's test vtkDataSetAttributes::SetupForCopy() and
# vtkDataSetAttributes::CopyStructuredData() - the code
# path where we copy from a smaller structured data to
# a bigger one that has already some values assigned.
w = vtkRTAnalyticSource()
w.Update()
w = w.GetOutput()
w2 = vtkRTAnalyticSource()
ext = (0,5,0,5,0,5)
w2.SetWholeExtent(*ext)
w2.Update()
w2 = dsa.WrapDataObject(w2.GetOutput())
a = w2.PointData['RTData']
a[:] = 2
pd = w.GetPointData()
pd2 = w2.GetPointData()
pd.SetupForCopy(pd2.VTKObject)
pd.CopyStructuredData(pd2.VTKObject, w2.GetExtent(), w.GetExtent())
w = dsa.WrapDataObject(w)
assert(numpy.all(w.PointData['RTData'].reshape(w.GetDimensions(), order='F')[10:15, 10:15, 10:15] == 2))
|