001/**
002        Erase or clear the specified contents of the 3D scene.  The version showing
003        the array input actually takes a variable length argument list (vararg), so you can 
004        enter erase(geom1, geom2, geom3), etc.
005        
006        @method void erase()
007        @method void erase(GeomElement geometry)
008        @method void erase(GeomElement... geomVararg)
009*/
010package geomss.app.GeomSSCommands;
011
012import bsh.*;
013import geomss.GeomSSScene;
014import geomss.geom.GeomElement;
015
016
017public class erase {
018
019        public static String usage() {
020                return "usage: erase();, or erase(geometry);, or erase(geomVararg);";
021        }
022
023        /**
024                Implement erase( GeomElement... geometry ) command.
025        */
026        public static void invoke( Interpreter env, CallStack callstack,
027                    GeomElement... geomVararg ) throws EvalError {
028                        
029            //  Get a reference to the current 3D scene.
030            GeomSSScene gScene = (GeomSSScene)env.get("gScene");
031            
032                if (geomVararg.length == 0)
033                        gScene.erase();
034                        
035                else {
036                //      Loop over the list of geometry erasing each in turn.
037                for (GeomElement geom : geomVararg) {
038                        gScene.erase(geom);
039                }
040            }
041        }
042}
043