// AID-GENERATED // ========================================================================= // This class was generated by AID - Abstract Interface Definition // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. // ========================================================================= // Copyright 2000-2005, FreeHEP. package hep.graphics.heprep; import java.util.List; import java.util.Set; /** * The HepRep interface. * * Any of these methods may throw a UnsupportedOperationException in Java. * * @author Mark Donszelmann */ public interface HepRep { /** * Add a layer to the list of layers in this heprep. * The layer is added to the back of the list. * * @param layer name of layer to be added to the back of the list. */ public void addLayer(String layer); /** * Returns the list of layers. * * @return the known layer names, in the order back-to-front. */ public List/*<String>*/ getLayerOrder(); /** * Add a typetree to this heprep. * * @param typeTree to be added. */ public void addTypeTree(HepRepTypeTree typeTree); /** * Remove a typetree from this heprep. * * @param typeTree to be removed. */ public void removeTypeTree(HepRepTypeTree typeTree); /** * Returns the collection of all typetrees of this heprep. * * @deprecated, use getTypeTreeList() * @return collection of HepRepTypeTrees. */ Set/*<HepRepTypeTree>*/ getTypeTrees(); /** * Returns the collection of all typetrees of this heprep. * * @return collection of HepRepTypeTrees. */ public List/*<HepRepTypeTree>*/ getTypeTreeList(); /** * Returns a named and versioned typetree. * * @param name name of the typetree. * @param version version of the typetree. * @return named and versioned HepRepTypeTree. */ public HepRepTypeTree getTypeTree(String name, String version); /** * Adds an instancetree to this heprep. * * @param instanceTree to be added. */ public void addInstanceTree(HepRepInstanceTree instanceTree); /** * Overlays an instancetree to this heprep, overriding attributes and adding children. * * @param instanceTree to be overlaid. */ public void overlayInstanceTree(HepRepInstanceTree instanceTree); /** * Remove an instanectree from this heprep. * * @param instanceTree to be removed. */ public void removeInstanceTree(HepRepInstanceTree instanceTree); /** * Returns a collection of instancetrees. * * @deprecated, use getInstaceTreeList() * @return collection of HepRepInstanceTrees. */ Set/*<HepRepInstanceTree>*/ getInstanceTrees(); /** * Returns a collection of instancetrees. * * @return collection of HepRepInstanceTrees. */ public List/*<HepRepInstanceTree>*/ getInstanceTreeList(); /** * Returns a named and versioned instancetree. * FIXME: doc is incorrect here, should only return TOP of the tree. Filling * in should be done by getInstances calls. * <p> * This tree needs to be added to the heprep afterwards. * * @param name name of the instancetree. * @param version version of the instancetree. * @return HepRepIntanceTree */ public HepRepInstanceTree getInstanceTreeTop(String name, String version); /** * Returns a named and versioned instancetree for a list of typenames. * <p> * This tree needs to be added to the heprep afterwards. * * @param name name of the instancetree. * @param version version of the instancetree. * @param typeNames a list of typenames for which we need instancetrees. * @return HepRepIntanceTree */ public HepRepInstanceTree getInstances(String name, String version, String[] typeNames); /** * Returns a named and versioned instancetree for a list of typenames * after executing some action and for specific filters. * * This tree needs to be added to the heprep afterwards. * <p> * The inversion effect of invertAtts depends on the values of * GetDrawAtts and GetNonDrawAtts as follows: * <UL> * <LI>GetDrawAtts GetNonDrawAtts effect of InvertAtts * <LI>FALSE FALSE all Attributes specified will be downloaded * <LI>TRUE FALSE Draw Attributes specified will be omitted, NonDraw Attributes specified will be included * <LI>FALSE TRUE Draw Attributes specified will be included, NonDraw Attributes specified will be omitted * <LI>TRUE TRUE all Attributes specified will be omitted * </UL> * * @param name name of the instancetree. * @param version version of the instancetree. * @param typeNames a list of typenames for which we need instancetrees. * @param actions execute this list of actions before returning. * @param getPoints include the HepRepPoints in the instance tree. * @param getDrawAtts include the Draw attributes in the instance tree. * @param getNonDrawAtts include the Non-Draw attributes in the instance tree. * @param invertAtts list of attributes to be included or not depending on getDrawAtts and getNonDrawAtts. * @return HepRepIntanceTree */ public HepRepInstanceTree getInstancesAfterAction(String name, String version, String[] typeNames, HepRepAction[] actions, boolean getPoints, boolean getDrawAtts, boolean getNonDrawAtts, String[] invertAtts); /** * Returns last exception thrown and clears it. Useful for implementations without * exception handling. * * @return last exception and clears it. */ public String checkForException(); /** * Returns a deep copy of the heprep, with all its attached trees, where * instances are filtered using a HepRepSelectFilter. * * @return copy of heprep. * @throws CloneNotSupportedException in case copy is not possible */ public HepRep copy() throws CloneNotSupportedException; /** * Returns a deep copy of the heprep, with all its attached trees, where * instances are filtered using a HepRepSelectFilter. * * @param filter to be used for filtering instances. * @return copy of heprep. * @throws CloneNotSupportedException in case copy is not possible */ public HepRep copy(HepRepSelectFilter filter) throws CloneNotSupportedException; } // class or interface