Skip to content

Commit 8f382e8

Browse files
committed
Merge pull request #1249 from UV-CDAT/meshfill_animation
Meshfill animation
2 parents 50b9979 + 456f749 commit 8f382e8

File tree

3 files changed

+55
-1
lines changed

3 files changed

+55
-1
lines changed

Packages/vcs/Lib/VTKPlots.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1032,6 +1032,10 @@ def plot2D(self,data1,data2,tmpl,gm,vtk_backend_grid=None,vtk_backend_geo=None):
10321032
mapper.SetScalarModeToUseCellData()
10331033
mappers.append([mapper,])
10341034
else:
1035+
if isinstance(gm,vcs.meshfill.Gfm):
1036+
doCellPointForScalar = True
1037+
else:
1038+
doCellPointForScalar = False
10351039
for j,color in enumerate(COLS[i]):
10361040
mapper = vtk.vtkPolyDataMapper()
10371041
lut = vtk.vtkLookupTable()
@@ -1047,7 +1051,7 @@ def plot2D(self,data1,data2,tmpl,gm,vtk_backend_grid=None,vtk_backend_geo=None):
10471051
lut.SetTableValue(0,r/100.,g/100.,b/100.)
10481052
mapper.SetLookupTable(lut)
10491053
mapper.SetScalarRange(l[j],l[j+1])
1050-
luts.append([lut,[l[j],l[j+1],False]])
1054+
luts.append([lut,[l[j],l[j+1],doCellPointForScalar]])
10511055
## Store the mapper only if it's worth it?
10521056
## Need to do it with the whole slab min/max for animation purposes
10531057
if not(l[j+1]<wmn or l[j]>wmx):

testing/vcs/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,11 @@ cdat_add_test(vcs_test_taylor_2_quads
581581
${BASELINE_DIR}/test_vcs_issue_960_labels_1.png
582582
${BASELINE_DIR}/test_vcs_issue_960_labels_2.png
583583
)
584+
cdat_add_test(vcs_test_animate_meshfill
585+
"${PYTHON_EXECUTABLE}"
586+
${cdat_SOURCE_DIR}/testing/vcs/test_animate_meshfill.py
587+
${BASELINE_DIR}
588+
)
584589
cdat_add_test(vcs_test_animate_isofill
585590
"${PYTHON_EXECUTABLE}"
586591
${cdat_SOURCE_DIR}/testing/vcs/test_animate_isofill.py
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import vcs
2+
import cdms2
3+
import os
4+
import sys
5+
import MV2
6+
7+
pth = os.path.join(os.path.dirname(__file__),"..")
8+
sys.path.append(pth)
9+
import checkimage
10+
11+
f=cdms2.open(os.path.join(vcs.prefix,"sample_data","sampleCurveGrid4.nc"))
12+
s=f("sample")
13+
print s.shape
14+
15+
s2=MV2.resize(s,(4,32,48))
16+
t=cdms2.createAxis(range(4))
17+
t.units="months since 2015"
18+
t.id="time"
19+
t.designateTime()
20+
s2.setAxis(0,t)
21+
s2.setAxis(1,s.getAxis(0))
22+
s2.setAxis(2,s.getAxis(1))
23+
s2.setGrid(s.getGrid())
24+
for i in range(4):
25+
s2[i]=s2[i]*(1+float(i)/10.)
26+
x=vcs.init()
27+
x.drawlogooff()
28+
x.setbgoutputdimensions(1200,1091,units="pixels")
29+
30+
gm=x.createmeshfill()
31+
x.plot(s2,gm,bg=1)
32+
x.animate.create()
33+
prefix= os.path.split(__file__)[1][:-3]
34+
x.animate.save("%s.mp4"%prefix)
35+
pngs = x.animate.close(preserve_pngs = True) # so we can look at them again
36+
src_pth = sys.argv[1]
37+
pth = os.path.join(src_pth,prefix)
38+
ret = 0
39+
for p in pngs:
40+
print "Checking:",p
41+
ret += checkimage.check_result_image(p,os.path.join(pth,os.path.split(p)[1]),checkimage.defaultThreshold)
42+
if ret == 0:
43+
os.removedirs(os.path.split(p)[0])
44+
os.remove("%s.mp4" % prefix)
45+
sys.exit(ret)

0 commit comments

Comments
 (0)