[GraXML-commit] DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/GeometricModel/Reps
Brought to you by:
hrivnac
From: Julius H. <hr...@us...> - 2007-01-15 14:42:09
|
Update of /cvsroot/graxml/DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/GeometricModel/Reps In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv8299/net/hep/atlas/graphics/JiveGeometry/GeometricModel/Reps Added Files: AGeneralPath.java Geometry.java Log Message: makes hierarchy, not yet picture --- NEW FILE: Geometry.java --- package net.hep.atlas.graphics.JiveGeometry.GeometricModel.Reps; import net.hep.atlas.graphics.JiveGeometry.GeometricModel.JiveGeometryBuilder; import net.hep.atlas.graphics.JiveGeometry.GeometricModel.JiveRep; // Generic Model import net.hep.atlas.graphics.JiveGeometry.JAXB.GeometryType; import net.hep.atlas.graphics.JiveGeometry.JAXB.AGeometryTBType; import net.hep.atlas.graphics.JiveGeometry.JAXB.AGeneralPathType; // GraXML import net.hep.graphics.GraXML.GraXMLJAXBRep; import net.hep.graphics.GraXML.MasterBuilder; import net.hep.graphics.GraXML.Disconnecter.DetachableConnection; import net.hep.graphics.GraXML.Disconnecter.ConnectionsDB; // Java3D import javax.media.j3d.Group; import javax.media.j3d.BranchGroup; // JAXB import javax.xml.bind.Element; // Log4J import org.apache.log4j.Logger; /** GraXML representation {@link GraXMLJAXBRep} of <code>Geometry</code> JiveGeometry element * connected via JAXB {@link net.hep.atlas.graphics.JiveGeometry.JAXB.GeometryType} generic JAXB * interface. * <p><font color="#880088"> * <pre> * $Log: Geometry.java,v $ * Revision 1.1 2007/01/15 14:41:53 hrivnac * makes hierarchy, not yet picture * * </pre> * </font></p> * @version $Id: Geometry.java,v 1.1 2007/01/15 14:41:53 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public final class Geometry implements GraXMLJAXBRep { // TBD: remove, obsolete public final void traverse(MasterBuilder builder, org.w3c.dom.Node node, Group tg, String parent) {} public final void traverse(MasterBuilder builder0, Element element, Group tg, String parent) { // Verify builder type if (! (builder0 instanceof JiveGeometryBuilder)) { log.error(element + " can't be traversed using " + builder0 + " builder"); return; } JiveGeometryBuilder builder = (JiveGeometryBuilder)builder0; // Verify element type if (! (element instanceof GeometryType)) { log.error(element + " can't be traversed using " + getClass().getName() + " representation"); return; } // Get element properties GeometryType geometry = (GeometryType)element; // Traverse all children and add their representations into branch BranchGroup branch = new BranchGroup();; // - AGeneralPath AGeometryTBType aGeometryTB; AGeneralPathType aGeneralPath; int i = 0; for (Object o1 : geometry.getAGeometryTB()) { aGeometryTB = (AGeometryTBType)o1; for (Object o2 : aGeometryTB.getAGeneralPath()) { aGeneralPath = (AGeneralPathType)o2; (new AGeneralPath()).traverse(builder, aGeneralPath, branch, _name); } } // Register BranchGroup into Connections database builder.conDB().addConnection(new DetachableConnection(_name, parent, tg, branch, null)); } private static String _name = "AGeneralPath"; /** Logging . */ private static Logger log = Logger.getLogger(Geometry.class); } --- NEW FILE: AGeneralPath.java --- package net.hep.atlas.graphics.JiveGeometry.GeometricModel.Reps; import net.hep.atlas.graphics.JiveGeometry.GeometricModel.JiveGeometryBuilder; import net.hep.atlas.graphics.JiveGeometry.GeometricModel.JiveRep; // Generic Model import net.hep.atlas.graphics.JiveGeometry.JAXB.AGeneralPathType; import net.hep.atlas.graphics.JiveGeometry.JAXB.APointType; // GraXML import net.hep.graphics.GraXML.GraXMLJAXBRep; import net.hep.graphics.GraXML.MasterBuilder; import net.hep.graphics.GraXML.Disconnecter.DetachableConnection; import net.hep.graphics.GraXML.Disconnecter.ConnectionsDB; // Java3D import javax.media.j3d.Group; import javax.media.j3d.BranchGroup; import javax.vecmath.Point3d; import javax.media.j3d.Appearance; // JAXB import javax.xml.bind.Element; // FreeHEP import org.freehep.j3d.PolyLine; // Log4J import org.apache.log4j.Logger; /** GraXML representation {@link GraXMLJAXBRep} of <code>AGeneralPath</code> JiveGeometry element * connected via JAXB {@link net.hep.atlas.graphics.JiveGeometry.JAXB.AGeneralPath} generic JAXB * interface. * <p><font color="#880088"> * <pre> * $Log: AGeneralPath.java,v $ * Revision 1.1 2007/01/15 14:41:53 hrivnac * makes hierarchy, not yet picture * * </pre> * </font></p> * @version $Id: AGeneralPath.java,v 1.1 2007/01/15 14:41:53 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public final class AGeneralPath extends JiveRep { public final void traverse(JiveGeometryBuilder builder, AGeneralPathType aGeneralPath, Group tg, String parent) { // Set values set(builder, tg, parent); // Get element properties int num = aGeneralPath.getNumPoints(); String p = aGeneralPath.getP(); String c = aGeneralPath.getC(); String n = aGeneralPath.getN(); String name = p + "_" + c + "_" + n + "_" + k++; Appearance appearance = builder().appearance(name, name + "x"); setAppearance(appearance); APointType aPoint; Point3d[] points = new Point3d[num]; int i = 0; for (Object o : aGeneralPath.getAPoint()) { aPoint = (APointType)o; points[i++] = new Point3d(aPoint.getX(), aPoint.getY(), 0.0); } PolyLine polyline = new PolyLine(points, appearance); use(polyline, name, name + "x"); } private static int k = 0; /** Logging . */ private static Logger log = Logger.getLogger(AGeneralPath.class); } |