File: TestCopyStructuredData.py

package info (click to toggle)
vtk9 9.5.2%2Bdfsg3-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 205,984 kB
  • sloc: cpp: 2,336,570; ansic: 327,116; python: 111,200; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; makefile: 181; javascript: 165; objc: 153; tcl: 59
file content (34 lines) | stat: -rw-r--r-- 913 bytes parent folder | download | duplicates (4)
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))