tadd `trim` argument to render(), adjust initialization in shear example - Granular.jl - Julia package for granular dynamics simulation
 (HTM) git clone git://src.adamsgaard.dk/Granular.jl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit dd52011a929bd3c3921c26b1545e4c9e07cb8942
 (DIR) parent 3f419be9f4a6594ff17751aa7a85fdc6ef070cd2
 (HTM) Author: Anders Damsgaard <andersd@riseup.net>
       Date:   Mon,  6 Nov 2017 19:37:46 -0500
       
       add `trim` argument to render(), adjust initialization in shear example
       
       Diffstat:
         M examples/shear.jl                   |      13 +++----------
         M src/io.jl                           |       9 ++++++++-
       
       2 files changed, 11 insertions(+), 11 deletions(-)
       ---
 (DIR) diff --git a/examples/shear.jl b/examples/shear.jl
       t@@ -6,9 +6,9 @@ import Granular
        ################################################################################
        sim = Granular.createSimulation(id="shear-init")
        
       -# Generate 10 grains along x and 100 grains along y, with radii between 0.2 and
       +# Generate 10 grains along x and 50 grains along y, with radii between 0.2 and
        # 1.0 m.
       -Granular.regularPacking!(sim, [10, 100], 0.2, 1.0)
       +Granular.regularPacking!(sim, [10, 50], 0.2, 1.0)
        
        # Create a grid for contact searching spanning the extent of the grains
        Granular.fitGridToGrains!(sim, sim.ocean)
       t@@ -38,14 +38,7 @@ Granular.plotGrainSizeDistribution(sim)
        Granular.run!(sim)
        
        # Try to render the simulation if `pvpython` is installed on the system
       -Granular.render(sim)
       -
       -
       -
       -
       -
       -
       -
       +Granular.render(sim, trim=false)
        
        
        
 (DIR) diff --git a/src/io.jl b/src/io.jl
       t@@ -921,12 +921,14 @@ from the shell using the supplied `pvpython` argument.
            script uses the pvpython in the system PATH.
        * `images::Bool`: render images to disk (default: true)
        * `animation::Bool`: render animation to disk (default: false)
       +* `trim::Bool`: trim images in animated sequence (default: true)
        * `reverse::Bool`: if `images=true` additionally render reverse-animated gif
            (default: false)
        """
        function render(simulation::Simulation; pvpython::String="pvpython",
                        images::Bool=true,
                        animation::Bool=false,
       +                trim::Bool=true,
                        reverse::Bool=false)
        
            writeParaviewPythonScript(simulation, save_animation=animation,
       t@@ -937,7 +939,12 @@ function render(simulation::Simulation; pvpython::String="pvpython",
                # if available, use imagemagick to create gif from images
                if images
                    try
       -                run(`convert -trim +repage -delay 10 -transparent-color white 
       +                trim_string = ""
       +                if trim
       +                    trim_string = "-trim"
       +                end
       +                run(`convert $trim_string +repage -delay 10 
       +                    -transparent-color white 
                            -loop 0 $(simulation.id)/$(simulation.id).'*'.png 
                            $(simulation.id)/$(simulation.id).gif`)
                        if reverse