Thread: [GraXML-commit] DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps Sphere.java, NONE, 1.1 Torus.jav
Brought to you by:
hrivnac
From: Julius H. <hr...@us...> - 2007-02-12 15:56:59
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv29360/net/hep/AGDD/GeometricModel/Reps Added Files: Sphere.java Torus.java Log Message: sphere and torus added --- NEW FILE: Sphere.java --- package net.hep.AGDD.GeometricModel.Reps; import net.hep.AGDD.GeometricModel.Evaluator; import net.hep.AGDD.GeometricModel.Solid; // Generic Model import net.hep.AGDD.JAXB.SphereType; // GraXML import net.hep.graphics.GraXML.MasterBuilder; import net.hep.graphics.GraXML.Java3DExtensions.Interactivity.Interacter; import net.hep.graphics.GraXML.Disconnecter.DetachableConnection; import net.hep.graphics.GraXML.Disconnecter.ConnectionsDB; import net.hep.graphics.GraXML.BuildOptions; // FreeHEP import org.freehep.j3d.SphereSegment; // Java3D import javax.media.j3d.Group; import javax.media.j3d.Shape3D; import javax.media.j3d.Link; import javax.media.j3d.BranchGroup; // Log4J import org.apache.log4j.Logger; // Java import static java.lang.Math.PI; /** GraXML representation {@link net.hep.graphics.GraXML.GraXMLJAXBRep} of <code>sphere</code> AGDD element * connected via JAXB {@link SphereType} generic JAXB * interface. * <p><font color="#880088"> * <pre> * $Log: Sphere.java,v $ * Revision 1.1 2007/02/12 15:56:50 hrivnac * sphere and torus added * * </pre> * </font></p> * @version $Id: Sphere.java,v 1.1 2007/02/12 15:56:50 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public final class Sphere extends Solid { public final void traverse(MasterBuilder builder, Object element, Group tg, String parent) { // Verify and set builder type setBuilder(builder); // Verify element type if (! (element instanceof SphereType)) { log.error(element + " can't be traversed using " + getClass().getName() + " representation"); return; } // Get element properties Evaluator evaluator = builder().evaluator(); SphereType sphere = (SphereType)element; // not used: sphere.isSensitive(); String lUnit = sphere.getUnitLength().value(); String aUnit = sphere.getUnitAngle().value(); float[] rio = evaluator.valueOf(sphere.getRio(), lUnit); float[] profile = evaluator.valueOf(sphere.getProfile(), aUnit); float[] slice = evaluator.valueOf(sphere.getSlice(), aUnit); String name0 = sphere.getName(); String name = builder().name(name0); setColor(sphere); // Verify reuse if (isLink(name0, name, parent, tg)) { return; } // Create Sphere and use it use(new SphereSegment(rio[0], rio[1], profile[0], profile[0] + profile[1], slice[0] - PI / 2.0, slice[0] - PI / 2.0 + slice[1], BuildOptions.granularity(), builder().appearance(name0, rgb(), transparency())), name, parent, tg); } /** Logging . */ private static Logger log = Logger.getLogger(Sphere.class); } --- NEW FILE: Torus.java --- package net.hep.AGDD.GeometricModel.Reps; import net.hep.AGDD.GeometricModel.Evaluator; import net.hep.AGDD.GeometricModel.Solid; // Generic Model import net.hep.AGDD.JAXB.TorusType; // GraXML import net.hep.graphics.GraXML.MasterBuilder; import net.hep.graphics.GraXML.Java3DExtensions.Interactivity.Interacter; import net.hep.graphics.GraXML.Disconnecter.DetachableConnection; import net.hep.graphics.GraXML.Disconnecter.ConnectionsDB; import net.hep.graphics.GraXML.BuildOptions; // FreeHEP import org.freehep.j3d.TorusSegment; // Java3D import javax.media.j3d.Group; import javax.media.j3d.Shape3D; import javax.media.j3d.Link; import javax.media.j3d.BranchGroup; // Log4J import org.apache.log4j.Logger; // Java import static java.lang.Math.PI; /** GraXML representation {@link net.hep.graphics.GraXML.GraXMLJAXBRep} of <code>torus</code> AGDD element * connected via JAXB {@link TorusType} generic JAXB * interface. * <p><font color="#880088"> * <pre> * $Log: Torus.java,v $ * Revision 1.1 2007/02/12 15:56:50 hrivnac * sphere and torus added * * </pre> * </font></p> * @version $Id: Torus.java,v 1.1 2007/02/12 15:56:50 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public final class Torus extends Solid { public final void traverse(MasterBuilder builder, Object element, Group tg, String parent) { // Verify and set builder type setBuilder(builder); // Verify element type if (! (element instanceof TorusType)) { log.error(element + " can't be traversed using " + getClass().getName() + " representation"); return; } // Get element properties Evaluator evaluator = builder().evaluator(); TorusType torus = (TorusType)element; // not used: torus.isSensitive(); String lUnit = torus.getUnitLength().value(); String aUnit = torus.getUnitAngle().value(); float[] rior = evaluator.valueOf(torus.getRioR(), lUnit); float[] profile = evaluator.valueOf(torus.getProfile(), aUnit); String name0 = torus.getName(); String name = builder().name(name0); setColor(torus); // Verify reuse if (isLink(name0, name, parent, tg)) { return; } // Create Torus and use it use(new TorusSegment(rior[0], rior[1], rior[2], profile[0], profile[0] + profile[1], BuildOptions.granularity(), builder().appearance(name0, rgb(), transparency())), name, parent, tg); } /** Logging . */ private static Logger log = Logger.getLogger(Torus.class); } |