graxml-commit Mailing List for GraXML (Page 5)
Brought to you by:
hrivnac
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(1) |
Apr
(5) |
May
(6) |
Jun
(2) |
Jul
|
Aug
(12) |
Sep
(32) |
Oct
(41) |
Nov
(16) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(10) |
Feb
(10) |
Mar
(3) |
Apr
(3) |
May
(10) |
Jun
(12) |
Jul
|
Aug
|
Sep
(11) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
(169) |
Feb
(17) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(100) |
Nov
(14) |
Dec
(10) |
2008 |
Jan
(37) |
Feb
(4) |
Mar
(10) |
Apr
(73) |
May
(22) |
Jun
(8) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Julius H. <hr...@us...> - 2008-04-17 23:00:06
|
Update of /cvsroot/graxml/DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/Schema In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10081/net/hep/atlas/graphics/JiveGeometry/Schema Modified Files: AGeometry.xsd Log Message: using Atlantis to get geometry Index: AGeometry.xsd =================================================================== RCS file: /cvsroot/graxml/DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/Schema/AGeometry.xsd,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** AGeometry.xsd 24 Jan 2007 14:00:36 -0000 1.4 --- AGeometry.xsd 17 Apr 2008 22:59:31 -0000 1.5 *************** *** 5,8 **** --- 5,11 ---- <!-- $Log$ + Revision 1.5 2008/04/17 22:59:31 hrivnac + using Atlantis to get geometry + Revision 1.4 2007/01/24 14:00:36 hrivnac new geom files added *************** *** 154,158 **** <xs:attribute name="deta" type="xs:double" use="required"/> <xs:attribute name="neta" type="xs:int" use="required"/> ! <xs:attribute name="meta" type="xs:double" use="required"/> <xs:attribute name="phi0" type="xs:double" use="required"/> <xs:attribute name="nphi" type="xs:int" use="required"/> --- 157,161 ---- <xs:attribute name="deta" type="xs:double" use="required"/> <xs:attribute name="neta" type="xs:int" use="required"/> ! <xs:attribute name="meta" type="xs:int" use="required"/> <xs:attribute name="phi0" type="xs:double" use="required"/> <xs:attribute name="nphi" type="xs:int" use="required"/> *************** *** 170,174 **** <xs:attribute name="zMin" type="xs:double" use="required"/> <xs:attribute name="zMax" type="xs:double" use="required"/> ! <xs:attribute name="eta" type="xs:double" use="required"/> <xs:attribute name="phi0" type="xs:double" use="required"/> <xs:attribute name="nphi" type="xs:int" use="required"/> --- 173,177 ---- <xs:attribute name="zMin" type="xs:double" use="required"/> <xs:attribute name="zMax" type="xs:double" use="required"/> ! <xs:attribute name="eta" type="xs:int" use="required"/> <xs:attribute name="phi0" type="xs:double" use="required"/> <xs:attribute name="nphi" type="xs:int" use="required"/> |
From: Julius H. <hr...@us...> - 2008-04-17 22:59:59
|
Update of /cvsroot/graxml/DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/GeometricModel In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv10081/net/hep/atlas/graphics/JiveGeometry/GeometricModel Modified Files: JiveRep.java Log Message: using Atlantis to get geometry Index: JiveRep.java =================================================================== RCS file: /cvsroot/graxml/DetDescr/JiveGeometry/src/net/hep/atlas/graphics/JiveGeometry/GeometricModel/JiveRep.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** JiveRep.java 24 Jan 2007 17:00:41 -0000 1.5 --- JiveRep.java 17 Apr 2008 22:57:41 -0000 1.6 *************** *** 19,25 **** import javax.media.j3d.Appearance; import javax.media.j3d.TransparencyAttributes; // FreeHEP ! import org.freehep.j3d.PolyGoneSegment; // Java --- 19,26 ---- import javax.media.j3d.Appearance; import javax.media.j3d.TransparencyAttributes; + import javax.vecmath.Point2d; // FreeHEP ! import org.freehep.j3d.Ring; // Java *************** *** 37,40 **** --- 38,44 ---- * <pre> * $Log$ + * Revision 1.6 2008/04/17 22:57:41 hrivnac + * using Atlantis to get geometry + * * Revision 1.5 2007/01/24 17:00:41 hrivnac * migrated to JAXB 2.0, simplified *************** *** 84,96 **** /** Convert Atlantis geometry representation to GraXML one. * Create corresponding {@link PolyGoneSegment}s. ! * @param z The z-coordinates of one solid quadrant. ! * @param r The r-coordinates of one solid quadrant * @param reflect The whether z-reflected solid should be created too. * @param nPhi The number of solid' subdivisions in phi. * @param color The name of the solid' color. * @param name The solid' name. */ ! protected void atlantis2GraXML(double[] z, ! double[] r, boolean reflect, int nPhi, String color, --- 88,99 ---- /** Convert Atlantis geometry representation to GraXML one. * Create corresponding {@link PolyGoneSegment}s. ! * @param zrho The z-rho-coordinates of one solid quadrant. * @param reflect The whether z-reflected solid should be created too. * @param nPhi The number of solid' subdivisions in phi. * @param color The name of the solid' color. * @param name The solid' name. */ ! protected void atlantis2GraXML(Point2d[] zrho, boolean reflect, + double phi0, int nPhi, String color, *************** *** 104,125 **** //_appearance. setTransparencyAttributes(new TransparencyAttributes(TransparencyAttributes.NICEST, 0.5f)); ! // Create PolyGoneSegments ! double[] zmins = new double[] {z[2], z[3]}; ! double[] zmaxs = new double[] {z[1], z[0]}; ! double[] rmins = new double[] {r[2], r[3]}; ! double[] rmaxs = new double[] {r[1], r[0]}; ! // z+- if (reflect) { ! use(new PolyGoneSegment(rmins, rmaxs, zmins, zmaxs, 0.0, 2*PI, nPhi, _appearance), name + "+", info); ! zmins = new double[]{- zmins[1], - zmins[0]}; ! zmaxs = new double[]{- zmaxs[1], - zmaxs[0]}; ! rmins = new double[]{ rmins[1], rmins[0]}; ! rmaxs = new double[]{ rmaxs[1], rmaxs[0]}; ! use(new PolyGoneSegment(rmins, rmaxs, zmins, zmaxs, 0.0, 2*PI, nPhi, _appearance), name + "-", info); } - // only one else { ! use(new PolyGoneSegment(rmins, rmaxs, zmins, zmaxs, 0.0, 2*PI, nPhi, _appearance), name, info); } } --- 107,123 ---- //_appearance. setTransparencyAttributes(new TransparencyAttributes(TransparencyAttributes.NICEST, 0.5f)); ! // Create Ring if (reflect) { ! Point2d[] zrho1 = new Point2d[zrho.length]; ! for (int i = 0; i < zrho.length; i++) { ! zrho1[zrho.length - i - 1] = new Point2d(- zrho[i].x, zrho[i].y); ! } ! use(new Ring(zrho, phi0, nPhi, _appearance), name + "+", info); ! use(new Ring(zrho1, phi0, nPhi, _appearance), name + "-", info); } else { ! use(new Ring(zrho, phi0, nPhi, _appearance), name, info); } + } |
From: Julius H. <hr...@us...> - 2008-04-17 22:55:03
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv9576/org/freehep/j3d Modified Files: Ring.java Test.java Log Message: Ring changed Index: Test.java =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d/Test.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Test.java 17 Apr 2008 10:20:29 -0000 1.6 --- Test.java 17 Apr 2008 22:54:49 -0000 1.7 *************** *** 35,38 **** --- 35,41 ---- * <pre> * $Log$ + * Revision 1.7 2008/04/17 22:54:49 hrivnac + * Ring changed + * * Revision 1.6 2008/04/17 10:20:29 hrivnac * Ring added *************** *** 237,248 **** } else if (name.equals("Ring")) { ! Point2d[] points = {new Point2d( 0.1, 0.1), ! new Point2d(-0.1, 0.1), ! new Point2d(-0.1, -0.1), ! new Point2d( 0.1, -0.1)}; return(new Ring(points, // points ! 0.3, // r ! 0.5, // phi0 ! 10, // nPhi transparentAppearance())); } --- 240,250 ---- } else if (name.equals("Ring")) { ! Point2d[] points = {new Point2d(0.2, 0.3), ! new Point2d(0.2, 0.3), ! new Point2d(0.3, 0.2), ! new Point2d(0.3, 0.1)}; return(new Ring(points, // points ! 0.5, // phi0 ! 10, // nPhi transparentAppearance())); } Index: Ring.java =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d/Ring.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Ring.java 17 Apr 2008 10:20:26 -0000 1.1 --- Ring.java 17 Apr 2008 22:54:46 -0000 1.2 *************** *** 22,25 **** --- 22,28 ---- * <pre> * $Log$ + * Revision 1.2 2008/04/17 22:54:46 hrivnac + * Ring changed + * * Revision 1.1 2008/04/17 10:20:26 hrivnac * Ring added *************** *** 43,59 **** /** Create ring. ! * @param points The array of {@link Point2d}s, points.length > 2. ! * x is radial coordinate of ring. Ring is created over x-y plane. ! * @param r The ring radius, r > 0. ! * @param phi0 The phi of the first segment [rad], 0-2*pi. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance ! * @throws IllegalArgumentException if the parameters are invalid. */ public Ring(Point2d[] points, - double r, double phi0, int nPhi, Appearance appearance) throws IllegalArgumentException { ! construct(points, r, phi0, nPhi, appearance); } --- 46,60 ---- /** Create ring. ! * @param points The array of {@link Point2d}s in z-rho plane, points.length > 2. ! * @param phi0 The phi of the first segment [rad]. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance ! * @throws IllegalArgumentException if the parameters are invalid. */ ! // TBD: rho > 0 public Ring(Point2d[] points, double phi0, int nPhi, Appearance appearance) throws IllegalArgumentException { ! construct(points, phi0, nPhi, appearance); } *************** *** 62,74 **** /** Perform the construction. // TBD: check for consistency ! * @param points The array of {@link Point2d}s, points.length > 2. * x is radial coordinate of ring. Ring is created over x-y plane. ! * @param r The ring radius, r > 0. ! * @param phi0 The phi of the first segment [rad], 0-2*pi. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(Point2d[] points, - double r, double phi0, int nPhi, --- 63,73 ---- /** Perform the construction. // TBD: check for consistency ! * @param points The array of {@link Point2d}s in z-rho plane, points.length > 2. * x is radial coordinate of ring. Ring is created over x-y plane. ! * @param phi0 The phi of the first segment [rad]. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(Point2d[] points, double phi0, int nPhi, *************** *** 84,95 **** " it should be > 2."); } - if (! (phi0 <= 2*PI && phi0 >= 0 && - r > 0)) { - System.err.println("Ring: (phi0, r) = (" + - + phi0 + ", " + r + ")" + - " is illegal, it should satisfy following conditions:" + - " r > 0, 0 <= phi0 < phimax <= 2*pi"); - r = abs(r); - } // Prepare Points --- 83,86 ---- *************** *** 102,107 **** phi = phi0 + n * dPhi; for (int i = 0; i < points.length; i++) { ! p[n][i] = new double[]{(r + points[i].y) * cos(phi), ! (r + points[i].y) * sin(phi), points[i].x}; } --- 93,98 ---- phi = phi0 + n * dPhi; for (int i = 0; i < points.length; i++) { ! p[n][i] = new double[]{points[i].y * cos(phi), ! points[i].y * sin(phi), points[i].x}; } |
From: Julius H. <hr...@us...> - 2008-04-17 10:20:52
|
Update of /cvsroot/graxml/Graphics/HEP3D/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv26239 Modified Files: index.html Log Message: Ring added Index: index.html =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/index.html,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** index.html 22 Dec 2007 15:27:04 -0000 1.11 --- index.html 17 Apr 2008 10:20:24 -0000 1.12 *************** *** 25,28 **** --- 25,30 ---- SphereSegment, TorusSgment, + Extrusion, + Ring, PointSet, PolyLine and *************** *** 153,156 **** --- 155,159 ---- <li>Extrusion added.</li> <li>PointSet added.</li> + <li>Ring added.</li> </ul> </li> |
From: Julius H. <hr...@us...> - 2008-04-17 10:20:29
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv26239/org/freehep/j3d Modified Files: Test.java Added Files: Ring.java Log Message: Ring added Index: Test.java =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d/Test.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Test.java 2 Oct 2007 17:22:46 -0000 1.5 --- Test.java 17 Apr 2008 10:20:29 -0000 1.6 *************** *** 35,38 **** --- 35,41 ---- * <pre> * $Log$ + * Revision 1.6 2008/04/17 10:20:29 hrivnac + * Ring added + * * Revision 1.5 2007/10/02 17:22:46 hrivnac * PointSet added *************** *** 233,236 **** --- 236,250 ---- transparentAppearance())); } + else if (name.equals("Ring")) { + Point2d[] points = {new Point2d( 0.1, 0.1), + new Point2d(-0.1, 0.1), + new Point2d(-0.1, -0.1), + new Point2d( 0.1, -0.1)}; + return(new Ring(points, // points + 0.3, // r + 0.5, // phi0 + 10, // nPhi + transparentAppearance())); + } else if (name.equals("PointSet")) { Point3d[] points = {new Point3d(0.0, 0.1, -0.1), *************** *** 493,496 **** --- 507,511 ---- " PolyGoneSegment |\n" + " TorusSegment |\n" + + " Ring |\n" + " PointSet |\n" + " PolyLine |\n" + --- NEW FILE: Ring.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Appearance; import javax.media.j3d.Shape3D; import javax.media.j3d.LineStripArray; import javax.media.j3d.GeometryArray; import javax.vecmath.Point2d; import javax.vecmath.Point3d; import javax.vecmath.Vector3d; // Java import java.lang.IllegalArgumentException; import static java.lang.Math.PI; import static java.lang.Math.sin; import static java.lang.Math.cos; import static java.lang.Math.abs; /** <code>Ring</code> defined from section points. * <img src="doc-files/Ring.gif"> * <p><font color="#880088"> * <pre> * $Log: Ring.java,v $ * Revision 1.1 2008/04/17 10:20:26 hrivnac * Ring added * * </pre> * </font></p> * @opt attributes * @opt operations * @opt types * @opt visibility * @version $Id: Ring.java,v 1.1 2008/04/17 10:20:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ // TBD: documentation picture // TBD: make RingSegment public class Ring extends Solid { // Constructors -------------------------------------------------------------- /** Initialise ring to be constructed later. */ protected Ring() {} /** Create ring. * @param points The array of {@link Point2d}s, points.length > 2. * x is radial coordinate of ring. Ring is created over x-y plane. * @param r The ring radius, r > 0. * @param phi0 The phi of the first segment [rad], 0-2*pi. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance * @throws IllegalArgumentException if the parameters are invalid. */ public Ring(Point2d[] points, double r, double phi0, int nPhi, Appearance appearance) throws IllegalArgumentException { construct(points, r, phi0, nPhi, appearance); } // --------------------------------------------------------------------------- /** Perform the construction. // TBD: check for consistency * @param points The array of {@link Point2d}s, points.length > 2. * x is radial coordinate of ring. Ring is created over x-y plane. * @param r The ring radius, r > 0. * @param phi0 The phi of the first segment [rad], 0-2*pi. * @param nPhi The number of segments, nPhi > 2. * @param appearance The object' Appearance * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(Point2d[] points, double r, double phi0, int nPhi, Appearance appearance) throws IllegalArgumentException { // Check preconditins if (points != null && ! (points.length > 2)) { throw new IllegalArgumentException("There are not enough points (" + points.length + ")," + " it should be > 2."); } if (! (nPhi > 2)) { throw new IllegalArgumentException("There are not enough phi segments (" + nPhi + ")," + " it should be > 2."); } if (! (phi0 <= 2*PI && phi0 >= 0 && r > 0)) { System.err.println("Ring: (phi0, r) = (" + + phi0 + ", " + r + ")" + " is illegal, it should satisfy following conditions:" + " r > 0, 0 <= phi0 < phimax <= 2*pi"); r = abs(r); } // Prepare Points double[][][] p = new double[nPhi][points.length][3]; // Fill Points double dPhi = 2*PI / nPhi; double phi; for (int n = 0; n < nPhi; n++) { phi = phi0 + n * dPhi; for (int i = 0; i < points.length; i++) { p[n][i] = new double[]{(r + points[i].y) * cos(phi), (r + points[i].y) * sin(phi), points[i].x}; } } // Prepare Quad array Point3d[] coordinates = new Point3d[nPhi * points.length * 4]; // Loop over phi and psi, construct int k = 0; int n1 = 0; int i1 = 0; for (int n = 0; n < nPhi; n++) { n1 = ((n == nPhi - 1) ? 0 : (n + 1)); for (int i = 0; i < points.length; i++) { i1 = ((i == points.length - 1) ? 0 : (i + 1)); coordinates[k ] = new Point3d(p[n ][i ]); coordinates[k + 1] = new Point3d(p[n1][i ]); coordinates[k + 2] = new Point3d(p[n1][i1]); coordinates[k + 3] = new Point3d(p[n ][i1]); k += 4; } } // Add Geometry addCoordinates(coordinates); // Add Appearance setAppearance(appearance); } } |
From: Julius H. <hr...@us...> - 2008-03-17 14:48:16
|
Update of /cvsroot/graxml/Graphics/GraXML/ant In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv8153 Modified Files: build.xml Log Message: new mini-realease Index: build.xml =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/ant/build.xml,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** build.xml 19 Oct 2007 14:09:29 -0000 1.20 --- build.xml 17 Mar 2008 14:48:12 -0000 1.21 *************** *** 12,18 **** <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> ! <property name="version" value="3.1.10.1"/> ! ! <property name="atlantis.lib" value="/home/hrivnac/work/Graphics/AtlantisJava/AtlantisJava-09-08-12/lib"/> <path id="classpath.build"> --- 12,16 ---- <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> ! <property name="version" value="3.1.10.2"/> <path id="classpath.build"> *************** *** 206,244 **** <property name="main" value="net.hep.graphics.GraXML.FrontEnd.GraXMLConverter"/> </ant> ! <jar jarfile="${lib}/${name}Converter.exe.jar" update="true"> ! <fileset dir="${src}" includes="log4j.properties"/> ! </jar> ! <copy todir="${atlantis.lib}"> ! <fileset dir="${lib}" includes="bool.jar ! bsh-2.0b1.jar ! colt.jar ! cx3djava100a.jar ! freehep-hep3d.jar ! freehep-j3d.jar ! GraXML.jar ! j3dcore.jar ! j3dutils.jar ! JiveEvent.jar ! JiveGeometry.jar ! AGDD.jar ! GDML.jar ! jlfgr.jar ! log4j-1.2.8.jar ! vecmath.jar ! xercesImpl.jar"/> ! <!-- Java 1.5 --> ! <fileset dir="${lib}" includes="jaxp-api.jar ! jaxb-api.jar ! jaxb-impl.jar ! jaxb-xjc.jar ! jsr173_1.0_api.jar ! activation.jar"/> ! </copy> ! <copy todir="${atlantis.lib}/i386"> ! <fileset dir="${lib}/i386" includes="*.so"/> ! </copy> ! <copy todir="${atlantis.lib}/amd64"> ! <fileset dir="${lib}/amd64" includes="*.so"/> ! </copy> </target> --- 204,210 ---- <property name="main" value="net.hep.graphics.GraXML.FrontEnd.GraXMLConverter"/> </ant> ! <jar jarfile="${lib}/${name}Converter.exe.jar" update="true"> ! <fileset dir="${src}" includes="log4j.properties"/> ! </jar> </target> *************** *** 249,284 **** description="Create complete distribution"> <ant antfile="${config.db}/standard.xml" target="standard.dist" inheritRefs="true"/> - <tar tarfile="${top}/${name}4Atlantis.tar.gz" - longfile="gnu" - compression="gzip"> - <tarfileset dir="${lib}" prefix="lib"> - <include name="bool.jar"/> - <include name="bsh-2.0b1.jar"/> - <include name="colt.jar"/> - <include name="cx3djava100a.jar"/> - <include name="freehep-hep3d.jar"/> - <include name="freehep-j3d.jar"/> - <include name="GraXML.jar"/> - <include name="j3dcore.jar"/> - <include name="j3dutils.jar"/> - <include name="JiveEvent.jar"/> - <include name="jlfgr.jar"/> - <include name="log4j-1.2.8.jar"/> - <include name="vecmath.jar"/> - <include name="xercesImpl.jar"/> - <include name="jars/jaxp-api.jar"/> - <include name="jars/jaxb-api.jar"/> - <include name="jars/jaxb-impl.jar"/> - <include name="jars/jaxb-xjc.jar"/> - <include name="jars/jsr173_1.0_api.jar"/> - <include name="jars/activation.jar"/> - </tarfileset> - <tarfileset dir="${lib}/i386" prefix="lib/i386"> - <include name="*.so"/> - </tarfileset> - <tarfileset dir="${lib}/amd64" prefix="lib/amd64"> - <include name="*.so"/> - </tarfileset> - </tar> </target> --- 215,218 ---- *************** *** 374,379 **** <fileset file="${src}/*.jnlp"/> </copy> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.jnlp" token="@VERSION@" value="${version}"/> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.jnlp" token="@BUILD@" value="${TSTAMP}"/> <copy tofile="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.gif" file="${src}/net/hep/graphics/GraXML/doc-files/logo.gif"/> --- 308,315 ---- <fileset file="${src}/*.jnlp"/> </copy> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.jnlp" token="@VERSION@" value="${version}"/> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.jnlp" token="@BUILD@" value="${TSTAMP}"/> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXMLComponent.jnlp" token="@VERSION@" value="${version}"/> ! <replace file="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXMLComponent.jnlp" token="@BUILD@" value="${TSTAMP}"/> <copy tofile="${user.home}/WWW/Activities/Packages/WebStart/GraXML/GraXML.gif" file="${src}/net/hep/graphics/GraXML/doc-files/logo.gif"/> |
From: Julius H. <hr...@us...> - 2008-03-17 14:30:45
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Java3DExtensions In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24666/net/hep/graphics/GraXML/Java3DExtensions Modified Files: Envelope.java Log Message: visual modifications can be performed from TreeView, Floor added to Envelope Index: Envelope.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Java3DExtensions/Envelope.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Envelope.java 6 Nov 2007 23:15:52 -0000 1.5 --- Envelope.java 17 Mar 2008 14:29:59 -0000 1.6 *************** *** 5,8 **** --- 5,9 ---- // HEP3D import org.freehep.j3d.ConeSegment; + import org.freehep.j3d.Trapezoid; // Java3D *************** *** 23,27 **** --- 24,30 ---- import javax.vecmath.Point3d; import javax.vecmath.Vector3d; + import javax.vecmath.Matrix3d; import javax.vecmath.Color3f; + import static javax.media.j3d.Transform3D.IDENTITY; /** Envelope is a basic Graphical environment (Axis, ights, Coordinates,...) *************** *** 30,33 **** --- 33,39 ---- * <pre> * $Log$ + * Revision 1.6 2008/03/17 14:29:59 hrivnac + * visual modifications can be performed from TreeView, Floor added to Envelope + * * Revision 1.5 2007/11/06 23:15:52 hrivnac * builders version reported *************** *** 144,153 **** } ConeSegment cylinder = new ConeSegment(_radius, _length, BuildOptions.granularity(), transparent); ! Transform3D t3d = new Transform3D(); ! t3d.rotZ(Math.PI / 2); ! TransformGroup t = new TransformGroup(t3d); ! t.setTransform(t3d); ! t.addChild(cylinder); ! _cylinderGroup.addChild(t); } --- 150,172 ---- } ConeSegment cylinder = new ConeSegment(_radius, _length, BuildOptions.granularity(), transparent); ! Transform3D t3dc = new Transform3D(); ! t3dc.rotZ(Math.PI / 2); ! TransformGroup tc = new TransformGroup(t3dc); ! tc.setTransform(t3dc); ! tc.addChild(cylinder); ! _cylinderGroup.addChild(tc); ! ! // Floor ! _floorGroup = new BranchGroup(); ! _floorGroup.setCapability(BranchGroup.ALLOW_DETACH); ! if (_floor) { ! addChild(_floorGroup); ! } ! Trapezoid floor = new Trapezoid(2 * _radius, _radius / 100.0, _length, transparent); ! Transform3D t3df = new Transform3D(UMATRIX, new Vector3d(0, - _radius * 1.1, 0), 1); ! TransformGroup tf = new TransformGroup(t3df); ! tf.setTransform(t3df); ! tf.addChild(floor); ! _floorGroup.addChild(tf); } *************** *** 185,188 **** --- 204,217 ---- } } + // Floor + else if (part.equals("Floor")) { + _floor = ! _floor; + if (_floor) { + addChild(_floorGroup); + } + else { + _floorGroup.detach(); + } + } } *************** *** 242,245 **** --- 271,279 ---- } + // TBD + public static boolean floor() { + return _floor; + } + private static boolean _axis = true; *************** *** 248,251 **** --- 282,287 ---- private static boolean _cylinder = false; + private static boolean _floor = false; + private BranchGroup _axisGroup; *************** *** 254,257 **** --- 290,295 ---- private BranchGroup _cylinderGroup; + private BranchGroup _floorGroup; + // TBD public static final void setLength(double length) { *************** *** 277,279 **** --- 315,323 ---- private static final BoundingSphere _bounds = new BoundingSphere(new Point3d(0, 0, 0), 10); + /** The unity {@link Matrix3d}. */ + private static final Matrix3d UMATRIX = new Matrix3d(1, 0, 0, + 0, 1, 0, + 0, 0, 1); + + } |
From: Julius H. <hr...@us...> - 2008-03-17 14:30:45
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24666/net/hep/graphics/GraXML/doc-files Modified Files: Guide.html Log Message: visual modifications can be performed from TreeView, Floor added to Envelope Index: Guide.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files/Guide.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Guide.html 17 Mar 2008 13:29:46 -0000 1.29 --- Guide.html 17 Mar 2008 14:29:59 -0000 1.30 *************** *** 967,970 **** --- 967,971 ---- <li>Envelope improved.</li> <li>Visual modigications can be performed from TreeView.</li> + <li>Floor added to Envelope.</li> </ul> <li>Bug fixes:</li> |
From: Julius H. <hr...@us...> - 2008-03-17 14:30:30
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/GUI/Components In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24666/net/hep/graphics/GraXML/GUI/Components Modified Files: EnvelopePanel.java Log Message: visual modifications can be performed from TreeView, Floor added to Envelope Index: EnvelopePanel.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/GUI/Components/EnvelopePanel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EnvelopePanel.java 6 Nov 2007 23:15:52 -0000 1.3 --- EnvelopePanel.java 17 Mar 2008 14:29:59 -0000 1.4 *************** *** 20,23 **** --- 20,26 ---- * <pre> * $Log$ + * Revision 1.4 2008/03/17 14:29:59 hrivnac + * visual modifications can be performed from TreeView, Floor added to Envelope + * * Revision 1.3 2007/11/06 23:15:52 hrivnac * builders version reported *************** *** 69,72 **** --- 72,81 ---- cylinderCheckBox.setFont(Fonts.PLAIN); cylinderCheckBox.setToolTipText("Show/Hide Cylinder"); + // Cylinder + JCheckBox floorCheckBox = new JCheckBox("Floor", Envelope.floor()); + floorCheckBox.setName("Envelope"); + floorCheckBox.addActionListener(listener); + floorCheckBox.setFont(Fonts.PLAIN); + floorCheckBox.setToolTipText("Show/Hide Floor"); // Panel setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); *************** *** 75,78 **** --- 84,88 ---- add(legendCheckBox); add(cylinderCheckBox); + add(floorCheckBox); add(new JLabel(" ")); add(new JLabel(" ")); |
From: Julius H. <hr...@us...> - 2008-03-17 14:30:07
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv24666/net/hep/graphics/GraXML/Disconnecter Modified Files: ViewerTreeMouseListener.java Log Message: visual modifications can be performed from TreeView, Floor added to Envelope Index: ViewerTreeMouseListener.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter/ViewerTreeMouseListener.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ViewerTreeMouseListener.java 17 Mar 2008 13:29:45 -0000 1.4 --- ViewerTreeMouseListener.java 17 Mar 2008 14:29:58 -0000 1.5 *************** *** 28,31 **** --- 28,32 ---- import javax.swing.AbstractAction; import javax.swing.JPopupMenu; + import javax.swing.JMenuItem; import javax.swing.tree.DefaultMutableTreeNode; *************** *** 41,44 **** --- 42,48 ---- * <pre> * $Log$ + * Revision 1.5 2008/03/17 14:29:58 hrivnac + * visual modifications can be performed from TreeView, Floor added to Envelope + * * Revision 1.4 2008/03/17 13:29:45 hrivnac * visual modifications can be performed from TreeView *************** *** 92,134 **** // Popup Menu _popup = new JPopupMenu(); ! _popup.add(new AbstractAction("Picking") { ! public void actionPerformed(ActionEvent e) { ! modify(PICKING, 0); ! } ! }); _popup.addSeparator(); ! _popup.add(new AbstractAction("Transparent") { ! public void actionPerformed(ActionEvent e) { ! modify(TRANSPARENCY, PickingCallback.ROTATE); ! } ! }); ! _popup.add(new AbstractAction("Half") { ! public void actionPerformed(ActionEvent e) { ! modify(TRANSPARENCY, PickingCallback.ZOOM); ! } ! }); ! _popup.add(new AbstractAction("Solid") { ! public void actionPerformed(ActionEvent e) { ! modify(TRANSPARENCY, PickingCallback.TRANSLATE); ! } ! }); _popup.addSeparator(); ! _popup.add(new AbstractAction("Wireframe") { ! public void actionPerformed(ActionEvent e) { ! modify(POLYGON, PickingCallback.ROTATE); ! } ! }); ! _popup.add(new AbstractAction("Points") { ! public void actionPerformed(ActionEvent e) { ! modify(POLYGON, PickingCallback.ZOOM); ! } ! }); ! _popup.add(new AbstractAction("Solid") { public void actionPerformed(ActionEvent e) { ! modify(POLYGON, PickingCallback.TRANSLATE); } }); ! _tree.add(_popup); ! _tree.addMouseListener(new PopupMouseListener()); } --- 96,124 ---- // Popup Menu _popup = new JPopupMenu(); ! _popup.add(popupItem("Picking", PICKING, 0, "Pick for further operations")); _popup.addSeparator(); ! _popup.add(popupItem("Transparent", TRANSPARENCY, PickingCallback.ROTATE, "Make Transparent")); ! _popup.add(popupItem("Half", TRANSPARENCY, PickingCallback.ZOOM, "Make Semi-transparent")); ! _popup.add(popupItem("Solid", TRANSPARENCY, PickingCallback.TRANSLATE, "Make Opaque")); _popup.addSeparator(); ! _popup.add(popupItem("Wireframe", POLYGON, PickingCallback.ROTATE, "Made Wireframe")); ! _popup.add(popupItem("Points", POLYGON, PickingCallback.ZOOM, "Made from Points")); ! _popup.add(popupItem("Solid", POLYGON, PickingCallback.TRANSLATE, "Made Solid")); ! _tree.add(_popup); ! _tree.addMouseListener(new PopupMouseListener()); ! } ! ! // TBD ! private JMenuItem popupItem(String name, ! final short what, ! final int how, ! String help) { ! JMenuItem item = new JMenuItem(new AbstractAction(name) { public void actionPerformed(ActionEvent e) { ! modify(what, how); } }); ! item.setToolTipText("<html>" + help + "</html>"); ! return item; } |
From: Julius H. <hr...@us...> - 2008-03-17 13:32:03
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4813/net/hep/graphics/GraXML/Disconnecter Added Files: PopupMouseListener.java Log Message: visual modifications can be performed from TreeView --- NEW FILE: PopupMouseListener.java --- package net.hep.graphics.GraXML.Disconnecter; // AWT import java.awt.event.MouseAdapter; /** <code>PopupMouseAdapter</code> handles the "click" on * the {@link JPopupMenu}. * <p><font color="#880088"> * <pre> * $Log: PopupMouseListener.java,v $ * Revision 1.1 2008/03/17 13:32:06 hrivnac * visual modifications can be performed from TreeView * * </pre> * </font></p> * @version $Id: PopupMouseListener.java,v 1.1 2008/03/17 13:32:06 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public final class PopupMouseListener extends MouseAdapter { } |
From: Julius H. <hr...@us...> - 2008-03-17 13:30:28
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Java3DExtensions/Interactivity In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2379/net/hep/graphics/GraXML/Java3DExtensions/Interactivity Modified Files: CallBack.java Interacter.java Log Message: visual modifications can be performed from TreeView Index: Interacter.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Java3DExtensions/Interactivity/Interacter.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Interacter.java 10 Oct 2007 18:47:42 -0000 1.8 --- Interacter.java 17 Mar 2008 13:29:45 -0000 1.9 *************** *** 27,30 **** --- 27,33 ---- * <pre> * $Log$ + * Revision 1.9 2008/03/17 13:29:45 hrivnac + * visual modifications can be performed from TreeView + * * Revision 1.8 2007/10/10 18:47:42 hrivnac * if running in a Thread, doesn't exist; ticks on axis *************** *** 118,121 **** --- 121,125 ---- _name = name; + _node = node; boolean wireframe = (node instanceof Shape3D && _outlined && outlineColor != null); *************** *** 140,149 **** // Active Transformation ! TransformGroup transform = new TransformGroup(); ! window.interacters().addTransformGroup(transform); ! transform.setCapability(TransformGroup.ALLOW_CHILDREN_READ); ! transform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); ! transform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); ! transform.setCapability(TransformGroup.ENABLE_PICK_REPORTING); // User Data will be passed into CallBack --- 144,153 ---- // Active Transformation ! _transform = new TransformGroup(); ! window.interacters().addTransformGroup(_transform); ! _transform.setCapability(TransformGroup.ALLOW_CHILDREN_READ); ! _transform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); ! _transform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); ! _transform.setCapability(TransformGroup.ENABLE_PICK_REPORTING); // User Data will be passed into CallBack *************** *** 151,155 **** userData[0] = window; userData[1] = name; ! transform.setUserData(userData); // Transformations --- 155,159 ---- userData[0] = window; userData[1] = name; ! _transform.setUserData(userData); // Transformations *************** *** 171,187 **** // Add Node (and its outline if requested) if (_solid && !wireframe) { ! transform.addChild(node); } if (!_solid && wireframe) { OutlinedShape3DFactory.outline((Shape3D)node, outlineColor); ! transform.addChild(node); } if (_solid && wireframe) { Node clone = ((Shape3D)node).cloneNode(false); OutlinedShape3DFactory.outline((Shape3D)clone, outlineColor); ! transform.addChild(node); ! transform.addChild(clone); } ! addChild(transform); // Modify access capabilities --- 175,191 ---- // Add Node (and its outline if requested) if (_solid && !wireframe) { ! _transform.addChild(node); } if (!_solid && wireframe) { OutlinedShape3DFactory.outline((Shape3D)node, outlineColor); ! _transform.addChild(node); } if (_solid && wireframe) { Node clone = ((Shape3D)node).cloneNode(false); OutlinedShape3DFactory.outline((Shape3D)clone, outlineColor); ! _transform.addChild(node); ! _transform.addChild(clone); } ! addChild(_transform); // Modify access capabilities *************** *** 289,291 **** --- 293,309 ---- private String _name = ""; + /** TBD. */ + public TransformGroup transform() { + return _transform; + } + + private TransformGroup _transform; + + /** TBD. */ + public Node node() { + return _node; + } + + private Node _node; + } Index: CallBack.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Java3DExtensions/Interactivity/CallBack.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CallBack.java 23 Nov 2005 16:16:49 -0000 1.3 --- CallBack.java 17 Mar 2008 13:29:45 -0000 1.4 *************** *** 17,21 **** import com.sun.j3d.utils.picking.behaviors.PickingCallback; ! /** <code>CallBack</codes> is a {@link PickingCallback} * which mediates the interactions between * the Java3D Objects from <code>org.freehep.j3d</code> and the framework. --- 17,21 ---- import com.sun.j3d.utils.picking.behaviors.PickingCallback; ! /** <code>CallBack</codes> is a {@link PickingCallback} * which mediates the interactions between * the Java3D Objects from <code>org.freehep.j3d</code> and the framework. *************** *** 31,34 **** --- 31,37 ---- * <pre> * $Log$ + * Revision 1.4 2008/03/17 13:29:45 hrivnac + * visual modifications can be performed from TreeView + * * Revision 1.3 2005/11/23 16:16:49 hrivnac * new Xerces *************** *** 87,90 **** --- 90,96 ---- for (int i = 0; i < tg.numChildren(); i++) { Node shape = tg.getChild(i); + if (shape instanceof Interacter) { + shape = ((Interacter)shape).node(); + } if (shape instanceof Shape3D && (shape.getClass().getPackage().toString().contains("org.freehep.j3d"))) { // Appearance |
From: Julius H. <hr...@us...> - 2008-03-17 13:30:24
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2379/net/hep/graphics/GraXML Modified Files: Notifier.java Log Message: visual modifications can be performed from TreeView Index: Notifier.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Notifier.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Notifier.java 6 Feb 2008 16:55:58 -0000 1.1 --- Notifier.java 17 Mar 2008 13:29:44 -0000 1.2 *************** *** 10,13 **** --- 10,16 ---- * <pre> * $Log$ + * Revision 1.2 2008/03/17 13:29:44 hrivnac + * visual modifications can be performed from TreeView + * * Revision 1.1 2008/02/06 16:55:58 hrivnac * Notifier added *************** *** 19,27 **** public class Notifier { ! /** Connect to monitorring Web page\. * @param message The message to be send. */ public static void notify(String message) { try { ! URL url = new URL("http://home.cern.ch/hrivnac/cgi-bin/record.pl?page=GraXML_" + message + "_" + GlobalOptions.version().replaceAll(" ", "_")); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); --- 22,30 ---- public class Notifier { ! /** Connect to monitorring Web page. * @param message The message to be send. */ public static void notify(String message) { try { ! URL url = new URL("http://cern.ch/hrivnac/cgi-bin/record.pl?page=GraXML_" + message + "_" + GlobalOptions.version().replaceAll(" ", "_")); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); |
From: Julius H. <hr...@us...> - 2008-03-17 13:30:24
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2379/net/hep/graphics/GraXML/Disconnecter Modified Files: ConnectionManager.java ViewerTreeMouseListener.java Log Message: visual modifications can be performed from TreeView Index: ViewerTreeMouseListener.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter/ViewerTreeMouseListener.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ViewerTreeMouseListener.java 11 Oct 2007 14:41:09 -0000 1.3 --- ViewerTreeMouseListener.java 17 Mar 2008 13:29:45 -0000 1.4 *************** *** 5,8 **** --- 5,9 ---- import net.hep.graphics.GraXML.GUI.RootWindow; import net.hep.graphics.GraXML.Java3DExtensions.Interactivity.Interacter; + import net.hep.graphics.GraXML.Java3DExtensions.Interactivity.CallBack; // Java *************** *** 15,20 **** // AWT ! import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.Cursor; --- 16,22 ---- // AWT ! import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; + import java.awt.event.ActionEvent; import java.awt.Cursor; *************** *** 24,31 **** --- 26,38 ---- import javax.swing.tree.TreePath; import javax.swing.JTree; + import javax.swing.AbstractAction; + import javax.swing.JPopupMenu; import javax.swing.tree.DefaultMutableTreeNode; // Java3D + import javax.media.j3d.Group; import javax.media.j3d.BranchGroup; + import javax.media.j3d.TransformGroup; + import com.sun.j3d.utils.picking.behaviors.PickingCallback; /** <code>ViewerTreeMouseListener</code> handles the "click" on *************** *** 34,37 **** --- 41,47 ---- * <pre> * $Log$ + * Revision 1.4 2008/03/17 13:29:45 hrivnac + * visual modifications can be performed from TreeView + * * Revision 1.3 2007/10/11 14:41:09 hrivnac * connection to Atlantis improved *************** *** 68,72 **** * @version $Id$ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ ! public final class ViewerTreeMouseListener implements MouseListener { // Constructor --------------------------------------------------------------- --- 78,82 ---- * @version $Id$ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ ! public final class ViewerTreeMouseListener extends MouseAdapter { // Constructor --------------------------------------------------------------- *************** *** 78,82 **** --- 88,186 ---- JTree tree) { _tree = tree; + _window = window; _manager = new ConnectionManager(window, tree); + // Popup Menu + _popup = new JPopupMenu(); + _popup.add(new AbstractAction("Picking") { + public void actionPerformed(ActionEvent e) { + modify(PICKING, 0); + } + }); + _popup.addSeparator(); + _popup.add(new AbstractAction("Transparent") { + public void actionPerformed(ActionEvent e) { + modify(TRANSPARENCY, PickingCallback.ROTATE); + } + }); + _popup.add(new AbstractAction("Half") { + public void actionPerformed(ActionEvent e) { + modify(TRANSPARENCY, PickingCallback.ZOOM); + } + }); + _popup.add(new AbstractAction("Solid") { + public void actionPerformed(ActionEvent e) { + modify(TRANSPARENCY, PickingCallback.TRANSLATE); + } + }); + _popup.addSeparator(); + _popup.add(new AbstractAction("Wireframe") { + public void actionPerformed(ActionEvent e) { + modify(POLYGON, PickingCallback.ROTATE); + } + }); + _popup.add(new AbstractAction("Points") { + public void actionPerformed(ActionEvent e) { + modify(POLYGON, PickingCallback.ZOOM); + } + }); + _popup.add(new AbstractAction("Solid") { + public void actionPerformed(ActionEvent e) { + modify(POLYGON, PickingCallback.TRANSLATE); + } + }); + _tree.add(_popup); + _tree.addMouseListener(new PopupMouseListener()); + } + + /** Modify selected object. + * @param what Which kind of operation to performed: + * <ol> + * <li>{@link #PICKING} - just pick the object + * to be available for further + * operations</li> + * <li>{@link #TRANSPARENCY} - modify the object' + * transparency</li> + * <li>{@link #POLYGON} - modify the object' polygon + * status</li> + * </ol> + * @param how Which operation should be performed, enumerated via + * {@link PickingCallBack}. */ + private void modify(short what, + int how) { + String name; + DetachableConnection connection; + Group group; + TransformGroup tg; + boolean global; + boolean transform; + boolean transparency; + boolean polygon; + boolean goTo; + for (TreePath path : _tree.getSelectionPaths()) { + name = path.getLastPathComponent().toString(); + connection = _window.j3d().conDB().getConnection(name); + group = connection.group(); + if (group instanceof TransformGroup) { + tg = (TransformGroup)group; + Object[] uo = {_window, name}; + tg.setUserData(uo); + global = _window.global(); + transform = _window.transform(); + transparency = _window.transparency(); + polygon = _window.polygon(); + goTo = _window.goTo(); + _window.setGlobal( false); + _window.setTransform( false); + _window.setTransparency(what == TRANSPARENCY); + _window.setPolygon( what == POLYGON); + _window.setGoTo( false); + _callBack.transformChanged(how, tg); + _window.setGlobal( global); + _window.setTransform( transform); + _window.setTransparency(transparency); + _window.setPolygon( polygon); + _window.setGoTo( goTo); + } + } } *************** *** 84,93 **** /** Act on the mouse click according the leaf status and options. ! * If middle button is clicked, act only to the depth limited ! * by {@link ConnectionsDB#_levelLimit}. * @param e The {@link MouseEvent}.*/ public final void mouseClicked(MouseEvent e) { ! _manager.act(_tree.getPathForLocation(e.getX(), e.getY()), ! e.getButton() == 2); } --- 188,207 ---- /** Act on the mouse click according the leaf status and options. ! * <ol> ! * <li><b>left button</b> - show/hide</li> ! * <li><b>middle button</b> - show/hideto the depth limited ! * by {@link ConnectionsDB#_levelLimit}</li> ! * <li><b>right button</b> - act on object ! * (via {@link JPopupMenu})</li> ! * </ol> * @param e The {@link MouseEvent}.*/ public final void mouseClicked(MouseEvent e) { ! if (e.getButton() == 3) { ! _popup.show(_tree, e.getX(), e.getY()); ! } ! else { ! _manager.act(_tree.getPathForLocation(e.getX(), e.getY()), ! e.getButton() == 2); ! } } *************** *** 106,110 **** // Data ---------------------------------------------------------------------- ! // TBD public ConnectionManager connectionManager() { return _manager; --- 220,225 ---- // Data ---------------------------------------------------------------------- ! /** Give associated {@link ConnectionManager}. ! * @return connectionManager The associated {@link ConnectionManager}. */ public ConnectionManager connectionManager() { return _manager; *************** *** 115,118 **** --- 230,245 ---- private JTree _tree; + private JPopupMenu _popup; + + private RootWindow _window; + + private CallBack _callBack = new CallBack(); + + private static short PICKING = 0; + + private static short TRANSPARENCY = 1; + + private static short POLYGON = 2; + /** Logging . */ private static Logger log = Logger.getLogger(ViewerTreeMouseListener.class); Index: ConnectionManager.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/Disconnecter/ConnectionManager.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ConnectionManager.java 11 Oct 2007 14:41:09 -0000 1.1 --- ConnectionManager.java 17 Mar 2008 13:29:45 -0000 1.2 *************** *** 34,37 **** --- 34,40 ---- * <pre> * $Log$ + * Revision 1.2 2008/03/17 13:29:45 hrivnac + * visual modifications can be performed from TreeView + * * Revision 1.1 2007/10/11 14:41:09 hrivnac * connection to Atlantis improved *************** *** 57,64 **** /** Act on the mouse click according the leaf status and options. ! * If middle button is clicked, act only to the depth limited * by {@link ConnectionsDB#_levelLimit}. ! * @param path TBD ! * @param limit TBD*/ public final void act(TreePath path, boolean limit) { --- 60,68 ---- /** Act on the mouse click according the leaf status and options. ! * If middle button (<code>limit = true</code>) is clicked, ! * act only to the depth limited * by {@link ConnectionsDB#_levelLimit}. ! * @param path The {@link TreePath} of the selected element. ! * @param limit The level depth of operation. */ public final void act(TreePath path, boolean limit) { |
From: Julius H. <hr...@us...> - 2008-03-17 13:30:23
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2379/net/hep/graphics/GraXML/doc-files Modified Files: Guide.html Log Message: visual modifications can be performed from TreeView Index: Guide.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files/Guide.html,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** Guide.html 30 Jan 2008 23:23:25 -0000 1.28 --- Guide.html 17 Mar 2008 13:29:46 -0000 1.29 *************** *** 966,969 **** --- 966,970 ---- <li>Performance monitoring (fps, mb) included.</li> <li>Envelope improved.</li> + <li>Visual modigications can be performed from TreeView.</li> </ul> <li>Bug fixes:</li> |
From: Julius H. <hr...@us...> - 2008-02-06 16:56:03
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19827 Added Files: Notifier.java Log Message: Notifier added --- NEW FILE: Notifier.java --- package net.hep.graphics.GraXML; // Net import java.net.URL; import java.net.HttpURLConnection; /** <code>Notifier</code> connects to Web page * to reqister call. * <p><font color="#880088"> * <pre> * $Log: Notifier.java,v $ * Revision 1.1 2008/02/06 16:55:58 hrivnac * Notifier added * * </pre> * </font></p> * @version $Id: Notifier.java,v 1.1 2008/02/06 16:55:58 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Notifier { /** Connect to monitorring Web page\. * @param message The message to be send. */ public static void notify(String message) { try { URL url = new URL("http://home.cern.ch/hrivnac/cgi-bin/record.pl?page=GraXML_" + message + "_" + GlobalOptions.version().replaceAll(" ", "_")); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); conn.getInputStream(); } catch (Exception e) {} } } |
From: Julius H. <hr...@us...> - 2008-02-06 16:55:59
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/FrontEnd In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19827/FrontEnd Modified Files: GraXML.java GraXMLConverter.java GraXMLThread.java Log Message: Notifier added Index: GraXML.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/FrontEnd/GraXML.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** GraXML.java 16 Oct 2007 10:11:51 -0000 1.4 --- GraXML.java 6 Feb 2008 16:55:59 -0000 1.5 *************** *** 7,10 **** --- 7,11 ---- import net.hep.graphics.GraXML.GlobalOptions; import net.hep.graphics.GraXML.MasterBuilder; + import net.hep.graphics.GraXML.Notifier; import net.hep.graphics.GraXML.GUI.RootWindow; *************** *** 17,20 **** --- 18,24 ---- * <pre> * $Log$ + * Revision 1.5 2008/02/06 16:55:59 hrivnac + * Notifier added + * * Revision 1.4 2007/10/16 10:11:51 hrivnac * SplashWindow added; usable with java 1.5 *************** *** 84,87 **** --- 88,92 ---- log.info("Starting GraXML " + GlobalOptions.report() + " ..."); new SplashWindow(); + Notifier.notify("GraXML()"); init(); (new RootWindow(MasterBuilder.j3d())).open(); *************** *** 94,97 **** --- 99,104 ---- public GraXML(String script) { log.info("Starting GraXML " + GlobalOptions.report() + " ..."); + new SplashWindow(); + Notifier.notify("GraXML(script)"); init(); (new RootWindow(MasterBuilder.j3d())).open(script); Index: GraXMLConverter.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/FrontEnd/GraXMLConverter.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GraXMLConverter.java 30 Mar 2005 20:35:47 -0000 1.2 --- GraXMLConverter.java 6 Feb 2008 16:55:59 -0000 1.3 *************** *** 7,10 **** --- 7,11 ---- import net.hep.graphics.GraXML.SceneGroup; import net.hep.graphics.GraXML.GraXMLException; + import net.hep.graphics.GraXML.Notifier; import net.hep.graphics.GraXML.GUI.RootWindow; import net.hep.graphics.GraXML.Java3DExtensions.J3DSaver; *************** *** 31,34 **** --- 32,38 ---- * <pre> * $Log$ + * Revision 1.3 2008/02/06 16:55:59 hrivnac + * Notifier added + * * Revision 1.2 2005/03/30 20:35:47 hrivnac * custom exporters enabled *************** *** 103,106 **** --- 107,111 ---- public GraXMLConverter(String script) { log.info("Starting GraXMLConverter " + GlobalOptions.report() + " ..."); + Notifier.notify("GraXMLConverter(script)"); MasterBuilder.setBuilders(); RootWindow w = new RootWindow(MasterBuilder.j3d()); Index: GraXMLThread.java =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/FrontEnd/GraXMLThread.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** GraXMLThread.java 22 Dec 2007 15:26:15 -0000 1.8 --- GraXMLThread.java 6 Feb 2008 16:55:59 -0000 1.9 *************** *** 10,13 **** --- 10,14 ---- import net.hep.graphics.GraXML.MasterBuilder; import net.hep.graphics.GraXML.SceneGroup; + import net.hep.graphics.GraXML.Notifier; import net.hep.graphics.GraXML.GUI.RootWindow; *************** *** 20,23 **** --- 21,27 ---- * <pre> * $Log$ + * Revision 1.9 2008/02/06 16:55:59 hrivnac + * Notifier added + * * Revision 1.8 2007/12/22 15:26:15 hrivnac * Google Analytics added *************** *** 55,58 **** --- 59,63 ---- super("GraXML"); log.info("Starting GraXMLThread " + GlobalOptions.report() + " ..."); + Notifier.notify("GraXMLThread()"); new SplashWindow(); init(); |
From: Julius H. <hr...@us...> - 2008-02-05 15:30:46
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv28166 Modified Files: GraXMLBridge.jnlp Log Message: jnlp update Index: GraXMLBridge.jnlp =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXMLBridge/src/GraXMLBridge.jnlp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** GraXMLBridge.jnlp 29 Jan 2008 17:17:10 -0000 1.3 --- GraXMLBridge.jnlp 5 Feb 2008 15:30:47 -0000 1.4 *************** *** 17,23 **** <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="536870912" version="1.5+"/> <jar href="jars/GraXMLBridge.jar" download="eager"/> ! <extension href="http://cern.ch/hrivnac/Activities/Packages/WebStart/GraXML/GraXMLComponent.jnlp"/> </resources> <component-desc/> --- 17,23 ---- <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="512m" version="1.5+"/> <jar href="jars/GraXMLBridge.jar" download="eager"/> ! <extension name="GraXML Component" href="http://cern.ch/hrivnac/Activities/Packages/WebStart/GraXML/GraXMLComponent.jnlp"/> </resources> <component-desc/> |
From: Julius H. <hr...@us...> - 2008-02-05 15:29:37
|
Update of /cvsroot/graxml/Graphics/GraXML/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv27716 Modified Files: GraXML.jnlp GraXMLComponent.jnlp Log Message: jnlp update Index: GraXML.jnlp =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/GraXML.jnlp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** GraXML.jnlp 24 Jan 2008 23:08:24 -0000 1.13 --- GraXML.jnlp 5 Feb 2008 15:29:36 -0000 1.14 *************** *** 17,21 **** <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="536870912" version="1.5+"/> <jar href="jars/AGDD.jar" download="eager"/> <jar href="jars/bool.jar" download="eager"/> --- 17,21 ---- <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="512m" version="1.5+"/> <jar href="jars/AGDD.jar" download="eager"/> <jar href="jars/bool.jar" download="eager"/> *************** *** 37,41 **** <resources> <j2se version="1.5"/> ! <extension href="http://cern.ch/hrivnac/Activities/Packages/WebStart/JAXB/jaxb.jnlp"/> </resources> <application-desc main-class="net.hep.graphics.GraXML.FrontEnd.GraXML"/> --- 37,41 ---- <resources> <j2se version="1.5"/> ! <extension name="JAXB" href="http://cern.ch/hrivnac/Activities/Packages/WebStart/JAXB/jaxb.jnlp"/> </resources> <application-desc main-class="net.hep.graphics.GraXML.FrontEnd.GraXML"/> Index: GraXMLComponent.jnlp =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/GraXMLComponent.jnlp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GraXMLComponent.jnlp 24 Jan 2008 23:08:24 -0000 1.2 --- GraXMLComponent.jnlp 5 Feb 2008 15:29:36 -0000 1.3 *************** *** 17,21 **** <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="536870912" version="1.5+"/> <jar href="jars/AGDD.jar" download="eager"/> <jar href="jars/bool.jar" download="eager"/> --- 17,21 ---- <update check="timeout" policy="always"/> <resources> ! <j2se max-heap-size="512m" version="1.5+"/> <jar href="jars/AGDD.jar" download="eager"/> <jar href="jars/bool.jar" download="eager"/> *************** *** 37,41 **** <resources> <j2se version="1.5"/> ! <extension href="http://cern.ch/hrivnac/Activities/Packages/WebStart/JAXB/jaxb.jnlp"/> </resources> <component-desc/> --- 37,41 ---- <resources> <j2se version="1.5"/> ! <extension name="JAXB" href="http://cern.ch/hrivnac/Activities/Packages/WebStart/JAXB/jaxb.jnlp"/> </resources> <component-desc/> |
From: Julius H. <hr...@us...> - 2008-01-30 23:23:27
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv2134/net/hep/graphics/GraXML/doc-files Modified Files: Guide.html Log Message: doc improved Index: Guide.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files/Guide.html,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** Guide.html 23 Jan 2008 14:27:00 -0000 1.27 --- Guide.html 30 Jan 2008 23:23:25 -0000 1.28 *************** *** 37,40 **** --- 37,41 ---- </ul> <li><a href="#Related%20Presentations">Related Presentations</a></li> + <li><a href="#InLinks">InLinks</a></li> <li><a href="../../../../../../Gallery">Gallery</a></li> <li><a href="#Requested%20Features,%20Found%20Bugs,%20Release%20Notes">Requested Features, Found Bugs, Release Notes</a></li> *************** *** 160,163 **** --- 161,166 ---- javaws GraXML.jnlp </font></tt></pre> + WebStart for Atlantis coupled with GraXML is available too: + <a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp"><img src="http://javadesktop.org/javanet_images/webstart.small.gif" border="0" alt="Launch Web Start"></a>. </p> *************** *** 639,642 **** --- 642,656 ---- </ul> + <hr> + <h2><a name="InLinks"></a>InLinks</h2> + <ul> + <li><a href="http://www.openden.com/modules/weblinks/singlelink.php?lid=1847">OpenDEN</a></li> + <li><a href="http://www.files-library.com/files/GraXML.html">Files Library</a></li> + <li><a href="http://soft.java-virtual-machine.net/java/graxml.html">Java Virtual Machine</a></li> + <li><a href="http://softwareindex.cn/sf-GraXML-2-78-135207.html">Software Index</a></li> + <li><a href="http://www.iterating.com/products/Graxml">Iterating</a></li> + <li><a href="http://programs4all.net/programs/GraXML.htm">Programs for all</a></li> + </ul> + <hr> <h2><a name="Requested Features, Found Bugs, Release Notes"></a>Requested Features, Found Bugs, Release Notes</h2> |
From: Julius H. <hr...@us...> - 2008-01-30 23:22:42
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/src/atlantis/graxml3d/doc-files In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv1728 Added Files: Atlantis3DPrint.html printer.gif Log Message: javascript fixed --- NEW FILE: printer.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Atlantis3DPrint.html --- <html> <head> <title>GraXML Provides 3D View to Atlantis</title> </head> <body> <script type="text/javascript" src="wz_dragdrop.js"></script> <script type="text/javascript" src="wz_tooltip.js"></script> <span id="imgHelp"></span> <span id="printPdf"></span> <table><tr> <td width="30%"><img src="atlantisgraxml.gif" width="400" name="atlantisgraxml" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> <td width="70%" align="center"> <h1 align="center"><font color="#ff000000">Atlantis3D</font><br>GraXML Provides 3D View to Atlantis</h1> <p>Following many requests for a realistic 3D view in Atlantis, Atlantis-GraXML bridge has been created allowing Atlantis objects to be visualised in GraXML.</p> </td> </tr></table> <hr> <h2 align="center">How to Use</h2> <h3 align="center">Web Starting</h3> <table><tr> <td width="50%"> <p>Atlantis with GraXML is available via Java WebStart. The only precondition for using it is Java 1.5 or 1.6. If Java is correctly installed, clicking on following link will install and start Atlantis+GraXML on local machine: <a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp">Atlantis3D Web Start</a>. Web browser should accept <code>.jnlp</code> extension and associate it with <code>javaws</code> command. If Web-based installation doesn't work (which means that Java is not correctly enabled with Web browser), Atlantis3D can be installed and started using following command: <code>javaws http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp</a>.</p> <p>Java Web Start will verify the local installation on every call. It will download new version of Atlantis3D when it is available. Status of Java Web Start applications can be verified by the Web Start manager which could be started using <code>javaws</code> (for Java 1.5) or <code>javaws -viewer</code> (for Java 1.6) command. On Linux, all Web Start applications are installed under <code>~/.java</code> directory.</p> <p>Atlantis3D works under all common distributions of Linux, MacOSX and MS.</p> </td> <td width="50%"><img src="WebStart.gif" width="400" name="WebStart" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> </tr></table> <h3 align="center">Calling GraXML from Atlantis</h3> <table><tr> <td width="50%"> <p>When GraXML is available, Atlantis RubberBand offers <em>Show in 3D window (InDet and Object data only)</em> item. When chosen, this selection will start GraXML window (unless it already runs) and send it all selected elements. They will be displayed in GraXML 3D canvas. All elements in GraXML will keep the same color as in Atlantis. All standard GraXML operations will be available (see <a href="http://cern.ch/hrivnac/Activities/Packages/GraXML/JavaDoc/net/hep/graphics/GraXML/doc-files/Guide.html#Help">GraXML Guide</a> for details).</p> <p>Any subsequent selection in Atlantis will send new elements to GraXML (and remove the old ones). <small>(Possibility to keep old elements can be allowed if requested.)</small></p> <p><small>GraXML window can be closed, which should not close main Atlantis window. However, some windowing systems with integrated OpenGL driver can close Atlantis window as well. Furthermore, any subsequent GraXML invocation within the same Atlantis session will not be functional. This seems to be a problem in re-starting OpenGL.</small>.</p> <p>Following Atlantis objects are correctly available in GraXML: <ul> <li>S3D</li> <li>SiCluster</li> <li>STr <small>(simplified)</small></li> <li>InDetTrack <small>(only some descriptions)</small></li> <li>Jet</li> <li>BJet</li> <li>TauJet</li> <li>Electron</li> <li>Muon</li> <li>Photon</li> <li>ETmis</li> </ul></p> </td> <td width="50%"><img src="StartGraXMLMenu.gif" width="300" name="StartGraXMLMenu" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> </tr></table> <h2 align="center">GraXML Architecture</h2> <table> <tr> <td width="50%"> <p> GraXML 3D graphical browser is based on GraXML Framework. It uses <a href="https://java3d.dev.java.net/">Java3D</a> to visualise spacial objects, Java3D uses OpenGL for drawing.</p> <p>GraXML gets data in the form of <em>Generic Model</em>. It is <a href="https://jaxb.dev.java.net">JAXB</a> tree, classes of which are automaticaly generated from the XML Schema describing relevant data. That JAXB tree can be either assembled at run-time (as in case of Atlantis3D package) or parsed from an XML file (conform to the XML Schema used to create the model). JAXB is part of Java distribution since Java 1.6. Currently, GraXML supports four <em>Generic Model</em>s: <a href="http://cern.ch/hrivnac/Activities/Packages/AGDD">AGDD</a>, <a href="http://cern.ch/hrivnac/Activities/Packages/GDML">GDML</a>, <a href="http://cern.ch/hrivnac/Activities/Packages/JiveEvent">JiveEvent</a> and <a href="http://cern.ch/hrivnac/Activities/Packages/JiveGeometry">JiveGeometry</a>.</p> <p>JAXB <em>Generic Model</em> is then converted to Java3D tree, called <em>Geometric Model</em>. This conversion is performed taking into account several parameters, the most important of which are <em>optimisation</em>, <em>quality</em> and <em>interactivity</em> levels. Java3D <em>Geometric Model</em> can then be directly visualised or further processed (dumped to VRML/X3D, converted to TGeo,...).</p> <p>More information about GraXML Architecture and usage instructions are available from its <a href="http://cern.ch/hrivnac/Activities/Packages/GraXML/JavaDoc/net/hep/graphics/GraXML/doc-files/Guide.html">Guide</a>.</p> </td> <td width="50%"><img src="http://cern.ch/hrivnac/Activities/Packages/GraXML/JavaDoc/net/hep/graphics/GraXML/doc-files/Packages.jpg" width="400" name="Packages" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> </tr> </table> <h2 align="center">GraXMLBridge Architecture</h2> <table> <tr> <td width="50%"> <p>There are three packages collaborating in the process: <ul> <li><code>atlantis.ASelection</code> creates (if necessary) <code>GraXMLBridge</code> and announces it new data. All this communication is performed by reflection so that there is no direct (compile-time) Atlantis dependence on GraXML.</li> <li><code>GraXMLBridge</code> requests new data from <code>atlantis.ASelection</code> and converts them into <em>Generic Model</em> JAXB tree.</li> <li><code>GraXMLBridge</code> then creates <code>GraXML</code> (if it doesn't exist yet), sets its scene parameters (colors,...) and sends it a JAXB tree to be shown.</li> </ul> </p> </td> <td width="50%"><img src="collaboration.jpg" width="400" name="collaboration" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> </tr> <tr> <td width="50%"> <p>All packages are distributed using Java WebStart <code>*.jnlp</code> files. <em>Atlantis</em>, <em>Atlantis3D</em> and <em>GraXML</em> are directly callable, others just serve libraries.</p> </td> <td width="50%"><img src="deploy.jpg" width="400" name="deploy" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> </tr> </table> <h2 align="center">Future</h2> <p>The most important effort in near-future should go to the support of all Atlantis data, event-like as well as geometry. So far, only a subset of Inner detector and kinematic objects are supported. There is a limited support for geometry, but this is today far from correct. The biggest problem here is to get the real 3D object' representation from Atlantis. Atlantis can easily give 2D representations in several projections, which is often not sufficient for complete 3D representation. That is in particular true for description of geometry.</p> <p>To convert Atlantis 2D projection to full 3D information, help from 2D representation authors is urgently needed. 3D geometry description can be, in principle, obtained by dumping Atlas offline geometry (from Athena or Genat4) into AGDD or GDML (such possibility exists thanks to <a href="http://ivana.home.cern.ch/ivana/VGM.html">Virtual Geometric Model</a>). (Simplified) AGDD or GDML description can be then easily read into GraXML.</p> <p>Some Atlantis3D extensions can be quickly implemented if needed: <ul> <li><b>Direct connection from GraXML to Atlantis server:</b> GraXML can directly read Atlantis files. It would be very simple to give it a possibility to connect directly (i.e. without mediating Atlantis) to the Atlantis XML-RPC server.</li> <li><b>VRML/X3D/TGeo dump:</b> GraXML can dump its 3D content into VRML or X3D files. Those files can then be visualised using standard VRML browsers. It would be easy to add VRML/X3D export possibility to Atlantis3D. Dumping to TGeo is currently only supported for AGDD Generic Model, its extension to Atlantis data would be a bit more complex.</li> <li><b>Callback:</b> GraXML receives data selected in Atlantis. As GraXML has a picking capability, it could send information about its selected objects back to Atlantis.</li> <li><b>Ray Tracing:</b> There is a possibility to export GraXML view into <em>PovRay</em> ray-tracing file format and process that file to produce photo-realistic pictures. That possbility can be added to Atlantis3D.</li> <li><b>XML Schema</b>: To enable creation of JAXB model, Atlantis XML DTDs has been converted into XML Schemas. That conversion has been so-far only done on a pragmatic way, i.e. only elements used in GraXML have been fully ported (with correct variable types,...). Full DTD can be converted (and maybe used within Atlantis itself).</li> </ul> </p> <hr> <h2 align="center">Links</h2> <p> <ul> <li><a href="http://cern.ch/hrivnac/Activities/Packages/GraXML">GraXML</a> Home</li> <ul> <li><a href="http://cern.ch/hrivnac/Activities/Packages/GraXML/JavaDoc/net/hep/graphics/GraXML/doc-files/Guide.html">Guide</a></li> <li><a href="https://sourceforge.net/projects/graxml">Sourceforge</a></li> <li><a href="http://hrivnac.web.cern.ch/hrivnac/Activities/2004/September/GraXML">CHEP'04 talk</a></li> </ul> <li><a href="http://cern.ch/atlantis">Atlantis</a></li> <li><a href="http://cern.ch/hrivnac/Activities/Packages/GraXMLBridge">GraXMLBridge</a></li> <li>Web Start: <ul> <li><a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart/atlantis3.jnlp">Atlantis</a></li> <li><a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp">Atlantis3D</a> (Atlantis with GraXML)</li> <li><a href="http://cern.ch/hrivnac/Activities/Packages/WebStart/GraXML/GraXML.jnlp">GraXML</a></li> </ul> </li> </ul> </p> <hr> <img width="0" height="0" src="http://cern.ch/hrivnac/cgi-bin/record.pl?page=Atlantis3D"> <address> <a href="http://cern.ch/hrivnac">J.Hrivnac</a> (GraXML part) + <a href="">Z.Maxa</a> (Atlantis part), Jan'08 </address> <script type="text/javascript"> <!-- sSET_DHTML("atlantisgraxml"+SCALABLE+TRANSPARENT, "WebStart"+SCALABLE+TRANSPARENT, "StartGraXMLMenu"+SCALABLE+TRANSPARENT, "Packages"+SCALABLE+TRANSPARENT, "collaboration"+SCALABLE+TRANSPARENT, "deploy"+SCALABLE+TRANSPARENT); //--> </script> <script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics1.js"/><script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics2.js"/> </body> </html> |
From: Julius H. <hr...@us...> - 2008-01-30 23:21:45
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/src/atlantis/graxml3d/doc-files In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv1315 Modified Files: Atlantis3D.html Log Message: javascript fixed Index: Atlantis3D.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXMLBridge/src/atlantis/graxml3d/doc-files/Atlantis3D.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Atlantis3D.html 30 Jan 2008 00:54:21 -0000 1.1 --- Atlantis3D.html 30 Jan 2008 23:21:43 -0000 1.2 *************** *** 10,24 **** <span id="imgHelp"><p>You can drag this image with Mouse</p> <p>You can resize this image with Shift+Mouse</p></span> ! <span id="printPdf"><p>This page can't be printed directly,</p> ! use its PDF version instead !</p></span> <table><tr> <td width="30%"><img src="atlantisgraxml.gif" width="400" name="atlantisgraxml" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> <td width="70%" align="center"> ! <h1 align="center">GraXML Provides 3D View to Atlantis</h1> <p>Following many requests for a realistic 3D view in Atlantis, Atlantis-GraXML bridge has been created allowing Atlantis ! objects te be visualised in GraXML.</p> ! <p><a href="Atlantis3D.pdf" onmouseover="TagToTip('printPdf')">PDF version of this page.</a></td> </tr></table> <hr> --- 10,24 ---- <span id="imgHelp"><p>You can drag this image with Mouse</p> <p>You can resize this image with Shift+Mouse</p></span> ! <span id="printPdf"><p>Printer-friendly page is here</p></span> <table><tr> <td width="30%"><img src="atlantisgraxml.gif" width="400" name="atlantisgraxml" onmouseover="TagToTip('imgHelp', BGCOLOR, '#FFFFFF', FONTCOLOR, '#000000', BORDERCOLOR, '#FF0000', BORDERWIDTH, 3)"></td> <td width="70%" align="center"> ! <h1 align="center"><font color="#ff000000">Atlantis3D</font><br>GraXML Provides 3D View to Atlantis</h1> <p>Following many requests for a realistic 3D view in Atlantis, Atlantis-GraXML bridge has been created allowing Atlantis ! objects to be visualised in GraXML.</p> ! <p><a href="Atlantis3DPrint.html" onmouseover="TagToTip('printPdf')"><img src="printer.gif" border="0"></a></p> ! </td> </tr></table> <hr> *************** *** 31,39 **** <td width="50%"> <p>Atlantis with GraXML is available via Java WebStart. The only precondition ! for using it is Java 1.5 or 1.6 available on local machine. If Java is correctly installed, clicking on following link will install and start Atlantis+GraXML on local machine: <a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp">Atlantis3D Web Start</a>. ! Web browser should accaept <code>.jnlp</code> extension and associate it with <code>javaws</code> command. If Web-based installation doesn't work (which means that Java is not correctly enabled with Web browser), Atlantis3D can be installed and started using --- 31,39 ---- <td width="50%"> <p>Atlantis with GraXML is available via Java WebStart. The only precondition ! for using it is Java 1.5 or 1.6. If Java is correctly installed, clicking on following link will install and start Atlantis+GraXML on local machine: <a href="http://www.hep.ucl.ac.uk/atlas/atlantis/webstart3d/atlantis3d.jnlp">Atlantis3D Web Start</a>. ! Web browser should accept <code>.jnlp</code> extension and associate it with <code>javaws</code> command. If Web-based installation doesn't work (which means that Java is not correctly enabled with Web browser), Atlantis3D can be installed and started using *************** *** 63,70 **** <p>Any subsequent selection in Atlantis will send new elements to GraXML (and remove the old ones). <small>(Possibility to keep old elements can be allowed if requested.)</small></p> ! <p>GraXML window can be closed, which should not close main Atlantis window. However, some ! windowing systems with integrated OpenGL driver (used by GraXML) can close Atlantis window as well. Furthermore, any subsequent GraXML invocation within the same Atlantis session ! will not be functional <small>(this seems to be a problem in re-starting OpenGL)</small>.</p> <p>Following Atlantis objects are correctly available in GraXML: <ul> --- 63,70 ---- <p>Any subsequent selection in Atlantis will send new elements to GraXML (and remove the old ones). <small>(Possibility to keep old elements can be allowed if requested.)</small></p> ! <p><small>GraXML window can be closed, which should not close main Atlantis window. However, some ! windowing systems with integrated OpenGL driver can close Atlantis window as well. Furthermore, any subsequent GraXML invocation within the same Atlantis session ! will not be functional. This seems to be a problem in re-starting OpenGL.</small>.</p> <p>Following Atlantis objects are correctly available in GraXML: <ul> *************** *** 94,102 **** spacial objects, Java3D uses OpenGL for drawing.</p> <p>GraXML gets data in the form of <em>Generic Model</em>. It is <a href="https://jaxb.dev.java.net">JAXB</a> tree, classes ! of which are automaticaly generated from the XML Schema descrybing relevant data. That JAXB ! tree can be either assembled at run-time (as in case of Atlantis-GraXML package) or parsed from an XML file (conform to the XML Schema used to create the model). JAXB is part of Java distribution ! since Java 1.6. Currently, GraXML supports four <em>Generic Model</em>s: AGDD, GDML, JiveEvent and ! JiveGeometry.</p> <p>JAXB <em>Generic Model</em> is then converted to Java3D tree, called <em>Geometric Model</em>. This conversion is performed taking into account several parameters, the most important of which are --- 94,105 ---- spacial objects, Java3D uses OpenGL for drawing.</p> <p>GraXML gets data in the form of <em>Generic Model</em>. It is <a href="https://jaxb.dev.java.net">JAXB</a> tree, classes ! of which are automaticaly generated from the XML Schema describing relevant data. That JAXB ! tree can be either assembled at run-time (as in case of Atlantis3D package) or parsed from an XML file (conform to the XML Schema used to create the model). JAXB is part of Java distribution ! since Java 1.6. Currently, GraXML supports four <em>Generic Model</em>s: ! <a href="http://cern.ch/hrivnac/Activities/Packages/AGDD">AGDD</a>, ! <a href="http://cern.ch/hrivnac/Activities/Packages/GDML">GDML</a>, ! <a href="http://cern.ch/hrivnac/Activities/Packages/JiveEvent">JiveEvent</a> and ! <a href="http://cern.ch/hrivnac/Activities/Packages/JiveGeometry">JiveGeometry</a>.</p> <p>JAXB <em>Generic Model</em> is then converted to Java3D tree, called <em>Geometric Model</em>. This conversion is performed taking into account several parameters, the most important of which are *************** *** 121,127 **** by reflection so that there is no direct (compile-time) Atlantis dependence on GraXML.</li> <li><code>GraXMLBridge</code> requests new data from <code>atlantis.ASelection</code> ! and converts them into <em>JAXB</em> tree (called <em>Generic Model</em> in GraXML).</li> <li><code>GraXMLBridge</code> then creates <code>GraXML</code> (if it doesn't exist yet), ! sets its parameters (colors,...) and sends it a <em>JAXB</em> tree to be shown.</li> </ul> </p> --- 124,130 ---- by reflection so that there is no direct (compile-time) Atlantis dependence on GraXML.</li> <li><code>GraXMLBridge</code> requests new data from <code>atlantis.ASelection</code> ! and converts them into <em>Generic Model</em> JAXB tree.</li> <li><code>GraXMLBridge</code> then creates <code>GraXML</code> (if it doesn't exist yet), ! sets its scene parameters (colors,...) and sends it a JAXB tree to be shown.</li> </ul> </p> *************** *** 145,149 **** objects are supported. There is a limited support for geometry, but this is today far from correct. The biggest problem here is to get the real 3D object' representation from Atlantis. ! Atlantis can easily give 2D in several projections, which is often not sufficient for complete 3D representation. That is in particular true for description of geometry.</p> --- 148,152 ---- objects are supported. There is a limited support for geometry, but this is today far from correct. The biggest problem here is to get the real 3D object' representation from Atlantis. ! Atlantis can easily give 2D representations in several projections, which is often not sufficient for complete 3D representation. That is in particular true for description of geometry.</p> *************** *** 152,156 **** obtained by dumping Atlas offline geometry (from Athena or Genat4) into AGDD or GDML (such possibility exists thanks to <a href="http://ivana.home.cern.ch/ivana/VGM.html">Virtual Geometric Model</a>). ! (Simplified) AGDD or GDML description can then be easily read into GraXML.</p> <p>Some Atlantis3D extensions can be quickly implemented if needed: <ul> --- 155,159 ---- obtained by dumping Atlas offline geometry (from Athena or Genat4) into AGDD or GDML (such possibility exists thanks to <a href="http://ivana.home.cern.ch/ivana/VGM.html">Virtual Geometric Model</a>). ! (Simplified) AGDD or GDML description can be then easily read into GraXML.</p> <p>Some Atlantis3D extensions can be quickly implemented if needed: <ul> *************** *** 203,208 **** </address> - <script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics1.js"/><script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics2.js"/> - <script type="text/javascript"> <!-- --- 206,209 ---- *************** *** 217,220 **** --- 218,223 ---- </script> + <script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics1.js"/><script type="text/javascript" src="http://cern.ch/hrivnac/google-analytics2.js"/> + </body> </html> |
From: Julius H. <hr...@us...> - 2008-01-30 00:54:49
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/ant In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv31165 Modified Files: build.xml Log Message: reorganising, documentation updating Index: build.xml =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXMLBridge/ant/build.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** build.xml 29 Jan 2008 17:17:09 -0000 1.2 --- build.xml 30 Jan 2008 00:54:46 -0000 1.3 *************** *** 219,223 **** <replace file="${doc}/index.html" token="@VERSION@" value="${version}"/> <replace file="${doc}/index.html" token="@BUILD@" value="${TSTAMP}"/> ! <javadoc packagenames="atlantis.interactions*" sourcepath="${src}" destdir="${doc}/JavaDoc" --- 219,223 ---- <replace file="${doc}/index.html" token="@VERSION@" value="${version}"/> <replace file="${doc}/index.html" token="@BUILD@" value="${TSTAMP}"/> ! <javadoc packagenames="atlantis.graxml3d*" sourcepath="${src}" destdir="${doc}/JavaDoc" *************** *** 228,237 **** additionalparam=" -linksource -breakiterator -keywords" source="1.5" ! Overview="${src}/atlantis/interactions/overview.html" windowtitle="${name}"> <doctitle><![CDATA[<u>]]>${name}<![CDATA[</u>]]></doctitle> <Header><![CDATA[<center>]]>${name} version: ${version}<![CDATA[</center>]]></Header> <Footer><![CDATA[<center>Written by: <a href='http://home.cern.ch/hrivnac'>J.Hrivnac</a></center>]]></Footer> ! <bottom><![CDATA[<a href='http://cern.ch/hrivnac/Activities/Packages/Atlantis3D'>Documentation</a>]]> built ${TODAY} on ${os.name} by ${user.name}</bottom> <link href="http://java.sun.com/j2se/1.6.0/docs/api"/> <link href="http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_3_API/j3dapi"/> --- 228,237 ---- additionalparam=" -linksource -breakiterator -keywords" source="1.5" ! Overview="${src}/atlantis/graxml3d/overview.html" windowtitle="${name}"> <doctitle><![CDATA[<u>]]>${name}<![CDATA[</u>]]></doctitle> <Header><![CDATA[<center>]]>${name} version: ${version}<![CDATA[</center>]]></Header> <Footer><![CDATA[<center>Written by: <a href='http://home.cern.ch/hrivnac'>J.Hrivnac</a></center>]]></Footer> ! <bottom><![CDATA[<a href='http://cern.ch/hrivnac/Activities/Packages/GraXMLBridge'>Documentation</a>]]> built ${TODAY} on ${os.name} by ${user.name}</bottom> <link href="http://java.sun.com/j2se/1.6.0/docs/api"/> <link href="http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_3_API/j3dapi"/> |
From: Julius H. <hr...@us...> - 2008-01-30 00:54:21
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/src/atlantis/graxml3d In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv30769/atlantis/graxml3d Added Files: GraXMLBridge.java overview.html package.html Log Message: reorganising, documentation updating --- NEW FILE: package.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>GraXML.</title> </head> <body> Atlantis bridge to GraXML. </body> </html> --- NEW FILE: overview.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>GraXML Bridge</title> </head> <body> Atlantis bridge to GraXML. <hr> <address> <a href="http://home.cern.ch/~hrivnac">J.Hrivnac</a>, Apr'04</address> </body> </html> --- NEW FILE: GraXMLBridge.java --- package atlantis.graxml3d; // GraXML import net.hep.graphics.GraXML.FrontEnd.GraXMLThread; import net.hep.graphics.GraXML.GUI.RootWindow; import net.hep.graphics.GraXML.SceneGroup; import net.hep.graphics.GraXML.GraXMLException; import net.hep.graphics.GraXML.BuildOptions; import net.hep.graphics.GraXML.Disconnecter.ViewerTreeFactory; import net.hep.graphics.GraXML.Java3DExtensions.Envelope; // JiveEvent import net.hep.atlas.graphics.JiveEvent.GeometricModel.JiveEventBuilder; import net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.*; import net.hep.atlas.graphics.JiveEvent.JAXB.*; // Atlantis import atlantis.Atlantis; import atlantis.event.AData; import atlantis.canvas.ACanvas; import atlantis.canvas.AWindow; import atlantis.event.ACalorimeterData; import atlantis.event.AEvent; import atlantis.event.AHelix; import atlantis.event.ADHelix; import atlantis.event.AS3DData; import atlantis.event.ASiClusterData; import atlantis.event.ASTrData; import atlantis.event.AInDetTrackData; import atlantis.event.AJetData; import atlantis.event.ABJetData; import atlantis.event.ATauJetData; import atlantis.event.AMuonData; import atlantis.event.AElectronData; import atlantis.event.APhotonData; import atlantis.event.AETMisData; import atlantis.gui.ADnDLabel; import atlantis.gui.ADragListener; import atlantis.gui.AColorMap; import atlantis.parameters.APar; import atlantis.parameters.AParameter; import atlantis.projection.AProjection; import atlantis.projection.AProjectionFR; import atlantis.projection.AProjectionFZ; import atlantis.projection.AProjectionRZ; import atlantis.projection.AProjectionVP; import atlantis.projection.AProjectionXZ; import atlantis.projection.AProjectionYX; import atlantis.projection.AProjectionYZ; import atlantis.utils.AMath; import atlantis.utils.AOutput; import atlantis.utils.A3Vector; import atlantis.utils.AHashMap; // AWT import java.awt.Point; import java.awt.Rectangle; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Point2D; // Swing import javax.swing.AbstractAction; import javax.swing.JPopupMenu; // Java import java.util.List; import java.util.Hashtable; import java.util.HashMap; import java.util.Enumeration; /** <code>GraXMLBridge</code> sends Atlantis Event data to GraXML. * <p><font color="#880088"> * $Id: GraXMLBridge.java,v 1.1 2008/01/30 00:54:21 hrivnac Exp $ * <pre> * $Log: GraXMLBridge.java,v $ * Revision 1.1 2008/01/30 00:54:21 hrivnac * reorganising, documentation updating * * Revision 1.1 2008/01/24 10:37:59 hrivnac * bridge to Atlantis introduced * * </pre> * </font></p> * @opt attributes * @opt operations * @opt types * @opt visibility * @version $Id: GraXMLBridge.java,v 1.1 2008/01/30 00:54:21 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class GraXMLBridge { /** Initialise. */ public GraXMLBridge() { Envelope.setLength(6); Envelope.setRadius(1); } /** Show data selected in Atlantis to GraXML. Do nothing * if Java3D is not available. */ public void show() { // Initialise Atlantis structures AEvent event = Atlantis.getEventManager().getCurrentEvent(); HashMap<String, int[]> dataFor3D = atlantis.interactions.ASelection.getDataFor3D(); // Set primary vertex // BUG: doesn't work while reading files JiveEventBuilder.setVertex(event.getPrimaryVertex()); // Create flat JAXB tree EventType topElement = new EventType(); _dataElements = topElement.getBJetOrCaloETMisOrCaloTB(); // Construct JAXB Generic Model from Atlantis structures ------------------- AData data; for (String key : dataFor3D.keySet()) { _drawList = dataFor3D.get(key); data = event.get(key); if (_drawList != null && data != null) { System.out.println(key + "[" + _drawList.length + "]"); if (data instanceof AS3DData ) convertS3D ((AS3DData )data); else if (data instanceof ASiClusterData ) convertSiCluster ((ASiClusterData )data); else if (data instanceof ASTrData ) convertSTr ((ASTrData )data); else if (data instanceof AInDetTrackData) convertInDetTrack((AInDetTrackData)data); else if (data instanceof AJetData ) convertJet ((AJetData )data); else if (data instanceof ABJetData ) convertBJet ((ABJetData )data); else if (data instanceof ATauJetData ) convertTauJet ((ATauJetData )data); else if (data instanceof AMuonData ) convertMuon ((AMuonData )data); else if (data instanceof AElectronData ) convertElectron ((AElectronData )data); else if (data instanceof APhotonData ) convertPhoton ((APhotonData )data); else if (data instanceof AETMisData ) convertETMis ((AETMisData )data); else System.out.println(key + " not yet supported in GraXML"); } } // Show on GraXML ---------------------------------------------------------- // If GraXML doesn't exist, create it if (_graxml == null || _graxml.root() == null) { _graxml = GraXMLThread.instance(); // Creation may fail if Java3D is not available if (_graxml == null) { System.err.println("GraXML creation has failed, Java3D may not be available"); return; } } // Create new SceneGroup and show it in GraXML try { _graxml.root().clean(); // If not cleaned => selections will accumulate inside GraXML _graxml.root().show(new SceneGroup(topElement, JIVE_EVENT_BUILDER)); ViewerTreeFactory.connectionManager().show("GraXML"); } catch (GraXMLException ex) { System.err.println(ex); } } /** Convert Atlantis structures to GraXML JAXB tree for <em>S3D</em>. * @param data Selected {AS3DData}. */ private void convertS3D(AS3DData data) { float[] xs = data.getX(); float[] ys = data.getY(); float[] zs = data.getZ(); String xString = ""; String yString = ""; String zString = ""; for (int j = 0; j < _drawList.length; j++) { xString += xs[_drawList[j]] + " "; yString += ys[_drawList[j]] + " "; zString += zs[_drawList[j]] + " "; } XType x = new XType(); YType y = new YType(); ZType z = new ZType(); x.setValue(xString); y.setValue(yString); z.setValue(zString); S3DType entry = new S3DType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setX(x); entry.setY(y); entry.setZ(z); _dataElements.add(entry); S3D.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>SiCluster/STC</em> * @param data Selected {ASiClusteData}.. */ private void convertSiCluster(ASiClusterData data) { float[][] xs = data.getX(); float[][] ys = data.getY(); float[][] zs = data.getZ(); String x0String = ""; String y0String = ""; String z0String = ""; String x1String = ""; String y1String = ""; String z1String = ""; for (int j = 0; j < _drawList.length; j++) { x0String += xs[0][_drawList[j]] + " "; y0String += ys[0][_drawList[j]] + " "; z0String += zs[0][_drawList[j]] + " "; x1String += xs[1][_drawList[j]] + " "; y1String += ys[1][_drawList[j]] + " "; z1String += zs[1][_drawList[j]] + " "; } X0Type x0 = new X0Type(); Y0Type y0 = new Y0Type(); Z0Type z0 = new Z0Type(); X1Type x1 = new X1Type(); Y1Type y1 = new Y1Type(); Z1Type z1 = new Z1Type(); x0.setValue(x0String); y0.setValue(y0String); z0.setValue(z0String); x1.setValue(x1String); y1.setValue(y1String); z1.setValue(z1String); STCType entry = new STCType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setX0(x0); entry.setY0(y0); entry.setZ0(z0); entry.setX1(x1); entry.setY1(y1); entry.setZ1(z1); _dataElements.add(entry); STC.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>STr</em>. * @param data Selected {ASTrData}. */ private void convertSTr(ASTrData data) { AHelix[] h = data.getHelixData(); String etaString = ""; String phiString = ""; String ptString = ""; String rhoVertexString = ""; String phiVertexString = ""; String zVertexString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += h[j].eta + " "; phiString += h[j].startPhi + " "; ptString += h[j].pT + " "; rhoVertexString += h[j].rhoVertex + " "; phiVertexString += h[j].phiVertex + " "; zVertexString += h[j].zVertex + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); RhoVertexType rhoVertex = new RhoVertexType(); PhiVertexType phiVertex = new PhiVertexType(); ZVertexType zVertex = new ZVertexType(); eta.setValue( etaString); phi.setValue( phiString); pt.setValue( ptString); rhoVertex.setValue(rhoVertexString); phiVertex.setValue(phiVertexString); zVertex.setValue( zVertexString); STrType entry = new STrType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt(pt); entry.setRhoVertex(rhoVertex); entry.setPhiVertex(phiVertex); entry.setZVertex(zVertex); _dataElements.add(entry); STr.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>InDetTrack/Track</em>. * @param data Selected {AInDetTrackData}. */ private void convertInDetTrack(AInDetTrackData data) { float[][] xs = data.getX(); float[][] ys = data.getY(); float[][] zs = data.getZ(); if (xs == null || ys == null || zs == null) return; String xString = ""; String yString = ""; String zString = ""; String nString = ""; for (int j = 0; j < _drawList.length; j++) { nString += xs[_drawList[j]].length + " "; for (int k = 0; k < xs[_drawList[j]].length; k++) { xString += xs[_drawList[j]][k] + " "; yString += ys[_drawList[j]][k] + " "; zString += zs[_drawList[j]][k] + " "; } } PolylineXType x = new PolylineXType(); PolylineYType y = new PolylineYType(); PolylineZType z = new PolylineZType(); NumPolylineType n = new NumPolylineType(); x.setValue(xString); y.setValue(yString); z.setValue(zString); n.setValue(nString); TrackType entry = new TrackType(); entry.setStoreGateKey(data.getStoreGateKey()); entry.setPolylineX(x); entry.setPolylineY(y); entry.setPolylineZ(z); entry.setNumPolyline(n); _dataElements.add(entry); Track.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>Jet</em>. * @param data Selected {AJetData}. */ private void convertJet(AJetData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] ets = data.getET(); String etaString = ""; String phiString = ""; String etString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; etString += ets [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); EtType et = new EtType(); eta.setValue(etaString); phi.setValue(phiString); et.setValue (etString); JetType entry = new JetType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setEt (et); _dataElements.add(entry); Jet.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>BJet</em>. * @param data Selected {ABJetData}. */ private void convertBJet(ABJetData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] pts = data.getPT(); String etaString = ""; String phiString = ""; String ptString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; ptString += pts [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); eta.setValue(etaString); phi.setValue(phiString); pt.setValue (ptString); BJetType entry = new BJetType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt (pt); _dataElements.add(entry); BJet.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>TauJet</em>. * @param data Selected {ATauJetData}. */ private void convertTauJet(ATauJetData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] pts = data.getPT(); String etaString = ""; String phiString = ""; String ptString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; ptString += pts [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); eta.setValue(etaString); phi.setValue(phiString); pt.setValue (ptString); TauJetType entry = new TauJetType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt (pt); _dataElements.add(entry); TauJet.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>Muon</em>. * @param data Selected {AMuonData}. */ private void convertMuon(AMuonData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] pts = data.getPT(); String etaString = ""; String phiString = ""; String ptString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; ptString += pts [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); eta.setValue(etaString); phi.setValue(phiString); pt.setValue (ptString); MuonType entry = new MuonType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt (pt); _dataElements.add(entry); Muon.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>Electron</em>. * @param data Selected {AElectronData}. */ private void convertElectron(AElectronData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] pts = data.getPT(); String etaString = ""; String phiString = ""; String ptString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; ptString += pts [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); eta.setValue(etaString); phi.setValue(phiString); pt.setValue (ptString); ElectronType entry = new ElectronType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt (pt); _dataElements.add(entry); Electron.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>Photon</em>. * @param data Selected {APhotonData}. */ private void convertPhoton(APhotonData data) { float[] etas = data.getEta(); float[] phis = data.getPhi(); float[] pts = data.getPT(); String etaString = ""; String phiString = ""; String ptString = ""; for (int j = 0; j < _drawList.length; j++) { etaString += etas[_drawList[j]] + " "; phiString += phis[_drawList[j]] + " "; ptString += pts [_drawList[j]] + " "; } EtaType eta = new EtaType(); PhiType phi = new PhiType(); PtType pt = new PtType(); eta.setValue(etaString); phi.setValue(phiString); pt.setValue (ptString); PhotonType entry = new PhotonType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEta(eta); entry.setPhi(phi); entry.setPt (pt); _dataElements.add(entry); Photon.setColors(_colorMap, data.getColor(_drawList)); } /** Convert Atlantis structures to GraXML JAXB tree for <em>ETMis</em>. * @param data Selected {AETMisData}. */ private void convertETMis(AETMisData data) { EtxType etx = new EtxType(); EtyType ety = new EtyType(); etx.setValue("" + data.getETx()); ety.setValue("" + data.getETy()); ETMisType entry = new ETMisType(); entry.setCount(_drawList.length); entry.setStoreGateKey(data.getStoreGateKey()); entry.setEtx(etx); entry.setEty(ety); _dataElements.add(entry); ETMis.setColors(_colorMap, data.getColor(_drawList)); } private int[] _drawList; private List<Object> _dataElements; private Color[] _colorMap = AColorMap.getColors(); private GraXMLThread _graxml; private static String JIVE_EVENT_BUILDER = "net.hep.atlas.graphics.JiveEvent.GeometricModel.JiveEventBuilder"; } |
From: Julius H. <hr...@us...> - 2008-01-30 00:54:21
|
Update of /cvsroot/graxml/Graphics/GraXMLBridge/src In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv30769 Modified Files: index.html Log Message: reorganising, documentation updating Index: index.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXMLBridge/src/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 29 Jan 2008 17:17:10 -0000 1.2 --- index.html 30 Jan 2008 00:54:21 -0000 1.3 *************** *** 10,13 **** --- 10,14 ---- <li>Web Start: <a href="http://cern.ch/hrivnac/Activities/Packages/WebStart/GraXML/GraXMLBridge.jnlp"><img src="http://javadesktop.org/javanet_images/webstart.small.gif" border="0" alt="Launch Web Start"></a></li> <li>The latest <a href="http://cern.ch/hrivnac/Activities/Packages/GraXMLBridge-dist.tar.gz">full distribution</a>.</li> + <li><a href="JavaDoc/atlantis/graxml3d/doc-files/Atlantis3D.html">Guide</a>.</li> </ul> <hr> |