Skip to content

text objects with prjection are broken #344

@doutriaux1

Description

@doutriaux1
import vcs
canvas = vcs.init()
txt = vcs.createtext()
txt.worldcoordinate = [-20,60,20,80]
txt.x = 0.
txt.y = 85.
txt.color= "black"
txt.string = "High Lat"
# now projection
txt.projection="lambert"  # any projection
canvas.plot(txt)

error:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-ca41548d9291> in <module>()
      6 txt.string = "High Lat"
      7 # now projection
----> 8 canvas.plot(txt)
      9 txt.projection="lambert"  # polar projection
     10 canvas.plot(txt)

/home/doutriaux1/anaconda2/envs/cdat8/lib/python2.7/site-packages/vcs/Canvas.pyc in plot(self, *actual_args, **keyargs)
   2780 
   2781         # Plot the data
-> 2782         a = self.__plot(arglist, keyargs)
   2783 
   2784         if "continents_line" in keyargs:

/home/doutriaux1/anaconda2/envs/cdat8/lib/python2.7/site-packages/vcs/Canvas.pyc in __plot(self, arglist, keyargs)
   4013                         **keyargs)
   4014             else:
-> 4015                 returned_kargs = self.backend.plot(*arglist, **keyargs)
   4016                 if not keyargs.get("donotstoredisplay", False):
   4017                     dname = keyargs.get("display_name")

/home/doutriaux1/anaconda2/envs/cdat8/lib/python2.7/site-packages/vcs/VTKPlots.pyc in plot(self, data1, data2, template, gtype, gname, bg, *args, **kargs)
    707                     to=to,
    708                     tt=tt,
--> 709                     cmap=self.canvas.colormap, geoBounds=bounds, geo=vtk_backend_geo)
    710                 self.setLayer(ren, tt.priority)
    711                 self.text_renderers[tt_key] = ren

/home/doutriaux1/anaconda2/envs/cdat8/lib/python2.7/site-packages/vcs/vcs2vtk.pyc in genTextActor(renderer, string, x, y, to, tt, cmap, geoBounds, geo)
   1256     pts = vtk.vtkPoints()
   1257     if vcs.elements["projection"][tt.projection].type != "linear":
-> 1258         wc = geoBounds[:4]
   1259         # renderer.SetViewport(tt.viewport[0],tt.viewport[2],tt.viewport[1],tt.viewport[3])
   1260         renderer.SetWorldPoint(wc)

TypeError: 'NoneType' object has no attribute '__getitem__'

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions