Print

Print


Commit in GeomConverter/src/org/lcsim/geometry on MAIN
compact/CompactReader.java+9-21.25 -> 1.26
subdetector/AbstractPolyhedraCalorimeter.java+21.5 -> 1.6
           /AbstractSubdetector.java+18-11.6 -> 1.7
           /AbstractTestBeam.java+21.4 -> 1.5
           /CylindricalBarrelCalorimeter.java+7-121.8 -> 1.9
           /CylindricalEndcapCalorimeter.java+21.18 -> 1.19
           /DiskTracker.java+21.11 -> 1.12
           /MultiLayerTracker.java+21.13 -> 1.14
           /TPC.java+21.3 -> 1.4
+46-15
9 modified files
JM: Color subdetector HepRep output according to VisAttributes setting.

GeomConverter/src/org/lcsim/geometry/compact
CompactReader.java 1.25 -> 1.26
diff -u -r1.25 -r1.26
--- CompactReader.java	12 Sep 2006 01:20:52 -0000	1.25
+++ CompactReader.java	12 Sep 2006 02:42:48 -0000	1.26
@@ -24,7 +24,7 @@
  * org.lcsim.geometry.GeometryReader class, which extends this.
  *
  * @author tonyj
- * @version $Id: CompactReader.java,v 1.25 2006/09/12 01:20:52 jeremy Exp $
+ * @version $Id: CompactReader.java,v 1.26 2006/09/12 02:42:48 jeremy Exp $
  *
  */
 public class CompactReader
@@ -185,6 +185,14 @@
                 sub.setReadout(r);
             }             
             
+            String visref = detector.getAttributeValue("vis");
+            if (visref != null)
+            {
+            	VisAttributes vis = det.getVisAttributes().get(visref);
+            	if (vis==null) throw new JDOMException("Unknown vis " + visref);
+            	sub.setVisAttributes(vis);
+            }
+            
             det.addSubdetector(sub);
         }
     }
@@ -224,7 +232,6 @@
      */
     void readVisAttributes(Element lccdd, Detector det) throws JDOMException, ElementCreationException
     {
-    	//System.out.println("readVisAttributes");
         Element display = lccdd.getChild("display");
         if ( display != null )
         {

GeomConverter/src/org/lcsim/geometry/subdetector
AbstractPolyhedraCalorimeter.java 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- AbstractPolyhedraCalorimeter.java	7 Mar 2006 01:06:38 -0000	1.5
+++ AbstractPolyhedraCalorimeter.java	12 Sep 2006 02:42:48 -0000	1.6
@@ -94,6 +94,8 @@
         HepRepType type = factory.createHepRepType(barrel, getName());
         type.addAttValue("drawAs","Polygon");
         
+        setHepRepColor(type);
+        
         HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
         
         /* compute section (x,y) coordinates */

GeomConverter/src/org/lcsim/geometry/subdetector
AbstractSubdetector.java 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- AbstractSubdetector.java	7 Feb 2006 17:12:17 -0000	1.6
+++ AbstractSubdetector.java	12 Sep 2006 02:42:48 -0000	1.7
@@ -10,6 +10,8 @@
 /* JDOM dependence from org.lcsim.geometry.compact.Subdetector */
 import hep.graphics.heprep.HepRep;
 import hep.graphics.heprep.HepRepFactory;
+import hep.graphics.heprep.HepRepType;
+
 import org.jdom.Element;
 import org.jdom.JDOMException;
 import org.lcsim.geometry.HepRepProvider;
@@ -47,4 +49,19 @@
     {
         return null;
     }
-}
+   
+    /**
+     * Assign color to subdetector HepRep if there
+     * are VisAttributes.
+     * @param type The HepRepType for this subdetector.
+     */
+    protected void setHepRepColor(HepRepType type)
+    {
+    	if ( getVisAttributes() != null )
+    	{
+    		double rgba[] = getVisAttributes().getRGBA();
+    		String c = rgba[0] + "," + rgba[1] + "," + rgba[2] + "," + rgba[3];
+    		type.addAttValue("color", c);
+    	}
+    }
+}
\ No newline at end of file

GeomConverter/src/org/lcsim/geometry/subdetector
AbstractTestBeam.java 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- AbstractTestBeam.java	28 Oct 2005 00:34:24 -0000	1.4
+++ AbstractTestBeam.java	12 Sep 2006 02:42:48 -0000	1.5
@@ -112,6 +112,8 @@
         HepRepType ec = typeTree.getType("Endcap");
         HepRepType type = factory.createHepRepType(ec, getName());
         type.addAttValue("drawAs","Prism");
+     
+        setHepRepColor(type);
         
         HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
         

GeomConverter/src/org/lcsim/geometry/subdetector
CylindricalBarrelCalorimeter.java 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- CylindricalBarrelCalorimeter.java	24 Aug 2005 07:05:07 -0000	1.8
+++ CylindricalBarrelCalorimeter.java	12 Sep 2006 02:42:49 -0000	1.9
@@ -11,17 +11,10 @@
 import hep.graphics.heprep.HepRepInstanceTree;
 import hep.graphics.heprep.HepRepType;
 import hep.graphics.heprep.HepRepTypeTree;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.HashMap;
-import org.jdom.Attribute;
+import java.awt.Color;
+
 import org.jdom.Element;
 import org.jdom.JDOMException;
-import org.lcsim.geometry.Calorimeter;
-import org.lcsim.geometry.CylindricalSubdetector;
-import org.lcsim.geometry.HepRepProvider;
-import org.lcsim.geometry.layer.Layering;
 
 /**
  *
@@ -52,13 +45,15 @@
     }               
     
     public void appendHepRep(HepRepFactory factory, HepRep heprep)
-    {
+    {    	
         HepRepInstanceTree instanceTree = heprep.getInstanceTreeTop("Detector","1.0");
         HepRepTypeTree typeTree = heprep.getTypeTree("DetectorType","1.0");
         HepRepType barrel = typeTree.getType("Barrel");
         
         HepRepType type = factory.createHepRepType(barrel, getName());
-        type.addAttValue("drawAs","Cylinder");
+        type.addAttValue("drawAs","Cylinder");        
+        
+        setHepRepColor(type);
         
         HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
         instance.addAttValue("radius",getInnerRadius());
@@ -68,6 +63,6 @@
         HepRepInstance instance2 = factory.createHepRepInstance(instanceTree, type);
         instance2.addAttValue("radius",getOuterRadius());
         factory.createHepRepPoint(instance2,0,0,getZMin());
-        factory.createHepRepPoint(instance2,0,0,getZMax());
+        factory.createHepRepPoint(instance2,0,0,getZMax());       
     }    
 }

GeomConverter/src/org/lcsim/geometry/subdetector
CylindricalEndcapCalorimeter.java 1.18 -> 1.19
diff -u -r1.18 -r1.19
--- CylindricalEndcapCalorimeter.java	14 Feb 2006 21:15:12 -0000	1.18
+++ CylindricalEndcapCalorimeter.java	12 Sep 2006 02:42:49 -0000	1.19
@@ -48,6 +48,8 @@
         
         HepRepType type = factory.createHepRepType(endcap, getName());
         type.addAttValue("drawAs","Cylinder");
+      
+        setHepRepColor(type);
         
         double flip = 1;
         for (;;)

GeomConverter/src/org/lcsim/geometry/subdetector
DiskTracker.java 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- DiskTracker.java	21 Sep 2005 01:37:17 -0000	1.11
+++ DiskTracker.java	12 Sep 2006 02:42:49 -0000	1.12
@@ -110,6 +110,8 @@
         HepRepType type = factory.createHepRepType(endcap, getName());
         type.addAttValue("drawAs","Cylinder");
         
+        setHepRepColor(type);
+        
         double flip = 1;
         for (;;)
         {

GeomConverter/src/org/lcsim/geometry/subdetector
MultiLayerTracker.java 1.13 -> 1.14
diff -u -r1.13 -r1.14
--- MultiLayerTracker.java	21 Sep 2005 20:58:39 -0000	1.13
+++ MultiLayerTracker.java	12 Sep 2006 02:42:49 -0000	1.14
@@ -98,6 +98,8 @@
         
         HepRepType type = factory.createHepRepType(barrel, getName());
         type.addAttValue("drawAs","Cylinder");
+
+        setHepRepColor(type);
         
         for (int i=0; i<innerR.length; i++)
         {

GeomConverter/src/org/lcsim/geometry/subdetector
TPC.java 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- TPC.java	24 Aug 2005 07:05:07 -0000	1.3
+++ TPC.java	12 Sep 2006 02:42:50 -0000	1.4
@@ -42,6 +42,8 @@
         HepRepType type = factory.createHepRepType(barrel, getName());
         type.addAttValue("drawAs","Cylinder");
         
+        setHepRepColor(type);
+        
         HepRepInstance instance = factory.createHepRepInstance(instanceTree, type);
         instance.addAttValue("radius",getInnerRadius());
         factory.createHepRepPoint(instance,0,0,getZMin());
CVSspam 0.2.8