From: <md...@us...> - 2008-12-29 14:42:23
|
Revision: 6712 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6712&view=rev Author: mdboom Date: 2008-12-29 14:42:20 +0000 (Mon, 29 Dec 2008) Log Message: ----------- Fix path simplification by a) making it more conservative about when it will simplify based on segment length, and b) honoring path.simplify rcParam in Agg backend. Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/config/rcsetup.py trunk/matplotlib/lib/matplotlib/path.py trunk/matplotlib/lib/matplotlib/rcsetup.py trunk/matplotlib/src/agg_py_path_iterator.h Modified: trunk/matplotlib/lib/matplotlib/config/rcsetup.py =================================================================== --- trunk/matplotlib/lib/matplotlib/config/rcsetup.py 2008-12-29 14:25:47 UTC (rev 6711) +++ trunk/matplotlib/lib/matplotlib/config/rcsetup.py 2008-12-29 14:42:20 UTC (rev 6712) @@ -479,7 +479,7 @@ 'svg.embed_char_paths' : [True, validate_bool], # True to save all characters as paths in the SVG 'plugins.directory' : ['.matplotlib_plugins', str], # where plugin directory is locate - 'path.simplify' : [False, validate_bool] + 'path.simplify' : [True, validate_bool] } if __name__ == '__main__': Modified: trunk/matplotlib/lib/matplotlib/path.py =================================================================== --- trunk/matplotlib/lib/matplotlib/path.py 2008-12-29 14:25:47 UTC (rev 6711) +++ trunk/matplotlib/lib/matplotlib/path.py 2008-12-29 14:42:20 UTC (rev 6712) @@ -109,8 +109,9 @@ assert vertices.ndim == 2 assert vertices.shape[1] == 2 - self.should_simplify = (len(vertices) >= 128 and - (codes is None or np.all(codes <= Path.LINETO))) + self.should_simplify = (rcParam['path.simplify'] and + (len(vertices) >= 128 and + (codes is None or np.all(codes <= Path.LINETO)))) self.has_nonfinite = not np.isfinite(vertices).all() self.codes = codes self.vertices = vertices Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py =================================================================== --- trunk/matplotlib/lib/matplotlib/rcsetup.py 2008-12-29 14:25:47 UTC (rev 6711) +++ trunk/matplotlib/lib/matplotlib/rcsetup.py 2008-12-29 14:42:20 UTC (rev 6712) @@ -518,7 +518,7 @@ 'docstring.hardcopy' : [False, validate_bool], # set this when you want to generate hardcopy docstring 'plugins.directory' : ['.matplotlib_plugins', str], # where plugin directory is locate - 'path.simplify' : [False, validate_bool], + 'path.simplify' : [True, validate_bool], 'agg.path.chunksize' : [0, validate_int] # 0 to disable chunking; # recommend about 20000 to # enable. Experimental. Modified: trunk/matplotlib/src/agg_py_path_iterator.h =================================================================== --- trunk/matplotlib/src/agg_py_path_iterator.h 2008-12-29 14:25:47 UTC (rev 6711) +++ trunk/matplotlib/src/agg_py_path_iterator.h 2008-12-29 14:42:20 UTC (rev 6712) @@ -353,7 +353,7 @@ //if the perp vector is less than some number of (squared) //pixels in size, then merge the current vector - if (perpdNorm2 < 0.25) + if (perpdNorm2 < (1.0 / 9.0)) { //check if the current vector is parallel or //anti-parallel to the orig vector. If it is parallel, test This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |