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