You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(115) |
Aug
(120) |
Sep
(137) |
Oct
(170) |
Nov
(461) |
Dec
(263) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(120) |
Feb
(74) |
Mar
(35) |
Apr
(74) |
May
(245) |
Jun
(356) |
Jul
(240) |
Aug
(115) |
Sep
(78) |
Oct
(225) |
Nov
(98) |
Dec
(271) |
2009 |
Jan
(132) |
Feb
(84) |
Mar
(74) |
Apr
(56) |
May
(90) |
Jun
(79) |
Jul
(83) |
Aug
(296) |
Sep
(214) |
Oct
(76) |
Nov
(82) |
Dec
(66) |
2010 |
Jan
(46) |
Feb
(58) |
Mar
(51) |
Apr
(77) |
May
(58) |
Jun
(126) |
Jul
(128) |
Aug
(64) |
Sep
(50) |
Oct
(44) |
Nov
(48) |
Dec
(54) |
2011 |
Jan
(68) |
Feb
(52) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
1
(1) |
2
(8) |
3
(2) |
4
|
5
(6) |
6
(27) |
7
(7) |
8
(5) |
9
(3) |
10
|
11
(1) |
12
|
13
(2) |
14
(9) |
15
(7) |
16
(5) |
17
(2) |
18
|
19
|
20
(2) |
21
|
22
|
23
(5) |
24
(2) |
25
(2) |
26
(4) |
27
(4) |
28
(7) |
29
(5) |
30
(6) |
31
(6) |
Revision: 8497 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8497&view=rev Author: jdh2358 Date: 2010年07月05日 23:09:51 +0000 (2010年7月05日) Log Message: ----------- support 3d plots in arbitrary axes; thanks Ben Root Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/examples/api/compound_path.py trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py Added Paths: ----------- trunk/matplotlib/examples/mplot3d/subplot3d_demo.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010年07月05日 20:47:39 UTC (rev 8496) +++ trunk/matplotlib/CHANGELOG 2010年07月05日 23:09:51 UTC (rev 8497) @@ -1,3 +1,8 @@ +2010年07月05日 Added Ben Root's patch to put 3D plots in arbitrary axes, + allowing you to mix 3d and 2d in different axes/subplots or + to have multiple 3D plots in one figure. See + examples/mplot3d/subplot3d_demo.py - JDH + 2010年07月05日 Preferred kwarg names in set_xlim are now 'left' and 'right'; in set_ylim, 'bottom' and 'top'; original kwargs are still accepted without complaint. - EF Modified: trunk/matplotlib/examples/api/compound_path.py =================================================================== --- trunk/matplotlib/examples/api/compound_path.py 2010年07月05日 20:47:39 UTC (rev 8496) +++ trunk/matplotlib/examples/api/compound_path.py 2010年07月05日 23:09:51 UTC (rev 8497) @@ -21,7 +21,7 @@ vertices = np.array(vertices, float) path = Path(vertices, codes) -pathpatch = PathPatch(path, facecolor='red', edgecolor='green') +pathpatch = PathPatch(path, facecolor='None', edgecolor='green') fig = plt.figure() ax = fig.add_subplot(111) Added: trunk/matplotlib/examples/mplot3d/subplot3d_demo.py =================================================================== --- trunk/matplotlib/examples/mplot3d/subplot3d_demo.py (rev 0) +++ trunk/matplotlib/examples/mplot3d/subplot3d_demo.py 2010年07月05日 23:09:51 UTC (rev 8497) @@ -0,0 +1,30 @@ +from mpl_toolkits.mplot3d.axes3d import Axes3D +from matplotlib import cm +#from matplotlib.ticker import LinearLocator, FixedLocator, FormatStrFormatter +import matplotlib.pyplot as plt +import numpy as np + +fig = plt.figure() + +ax = fig.add_subplot(1, 2, 1, projection='3d') +X = np.arange(-5, 5, 0.25) +Y = np.arange(-5, 5, 0.25) +X, Y = np.meshgrid(X, Y) +R = np.sqrt(X**2 + Y**2) +Z = np.sin(R) +surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet, + linewidth=0, antialiased=False) +ax.set_zlim3d(-1.01, 1.01) + +#ax.w_zaxis.set_major_locator(LinearLocator(10)) +#ax.w_zaxis.set_major_formatter(FormatStrFormatter('%.03f')) + +fig.colorbar(surf, shrink=0.5, aspect=5) + +from mpl_toolkits.mplot3d.axes3d import get_test_data +ax = fig.add_subplot(1, 2, 2, projection='3d') +X, Y, Z = get_test_data(0.05) +ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10) + +plt.show() + Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010年07月05日 20:47:39 UTC (rev 8496) +++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010年07月05日 23:09:51 UTC (rev 8497) @@ -37,6 +37,7 @@ """ 3D axes object. """ + name = '3d' def __init__(self, fig, rect=None, *args, **kwargs): ''' @@ -1210,3 +1211,11 @@ Z = Z * 500 return X, Y, Z + + +######################################################## +# Register Axes3D as a 'projection' object available +# for use just like any other axes +######################################################## +import matplotlib.projections as proj +proj.projection_registry.register(Axes3D) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8496 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8496&view=rev Author: efiring Date: 2010年07月05日 20:47:39 +0000 (2010年7月05日) Log Message: ----------- set_xlim, set_ylim accept descriptive kwargs: left, right, bottom, top Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/doc/api/api_changes.rst trunk/matplotlib/lib/matplotlib/axes.py Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010年07月05日 19:39:59 UTC (rev 8495) +++ trunk/matplotlib/CHANGELOG 2010年07月05日 20:47:39 UTC (rev 8496) @@ -1,7 +1,11 @@ +2010年07月05日 Preferred kwarg names in set_xlim are now 'left' and + 'right'; in set_ylim, 'bottom' and 'top'; original + kwargs are still accepted without complaint. - EF + 2010年07月05日 TkAgg and FltkAgg backends are now consistent with other interactive backends: when used in scripts from the command line (not from ipython -pylab), show blocks, - and can be called more than once. + and can be called more than once. - EF 2010年07月02日 Modified CXX/WrapPython.h to fix "swab bug" on solaris so mpl can compile on Solaris with CXX6 in the trunk. Closes Modified: trunk/matplotlib/doc/api/api_changes.rst =================================================================== --- trunk/matplotlib/doc/api/api_changes.rst 2010年07月05日 19:39:59 UTC (rev 8495) +++ trunk/matplotlib/doc/api/api_changes.rst 2010年07月05日 20:47:39 UTC (rev 8496) @@ -16,7 +16,10 @@ pyplot functions, has been changed: when view limits are set explicitly with one of these methods, autoscaling is turned off for the matching axis. A new *auto* kwarg is available to - control this behavior. + control this behavior. The limit kwargs have been renamed to + *left* and *right* instead of *xmin* and *xmax*, and *bottom* + and *top* instead of *ymin* and *ymax*. The old names may still + be used, however. * There are five new Axes methods with corresponding pyplot functions to facilitate autoscaling, tick location, and tick Modified: trunk/matplotlib/lib/matplotlib/axes.py =================================================================== --- trunk/matplotlib/lib/matplotlib/axes.py 2010年07月05日 19:39:59 UTC (rev 8495) +++ trunk/matplotlib/lib/matplotlib/axes.py 2010年07月05日 20:47:39 UTC (rev 8496) @@ -2298,11 +2298,11 @@ def get_xlim(self): """ - Get the x-axis range [*xmin*, *xmax*] + Get the x-axis range [*left*, *right*] """ return tuple(self.viewLim.intervalx) - def set_xlim(self, xmin=None, xmax=None, emit=True, auto=False): + def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw): """ call signature:: @@ -2314,23 +2314,23 @@ set_xlim((left, right)) set_xlim(left, right) - set_xlim(xmin=1) # right unchanged - set_xlim(xmax=1) # left unchanged + set_xlim(left=1) # right unchanged + set_xlim(right=1) # left unchanged Keyword arguments: - *xmin*: scalar - the left xlim - *xmax*: scalar - the right xlim + *left*: scalar + the left xlim; *xmin*, the previous name, may still be used + *right*: scalar + the right xlim; *xmax*, the previous name, may still be used *emit*: [ True | False ] notify observers of lim change *auto*: [ True | False | None ] turn *x* autoscaling on (True), off (False; default), or leave unchanged (None) - Note: the kwarg terminology may be confusing. The first value, - *xmin*, is the left, and the second, *xmax*, is the right. + Note: the *left* (formerly *xmin*) value may be greater than + the *right* (formerly *xmax*). For example, suppose *x* is years before present. Then one might use:: @@ -2343,26 +2343,34 @@ ACCEPTS: len(2) sequence of floats """ - if xmax is None and iterable(xmin): - xmin,xmax = xmin + if 'xmin' in kw: + left = kw.pop('xmin') + if 'xmax' in kw: + right = kw.pop('xmax') + if kw: + raise ValueError("unrecognized kwargs: %s" % kw.keys()) + if right is None and iterable(left): + left,right = left - self._process_unit_info(xdata=(xmin, xmax)) - if xmin is not None: - xmin = self.convert_xunits(xmin) - if xmax is not None: - xmax = self.convert_xunits(xmax) + self._process_unit_info(xdata=(left, right)) + if left is not None: + left = self.convert_xunits(left) + if right is not None: + right = self.convert_xunits(right) - old_xmin,old_xmax = self.get_xlim() - if xmin is None: xmin = old_xmin - if xmax is None: xmax = old_xmax + old_left, old_right = self.get_xlim() + if left is None: left = old_left + if right is None: right = old_right - if xmin==xmax: - warnings.warn('Attempting to set identical xmin==xmax results in singular transformations; automatically expanding. xmin=%s, xmax=%s'%(xmin, xmax)) - xmin, xmax = mtransforms.nonsingular(xmin, xmax, increasing=False) - xmin, xmax = self.xaxis.limit_range_for_scale(xmin, xmax) + if left==right: + warnings.warn(('Attempting to set identical left==right results\n' + + 'in singular transformations; automatically expanding.\n' + + 'left=%s, right=%s') % (left, right)) + left, right = mtransforms.nonsingular(left, right, increasing=False) + left, right = self.xaxis.limit_range_for_scale(left, right) - self.viewLim.intervalx = (xmin, xmax) + self.viewLim.intervalx = (left, right) if auto is not None: self._autoscaleXon = bool(auto) @@ -2377,7 +2385,7 @@ other.figure.canvas is not None): other.figure.canvas.draw_idle() - return xmin, xmax + return left, right def get_xscale(self): 'return the xaxis scale string: %s' % ( @@ -2492,11 +2500,11 @@ def get_ylim(self): """ - Get the y-axis range [*ymin*, *ymax*] + Get the y-axis range [*bottom*, *top*] """ return tuple(self.viewLim.intervaly) - def set_ylim(self, ymin=None, ymax=None, emit=True, auto=False): + def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw): """ call signature:: @@ -2508,23 +2516,23 @@ set_ylim((bottom, top)) set_ylim(bottom, top) - set_ylim(ymin=1) # top unchanged - set_ylim(ymax=1) # bottom unchanged + set_ylim(bottom=1) # top unchanged + set_ylim(top=1) # bottom unchanged Keyword arguments: - *ymin*: scalar - the bottom ylim - *ymax*: scalar - the top ylim + *bottom*: scalar + the bottom ylim; the previous name, *ymin*, may still be used + *top*: scalar + the top ylim; the previous name, *ymax*, may still be used *emit*: [ True | False ] notify observers of lim change *auto*: [ True | False | None ] turn *y* autoscaling on (True), off (False; default), or leave unchanged (None) - Note: the kwarg terminology may be confusing. The first value, - *ymin*, is the bottom, and the second, *ymax*, is the top. + Note: the *bottom* (formerly *ymin*) value may be greater than + the *top* (formerly *ymax*). For example, suppose *y* is depth in the ocean. Then one might use:: @@ -2537,26 +2545,35 @@ ACCEPTS: len(2) sequence of floats """ - if ymax is None and iterable(ymin): - ymin,ymax = ymin + if 'ymin' in kw: + bottom = kw.pop('ymin') + if 'ymax' in kw: + top = kw.pop('ymax') + if kw: + raise ValueError("unrecognized kwargs: %s" % kw.keys()) - if ymin is not None: - ymin = self.convert_yunits(ymin) - if ymax is not None: - ymax = self.convert_yunits(ymax) + if top is None and iterable(bottom): + bottom,top = bottom - old_ymin,old_ymax = self.get_ylim() + if bottom is not None: + bottom = self.convert_yunits(bottom) + if top is not None: + top = self.convert_yunits(top) - if ymin is None: ymin = old_ymin - if ymax is None: ymax = old_ymax + old_bottom, old_top = self.get_ylim() - if ymin==ymax: - warnings.warn('Attempting to set identical ymin==ymax results in singular transformations; automatically expanding. ymin=%s, ymax=%s'%(ymin, ymax)) + if bottom is None: bottom = old_bottom + if top is None: top = old_top - ymin, ymax = mtransforms.nonsingular(ymin, ymax, increasing=False) - ymin, ymax = self.yaxis.limit_range_for_scale(ymin, ymax) + if bottom==top: + warnings.warn(('Attempting to set identical bottom==top results\n' + + 'in singular transformations; automatically expanding.\n' + + 'bottom=%s, top=%s') % (bottom, top)) - self.viewLim.intervaly = (ymin, ymax) + bottom, top = mtransforms.nonsingular(bottom, top, increasing=False) + bottom, top = self.yaxis.limit_range_for_scale(bottom, top) + + self.viewLim.intervaly = (bottom, top) if auto is not None: self._autoscaleYon = bool(auto) @@ -2571,7 +2588,7 @@ other.figure.canvas is not None): other.figure.canvas.draw_idle() - return ymin, ymax + return bottom, top def get_yscale(self): 'return the xaxis scale string: %s' % ( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8495 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8495&view=rev Author: efiring Date: 2010年07月05日 19:39:59 +0000 (2010年7月05日) Log Message: ----------- Remove experimental config subpackage using traits Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/__init__.py Removed Paths: ------------- trunk/matplotlib/lib/matplotlib/config/ Modified: trunk/matplotlib/lib/matplotlib/__init__.py =================================================================== --- trunk/matplotlib/lib/matplotlib/__init__.py 2010年07月05日 19:03:09 UTC (rev 8494) +++ trunk/matplotlib/lib/matplotlib/__init__.py 2010年07月05日 19:39:59 UTC (rev 8495) @@ -107,10 +107,6 @@ import distutils.sysconfig import distutils.version - -NEWCONFIG = False - - # Needed for toolkit setuptools support if 0: try: @@ -827,16 +823,6 @@ """ rcParams.update(rcParamsDefault) -if NEWCONFIG: - #print "importing from reorganized config system!" - try: - from matplotlib.config import (rcParams, rcdefaults, - mplConfig, save_config) - verbose.set_level(rcParams['verbose.level']) - verbose.set_fileo(rcParams['verbose.fileo']) - except: - from matplotlib.config import rcParams, rcdefaults - _use_error_msg = """ This call to matplotlib.use() has no effect because the the backend has already been chosen; matplotlib.use() must be called *before* pylab, matplotlib.pyplot, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8494 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8494&view=rev Author: efiring Date: 2010年07月05日 19:03:09 +0000 (2010年7月05日) Log Message: ----------- tkagg and fltkagg backends now have blocking show() like all the others Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py trunk/matplotlib/lib/matplotlib/rcsetup.py trunk/matplotlib/matplotlibrc.template Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010年07月05日 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/CHANGELOG 2010年07月05日 19:03:09 UTC (rev 8494) @@ -1,3 +1,8 @@ +2010年07月05日 TkAgg and FltkAgg backends are now consistent with other + interactive backends: when used in scripts from the + command line (not from ipython -pylab), show blocks, + and can be called more than once. + 2010年07月02日 Modified CXX/WrapPython.h to fix "swab bug" on solaris so mpl can compile on Solaris with CXX6 in the trunk. Closes tracker bug 3022815 - JDH Modified: trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py 2010年07月05日 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py 2010年07月05日 19:03:09 UTC (rev 8494) @@ -97,15 +97,8 @@ """ for manager in Gcf.get_all_fig_managers(): manager.show() - #mainloop, if an fltk program exist no need to call that - #threaded (and interractive) version - if show._needmain: - Fltk.Fl.run() - show._needmain = False + Fltk.Fl.run() -show._needmain = True - - def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance Modified: trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010年07月05日 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010年07月05日 19:03:09 UTC (rev 8494) @@ -64,43 +64,15 @@ figManager.show() -def show(block=False): +def show(): """ Show all figures. - Temporary, experimental kwarg *block* defaults to False to - provide the behavior present throughout mpl history to date: - interactive mode is forced on, and show does not block. - - Set *block* to True to test the proposed new behavior, - consistent with other backends, in which show does not affect - interactive mode, and always blocks until all figures are closed. - In addition, the rcParam['tk.pythoninspect'] is ignored. - - Use this kwarg only for testing; other backends do not accept - a kwarg to show, and might never do so. """ for manager in Gcf.get_all_fig_managers(): manager.show() - if block: - # proposed new behavior; seems to make this backend consistent - # with others, with no drawbacks identified yet. - Tk.mainloop() - else: - # long-time behavior: non-blocking, forces interactive mode - import matplotlib - matplotlib.interactive(True) - if rcParams['tk.pythoninspect']: - os.environ['PYTHONINSPECT'] = '1' - if show._needmain: - Tk.mainloop() - show._needmain = False + Tk.mainloop() -show._needmain = True # This can go away if we eliminate block=False option. - - - - def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py =================================================================== --- trunk/matplotlib/lib/matplotlib/rcsetup.py 2010年07月05日 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/rcsetup.py 2010年07月05日 19:03:09 UTC (rev 8494) @@ -297,6 +297,11 @@ warnings.warn("Deprecated negative_linestyle specification; use 'solid' or 'dashed'") return (0, dashes) # (offset, (solid, blank)) +def validate_tkpythoninspect(s): + # Introduced 2010年07月05日 + warnings.warn("tk.pythoninspect is obsolete, and has no effect") + return validate_bool(s) + validate_legend_loc = ValidateInStrings('legend_loc',[ 'best', 'upper right', @@ -526,7 +531,7 @@ 'cairo.format' : ['png', validate_cairo_format], 'tk.window_focus' : [False, validate_bool], # Maintain shell focus for TkAgg - 'tk.pythoninspect' : [False, validate_bool], # Set PYTHONINSPECT + 'tk.pythoninspect' : [False, validate_tkpythoninspect], # obsolete 'ps.papersize' : ['letter', validate_ps_papersize], # Set the papersize/type 'ps.useafm' : [False, validate_bool], # Set PYTHONINSPECT 'ps.usedistiller' : [False, validate_ps_distiller], # use ghostscript or xpdf to distill ps output Modified: trunk/matplotlib/matplotlibrc.template =================================================================== --- trunk/matplotlib/matplotlibrc.template 2010年07月05日 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/matplotlibrc.template 2010年07月05日 19:03:09 UTC (rev 8494) @@ -319,7 +319,6 @@ # tk backend params #tk.window_focus : False # Maintain shell focus for TkAgg -#tk.pythoninspect : False # tk sets PYTHONINSEPCT # ps backend params #ps.papersize : letter # auto, letter, legal, ledger, A0-A10, B0-B10 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8493 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8493&view=rev Author: jdh2358 Date: 2010年07月05日 01:26:53 +0000 (2010年7月05日) Log Message: ----------- Applied Ben's rotate button patch for axes3d Modified Paths: -------------- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py Modified: trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py =================================================================== --- trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010年07月05日 01:25:09 UTC (rev 8492) +++ trunk/matplotlib/lib/mpl_toolkits/mplot3d/axes3d.py 2010年07月05日 01:26:53 UTC (rev 8493) @@ -446,7 +446,7 @@ if self.M is None: return '' - if self.button_pressed == 1: + if self.button_pressed in self._rotate_btn: return 'azimuth=%d deg, elevation=%d deg ' % (self.azim, self.elev) # ignore xd and yd and display angles instead This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
Revision: 8492 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8492&view=rev Author: jdh2358 Date: 2010年07月05日 01:25:09 +0000 (2010年7月05日) Log Message: ----------- applied Ben's mplconfig patch Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/config/mplconfig.py Modified: trunk/matplotlib/lib/matplotlib/config/mplconfig.py =================================================================== --- trunk/matplotlib/lib/matplotlib/config/mplconfig.py 2010年07月03日 05:09:49 UTC (rev 8491) +++ trunk/matplotlib/lib/matplotlib/config/mplconfig.py 2010年07月05日 01:25:09 UTC (rev 8492) @@ -117,7 +117,7 @@ class path(TConfig): simplify = T.false - simplify_threshold = T.float(1.0 / 9.0) + simplify_threshold = T.Float(1.0 / 9.0) snap = T.true class patch(TConfig): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.