Print

Print


Commit in GeomConverter/src/org/lcsim on MAIN
detector/DetectorElement.java+19-21.23 -> 1.24
        /IVisitor.java+13-11.1 -> 1.2
geometry/compact/Detector.java+4-11.23 -> 1.24
+36-4
3 modified files


GeomConverter/src/org/lcsim/detector
DetectorElement.java 1.23 -> 1.24
diff -u -r1.23 -r1.24
--- DetectorElement.java	9 May 2007 00:59:57 -0000	1.23
+++ DetectorElement.java	9 May 2007 20:42:20 -0000	1.24
@@ -13,7 +13,7 @@
  * Implementation of {@link IDetectorElement}.
  * 
  * @author Jeremy McCormick
- * @version $Id: DetectorElement.java,v 1.23 2007/05/09 00:59:57 jeremy Exp $
+ * @version $Id: DetectorElement.java,v 1.24 2007/05/09 20:42:20 jeremy Exp $
  */
 public class DetectorElement 
 extends Named
@@ -402,6 +402,12 @@
             IDetectorElement detectorElement,
             IDetectorElementVisitor visitor)
     {
+        // Return if done.
+        if ( visitor.isDone() )
+        {
+            return;
+        }
+        
         // Visit this node.
         visitor.visit(detectorElement);
 
@@ -418,7 +424,13 @@
     public static void traversePostOrder(
             IDetectorElement detectorElement,
             IDetectorElementVisitor visitor)
-    {               
+    {    
+        // Return if done.
+        if ( visitor.isDone() )
+        {
+            return;
+        }
+        
         // Recursively traverse the daughters.
         if ( detectorElement.hasChildren() )
         {
@@ -465,6 +477,11 @@
         {
             return results;
         }
+        
+        public boolean isDone()
+        {
+            return false;
+        }
     }
     
     public <T extends IDetectorElement> List<T> findAncestors(Class<T> klass)

GeomConverter/src/org/lcsim/detector
IVisitor.java 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- IVisitor.java	7 Mar 2007 00:43:32 -0000	1.1
+++ IVisitor.java	9 May 2007 20:42:20 -0000	1.2
@@ -2,5 +2,17 @@
 
 public interface IVisitor<T>
 {
-	public abstract void visit(T object);
+    /**
+     * Perform some action on a node.
+     * 
+     * @param object The object to be visited.
+     */
+	public void visit(T object);
+    
+    /**
+     * True if the traversal should stop.
+     * 
+     * @return True if the traversal should stop.
+     */
+    public boolean isDone();
 }

GeomConverter/src/org/lcsim/geometry/compact
Detector.java 1.23 -> 1.24
diff -u -r1.23 -r1.24
--- Detector.java	9 May 2007 00:59:58 -0000	1.23
+++ Detector.java	9 May 2007 20:42:20 -0000	1.24
@@ -45,7 +45,10 @@
      */
     protected Detector(Element element)
     {
-        name = element.getChild("info").getAttributeValue("name");
+        if ( element != null )
+        {
+            name = element.getChild("info").getAttributeValue("name");
+        }
         materialMgr = XMLMaterialManager.create(XMLMaterialManager.materials() );
     }
     
CVSspam 0.2.8