9 modified files
GeomConverter/src/org/lcsim/geometry/compact
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
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
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
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
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
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
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
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
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