graxml-commit Mailing List for GraXML (Page 25)
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
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src/net/hep/AGDD/Test/data Modified Files: AliPolys.agdd AliSolids.agdd BinaryOperators.agdd Copies.agdd Envelopes.agdd Including.agdd MultiplePositioners.agdd Polys.agdd Reflections.agdd Rotations.agdd Shifts.agdd Solids.agdd arrays.agdd foreach.agdd math.agdd positioners.agdd solids.agdd stacks.agdd vars.agdd Log Message: Materials added, version moved to v7 Index: AliPolys.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/AliPolys.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AliPolys.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- AliPolys.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "AliPolys" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "AliPolys" version = "$Id$" Index: arrays.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/arrays.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** arrays.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- arrays.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 22,28 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 25,34 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: MultiplePositioners.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/MultiplePositioners.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MultiplePositioners.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- MultiplePositioners.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 22,28 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "MultiplePositioners" version = "$Id$" --- 25,34 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "MultiplePositioners" version = "$Id$" Index: Including.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Including.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Including.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Including.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 13,20 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6" xmlns:xi="http://www.w3.org/2003/XInclude"> ! <section DTD_version = "v6" name = "Solids" version = "$Id$" --- 16,25 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Solids" version = "$Id$" Index: Reflections.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Reflections.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Reflections.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Reflections.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Reflections" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Reflections" version = "$Id$" Index: solids.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/solids.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** solids.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- solids.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: AliSolids.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/AliSolids.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AliSolids.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- AliSolids.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "AliSolids" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "AliSolids" version = "$Id$" Index: positioners.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/positioners.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** positioners.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- positioners.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 22,28 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 25,34 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: BinaryOperators.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/BinaryOperators.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BinaryOperators.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- BinaryOperators.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "BinaryOperators" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "BinaryOperators" version = "$Id$" Index: vars.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/vars.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** vars.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- vars.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 22,28 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 25,34 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: foreach.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/foreach.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** foreach.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- foreach.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 13,19 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "Julius Hrivnac" date = "13 February 2005" --- 16,25 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "Julius Hrivnac" date = "13 February 2005" Index: Polys.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Polys.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Polys.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Polys.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Polys" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Polys" version = "$Id$" Index: math.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/math.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** math.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- math.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: Copies.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Copies.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Copies.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Copies.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Copies" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Copies" version = "$Id$" Index: Solids.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Solids.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Solids.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Solids.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 22,28 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Solids" version = "$Id$" --- 25,34 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Solids" version = "$Id$" *************** *** 31,43 **** top_volume = "TEST"> ! <box name="box" material="Lead" X_Y_Z="1000; 2000; 8000" /> ! <trd name="trd" material="Aluminium" Xmp_Ymp_Z="500; 1000; 1000; 2000; 8000" /> ! <trd name="trd_skewed" material="Aluminium" Xmp_Ymp_Z="500; 1000; 1000; 2000; 8000" inclination="15; 30"/> ! <tubs name="tubs_full" material="Iron" Rio_Z=" 0; 1000; 8000" /> ! <tubs name="tubs_hole" material="Iron" Rio_Z="500; 1000; 8000" /> ! <tubs name="tubs_angle" material="Iron" Rio_Z="500; 1000; 8000" profile="0; 180" /> ! <cons name="cons_full" material="Copper" Rio1_Rio2_Z=" 0; 0; 1000; 1400; 8000" /> ! <cons name="cons_hole" material="Copper" Rio1_Rio2_Z="500; 900; 1000; 1400; 8000" /> ! <cons name="cons_angle" material="Copper" Rio1_Rio2_Z="500; 900; 1000; 1400; 8000" profile="0; 180" /> <composition name="TEST"> --- 37,49 ---- top_volume = "TEST"> ! <box name="box" material="Lead" X_Y_Z="1000; 2000; 8000" /> ! <trd name="trd" material="Lead" Xmp_Ymp_Z="500; 1000; 1000; 2000; 8000" /> ! <trd name="trd_skewed" material="Lead" Xmp_Ymp_Z="500; 1000; 1000; 2000; 8000" inclination="15; 30"/> ! <tubs name="tubs_full" material="Iron" Rio_Z=" 0; 1000; 8000" /> ! <tubs name="tubs_hole" material="Iron" Rio_Z="500; 1000; 8000" /> ! <tubs name="tubs_angle" material="Iron" Rio_Z="500; 1000; 8000" profile="0; 180" /> ! <cons name="cons_full" material="Copper" Rio1_Rio2_Z=" 0; 0; 1000; 1400; 8000" /> ! <cons name="cons_hole" material="Copper" Rio1_Rio2_Z="500; 900; 1000; 1400; 8000" /> ! <cons name="cons_angle" material="Copper" Rio1_Rio2_Z="500; 900; 1000; 1400; 8000" profile="0; 180" /> <composition name="TEST"> Index: stacks.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/stacks.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** stacks.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- stacks.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: Shifts.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Shifts.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Shifts.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Shifts.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Shifts" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Shifts" version = "$Id$" Index: Envelopes.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Envelopes.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Envelopes.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Envelopes.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Envelopes" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Envelopes" version = "$Id$" Index: Rotations.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/Rotations.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Rotations.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- Rotations.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" name = "Rotations" version = "$Id$" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" name = "Rotations" version = "$Id$" |
From: Julius H. <hr...@us...> - 2005-10-06 15:36:40
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/external In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src/net/hep/AGDD/Test/data/external Modified Files: compact_emulation.agdd muons.agdd Log Message: Materials added, version moved to v7 Index: muons.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/external/muons.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** muons.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- muons.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 19,25 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 22,31 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" Index: compact_emulation.agdd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Test/data/external/compact_emulation.agdd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** compact_emulation.agdd 30 Mar 2005 13:42:56 -0000 1.1 --- compact_emulation.agdd 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 3,6 **** --- 3,9 ---- <!-- $Log$ + Revision 1.2 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.1 2005/03/30 13:42:56 hrivnac AGDD added *************** *** 25,31 **** <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v6"> ! <section DTD_version = "v6" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" --- 28,37 ---- <!-- @author Jul...@ce... --> ! <AGDD DTD_version = "v7" ! xmlns:xi="http://www.w3.org/2003/XInclude"> ! <xi:include href="StandardMaterials.agdd"/> ! ! <section DTD_version = "v7" author = "C.Arnault, Julius Hrivnac" date = "5 January 2005" |
From: Julius H. <hr...@us...> - 2005-10-06 15:36:39
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src/net/hep/AGDD/Data Added Files: StandardMaterials.agdd Log Message: Materials added, version moved to v7 --- NEW FILE: StandardMaterials.agdd --- <?xml version="1.0" encoding="UTF-8"?> <!-- AGDD Standard Materials (to use with XInclude) --> <!-- $Log: StandardMaterials.agdd,v $ Revision 1.1 2005/10/06 15:36:20 hrivnac Materials added, version moved to v7 --> <!-- @version $Id: StandardMaterials.agdd,v 1.1 2005/10/06 15:36:20 hrivnac Exp $ --> <!-- @author Jul...@ce... --> <materials version="2.0" date="2001-10-03" author="Stan Bentvelsen, Julius Hrivnac" DTD_version="v7"> <!-- Isotops ================================================================== --> <isotope name="Bor_10" z="5" n="10" a="10" /> <isotope name="Bor_11" z="5" n="11" a="11" /> <!-- Elements ================================================================= --> <element symbol="H" ><atom zeff=" 1.0" aweight="1.00797" /></element> <element symbol="D" ><atom zeff=" 1.0" aweight="2.01" /></element> <element symbol="He"><atom zeff=" 2.0" aweight="4.0026" /></element> <element symbol="Li"><atom zeff=" 3.0" aweight="6.9410" /></element> <element symbol="Be"><atom zeff=" 4.0" aweight="9.0122" /></element> <element symbol="C" ><atom zeff=" 6.0" aweight="12.011" /></element> <element symbol="N" ><atom zeff=" 7.0" aweight="14.0067" /></element> <element symbol="O" ><atom zeff=" 8.0" aweight="15.9995" /></element> <element symbol="F" ><atom zeff=" 9.0" aweight="18.9984" /></element> <element symbol="Ne"><atom zeff="10.0" aweight="20.179" /></element> <element symbol="Na"><atom zeff="11.0" aweight="22.9898" /></element> <element symbol="Mg"><atom zeff="12.0" aweight="24.305" /></element> <element symbol="Al"><atom zeff="13.0" aweight="26.9815" /></element> <element symbol="Si"><atom zeff="14.0" aweight="28.086" /></element> <element symbol="P" ><atom zeff="15.0" aweight="30.9738" /></element> <element symbol="S" ><atom zeff="16.0" aweight="32.06" /></element> <element symbol="Cl"><atom zeff="17.0" aweight="35.453" /></element> <element symbol="Ar"><atom zeff="18.0" aweight="39.948" /></element> <element symbol="K" ><atom zeff="19.0" aweight="39.098" /></element> <element symbol="Ca"><atom zeff="20.0" aweight="40.08" /></element> <element symbol="Sc"><atom zeff="21.0" aweight="44.956" /></element> <element symbol="Ti"><atom zeff="22.0" aweight="47.90" /></element> <element symbol="V" ><atom zeff="23.0" aweight="50.9414" /></element> <element symbol="Cr"><atom zeff="24.0" aweight="51.996" /></element> <element symbol="Mn"><atom zeff="25.0" aweight="54.9830" /></element> <element symbol="Fe"><atom zeff="26.0" aweight="55.847" /></element> <element symbol="Co"><atom zeff="27.0" aweight="58.9332" /></element> <element symbol="Ni"><atom zeff="28.0" aweight="58.70" /></element> <element symbol="Cu"><atom zeff="29.0" aweight="63.546" /></element> <element symbol="Zn"><atom zeff="30.0" aweight="65.38" /></element> <element symbol="Ga"><atom zeff="31.0" aweight="69.72" /></element> <element symbol="Ge"><atom zeff="32.0" aweight="72.59" /></element> <element symbol="As"><atom zeff="33.0" aweight="74.9216" /></element> <element symbol="Se"><atom zeff="34.0" aweight="78.96" /></element> <element symbol="Br"><atom zeff="35.0" aweight="79.904" /></element> <element symbol="Kr"><atom zeff="36.0" aweight="83.80" /></element> <element symbol="Rb"><atom zeff="37.0" aweight="85.4678" /></element> <element symbol="Sr"><atom zeff="38.0" aweight="87.62" /></element> <element symbol="Y" ><atom zeff="39.0" aweight="88.909" /></element> <element symbol="Zr"><atom zeff="40.0" aweight="91.22" /></element> <element symbol="Nb"><atom zeff="41.0" aweight="92.9064" /></element> <element symbol="Mo"><atom zeff="42.0" aweight="95.94" /></element> <element symbol="Tc"><atom zeff="43.0" aweight="97" /></element> <element symbol="Ru"><atom zeff="44.0" aweight="101.07" /></element> <element symbol="Rh"><atom zeff="45.0" aweight="102.905" /></element> <element symbol="Pd"><atom zeff="46.0" aweight="106.04" /></element> <element symbol="Ag"><atom zeff="47.0" aweight="107.868" /></element> <element symbol="Cd"><atom zeff="48.0" aweight="112.40" /></element> <element symbol="In"><atom zeff="49.0" aweight="114.82" /></element> <element symbol="Sn"><atom zeff="50.0" aweight="118.69" /></element> <element symbol="Sb"><atom zeff="51.0" aweight="121.75" /></element> <element symbol="Te"><atom zeff="52.0" aweight="127.60" /></element> <element symbol="I" ><atom zeff="53.0" aweight="126.9046"/></element> <element symbol="Xe"><atom zeff="54.0" aweight="131.30" /></element> <element symbol="Cs"><atom zeff="55.0" aweight="132.905" /></element> <element symbol="Ba"><atom zeff="56.0" aweight="137.34" /></element> <element symbol="La"><atom zeff="57.0" aweight="138.91" /></element> <element symbol="Ce"><atom zeff="58.0" aweight="140.12" /></element> <element symbol="Pr"><atom zeff="59.0" aweight="140.908" /></element> <element symbol="Nd"><atom zeff="60.0" aweight="144.24" /></element> <element symbol="Pm"><atom zeff="61.0" aweight="145" /></element> <element symbol="Sm"><atom zeff="62.0" aweight="150.4" /></element> <element symbol="Eu"><atom zeff="63.0" aweight="151.96" /></element> <element symbol="Gd"><atom zeff="64.0" aweight="157.25" /></element> <element symbol="Tb"><atom zeff="65.0" aweight="158.925" /></element> <element symbol="Dy"><atom zeff="66.0" aweight="162.50" /></element> <element symbol="Ho"><atom zeff="67.0" aweight="164.930" /></element> <element symbol="Er"><atom zeff="68.0" aweight="167.26" /></element> <element symbol="Tm"><atom zeff="69.0" aweight="168.934" /></element> <element symbol="Yb"><atom zeff="70.0" aweight="173.04" /></element> <element symbol="Lu"><atom zeff="71.0" aweight="174.97" /></element> <element symbol="Hf"><atom zeff="72.0" aweight="178.49" /></element> <element symbol="Ta"><atom zeff="73.0" aweight="180.948" /></element> <element symbol="W" ><atom zeff="74.0" aweight="183.85" /></element> <element symbol="Re"><atom zeff="75.0" aweight="186.207" /></element> <element symbol="Os"><atom zeff="76.0" aweight="190.2" /></element> <element symbol="Ir"><atom zeff="77.0" aweight="192.22" /></element> <element symbol="Pt"><atom zeff="78.0" aweight="195.09" /></element> <element symbol="Au"><atom zeff="79.0" aweight="196.967" /></element> <element symbol="Hg"><atom zeff="80.0" aweight="200.59" /></element> <element symbol="Tl"><atom zeff="81.0" aweight="204.37" /></element> <element symbol="Pb"><atom zeff="82.0" aweight="207.2" /></element> <element symbol="Bi"><atom zeff="83.0" aweight="208.980" /></element> <element symbol="Po"><atom zeff="84.0" aweight="209" /></element> <element symbol="At"><atom zeff="85.0" aweight="210" /></element> <element symbol="Rn"><atom zeff="86.0" aweight="222" /></element> <element symbol="Fr"><atom zeff="87.0" aweight="223" /></element> <element symbol="Ra"><atom zeff="88.0" aweight="226.03" /></element> <element symbol="Ac"><atom zeff="89.0" aweight="227" /></element> <element symbol="Th"><atom zeff="90.0" aweight="232.038" /></element> <element symbol="Pa"><atom zeff="91.0" aweight="231.038" /></element> <element symbol="U" ><atom zeff="92.0" aweight="238.03" /></element> <element symbol="Np"><atom zeff="93.0" aweight="237.048" /></element> <element symbol="B"> <addisotope name="Bor_10" natoms="2" /> <addisotope name="Bor_11" natoms="8" /> </element> <!-- Materials ================================================================ --> <material name="Hydrogen" density="0.0708" state="gas" > <addelement name="H" natoms="1"/> </material> <material name="Deuterium" density="0.162" > <addelement name="D" natoms="1"/> </material> <material name="Helium" density="0.125" > <addelement name="He" natoms="1" /> </material> <material name="Lithium" density="0.534" > <addelement name="Li" natoms="1" /> </material> <material name="Beryllium" density="1.8480" > <addelement name="Be" natoms="1" /> </material> <material name="Boron" density="2.34" > <addelement name="B" natoms="1" /> </material> <material name="Carbon" density="2.2650" > <addelement name="C" natoms="1" /> </material> <material name="Nitrogen" density="0.808" > <addelement name="N" natoms="1" /> </material> <material name="Oxygen" density="0.00143"> <addelement name="O" natoms="1" /> </material> <material name="Fluorine" density="1.1080" > <addelement name="F" natoms="1" /> </material> <material name="Neon" density="1.2070" > <addelement name="Ne" natoms="1" /> </material> <material name="Sodium" density="0.969" > <addelement name="Na" natoms="1" /> </material> <material name="Magnesium" density="1.735" > <addelement name="Mg" natoms="1" /> </material> <material name="Aluminum" density="2.700" > <addelement name="Al" natoms="1" /> </material> <material name="Silicon" density="2.33" > <addelement name="Si" natoms="1" /> </material> <material name="Phosphorus" density="1.82" > <addelement name="P" natoms="1" /> </material> <material name="Sulfur" density="2.07" > <addelement name="S" natoms="1" /> </material> <material name="Chlorine" density="1.56" > <addelement name="Cl" natoms="1" /> </material> <material name="Argon" density="0.001639"> <addelement name="Ar" natoms="1" /> </material> <material name="Potassium" density="0.860" > <addelement name="K" natoms="1" /> </material> <material name="Calcium" density="1.55" > <addelement name="Ca" natoms="1" /> </material> <material name="Scandium" density="2.98" > <addelement name="Sc" natoms="1" /> </material> <material name="Titanium" density="4.53" > <addelement name="Ti" natoms="1" /> </material> <material name="Vanadium" density="6.10" > <addelement name="V" natoms="1" /> </material> <material name="Chromium" density="7.18" > <addelement name="Cr" natoms="1" /> </material> <material name="Manganese" density="7.43" > <addelement name="Mn" natoms="1" /> </material> <material name="Iron" density="7.87" > <addelement name="Fe" natoms="1" /> </material> <material name="Cobalt" density="8.90" > <addelement name="Co" natoms="1" /> </material> <material name="Nickel" density="8.876" > <addelement name="Ni" natoms="1" /> </material> <material name="Copper" density="8.96" > <addelement name="Cu" natoms="1" /> </material> <material name="Zinc" density="7.112" > <addelement name="Zn" natoms="1" /> </material> <material name="Gallium" density="5.877" > <addelement name="Ga" natoms="1" /> </material> <material name="Germanium" density="5.3230" > <addelement name="Ge" natoms="1" /> </material> <material name="Arsenic" density="5.72" > <addelement name="As" natoms="1" /> </material> <material name="Selenium" density="4.78" > <addelement name="Se" natoms="1" /> </material> <material name="Bromine" density="3.11" > <addelement name="Br" natoms="1" /> </material> <material name="Krypton" density="2.60" > <addelement name="Kr" natoms="1" /> </material> <material name="Rubidium" density="1.529" > <addelement name="Rb" natoms="1" /> </material> <material name="Strontium" density="2.54" > <addelement name="Sr" natoms="1" /> </material> <material name="Yttrium" density="4.456" > <addelement name="Y" natoms="1" /> </material> <material name="Zirconium" density="6.494" > <addelement name="Zr" natoms="1" /> </material> <material name="Niobium" density="8.55" > <addelement name="Nb" natoms="1" /> </material> <material name="Molybdenum" density="10.20" > <addelement name="Mo" natoms="1" /> </material> <material name="Technetium" density="11.48" > <addelement name="Tc" natoms="1" /> </material> <material name="Ruthenium" density="12.39" > <addelement name="Ru" natoms="1" /> </material> <material name="Rhodium" density="12.39" > <addelement name="Rh" natoms="1" /> </material> <material name="Palladium" density="12.00" > <addelement name="Pd" natoms="1" /> </material> <material name="Silver" density="10.48" > <addelement name="Ag" natoms="1" /> </material> <material name="Cadmium" density="8.63" > <addelement name="Cd" natoms="1" /> </material> <material name="Indium" density="7.30" > <addelement name="In" natoms="1" /> </material> <material name="Tin" density="7.31" > <addelement name="Sn" natoms="1" /> </material> <material name="Antimony" density="6.679" > <addelement name="Sb" natoms="1" /> </material> <material name="Tellurium" density="6.23" > <addelement name="Te" natoms="1" /> </material> <material name="Iodine" density="7.30" > <addelement name="I" natoms="1" /> </material> <material name="Xenon" density="3.057" > <addelement name="Xe" natoms="1" /> </material> <material name="Cesium" density="1.870" > <addelement name="Cs" natoms="1" /> </material> <material name="Barium" density="3.50" > <addelement name="Ba" natoms="1" /> </material> <material name="Larthanum" density="6.127" > <addelement name="La" natoms="1" /> </material> <material name="Cerium" density="6.637" > <addelement name="Ce" natoms="1" /> </material> <material name="Tungsten" density="19.3" > <addelement name="W" natoms="1" /> </material> <material name="Gold" density="18.85" > <addelement name="Au" natoms="1" /> </material> <material name="Lead" density="11.35" > <addelement name="Pb" natoms="1" /> </material> <material name="Bismuth" density="9.37" > <addelement name="Bi" natoms="1" /> </material> <material name="Uranium" density="18.950" > <addelement name="U" natoms="1" /> </material> <material name="Air" density="0.001214"> <addelement name="N" natoms="0.7494" /> <addelement name="O" natoms="0.2369" /> <addelement name="Ar" natoms="0.0129" /> <addelement name="H" natoms="0.0008" /> </material> <material name="Vacuum" zeff="1.0e-15" aweight="1.0e-15" density="1.0e-15" x0="1.0e+17" lambda="1.0e+17" > </material> </materials> |
From: Julius H. <hr...@us...> - 2005-10-06 15:36:38
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src/net/hep/AGDD/GeometricModel Modified Files: Position.java Log Message: Materials added, version moved to v7 Index: Position.java =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Position.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Position.java 30 Mar 2005 13:42:56 -0000 1.1 --- Position.java 6 Oct 2005 15:36:20 -0000 1.2 *************** *** 13,16 **** --- 13,19 ---- * <pre> * $Log$ + * Revision 1.2 2005/10/06 15:36:20 hrivnac + * Materials added, version moved to v7 + * * Revision 1.1 2005/03/30 13:42:56 hrivnac * AGDD added *************** *** 63,67 **** } ! /** The unity {@link Matrix3d}. */ private static final Matrix3d UMATRIX = new Matrix3d(1, 0, 0, 0, 1, 0, --- 66,70 ---- } ! /** The unity {@link Matrix3d}. */ private static final Matrix3d UMATRIX = new Matrix3d(1, 0, 0, 0, 1, 0, |
From: Julius H. <hr...@us...> - 2005-10-06 15:36:32
|
Update of /cvsroot/graxml/DetDescr/AGDD/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src Modified Files: index.html Log Message: Materials added, version moved to v7 Index: index.html =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/index.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** index.html 12 Aug 2005 09:27:43 -0000 1.9 --- index.html 6 Oct 2005 15:36:20 -0000 1.10 *************** *** 125,128 **** --- 125,129 ---- <li>mposPhi fixed (thanks to M.Potekhin).</li> <li>pcon, phedra centered in z (thanks to M.Potekhin).</li> + <li>Materials included. </ul> </li> |
From: Julius H. <hr...@us...> - 2005-10-06 15:36:30
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Schema In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25070/src/net/hep/AGDD/Schema Modified Files: AGDD.xsd Added Files: Materials.dtd Log Message: Materials added, version moved to v7 --- NEW FILE: Materials.dtd --- <!ELEMENT materials ( isotope+, element+, material+ ) > <!ATTLIST materials version NMTOKEN #REQUIRED > <!ATTLIST materials DTD_version NMTOKEN #REQUIRED > <!ATTLIST materials author CDATA #REQUIRED > <!ATTLIST materials date CDATA #REQUIRED > <!ELEMENT material ( addelement* ) > <!ATTLIST material name NMTOKEN #REQUIRED > <!ATTLIST material density NMTOKEN #REQUIRED > <!ATTLIST material aweight NMTOKEN #IMPLIED > <!ATTLIST material lambda NMTOKEN #IMPLIED > <!ATTLIST material state NMTOKEN #IMPLIED > <!ATTLIST material x0 NMTOKEN #IMPLIED > <!ATTLIST material zeff NMTOKEN #IMPLIED > <!ELEMENT element ( addisotope | atom )* > <!ATTLIST element symbol ID #REQUIRED > <!ELEMENT addelement EMPTY > <!ATTLIST addelement name IDREF #REQUIRED > <!ATTLIST addelement natoms NMTOKEN #REQUIRED > <!ELEMENT isotope EMPTY > <!ATTLIST isotope name ID #REQUIRED > <!ATTLIST isotope a NMTOKEN #REQUIRED > <!ATTLIST isotope n NMTOKEN #REQUIRED > <!ATTLIST isotope z NMTOKEN #REQUIRED > <!ELEMENT addisotope EMPTY > <!ATTLIST addisotope name IDREF #REQUIRED > <!ATTLIST addisotope natoms NMTOKEN #REQUIRED > <!ELEMENT atom EMPTY > <!ATTLIST atom aweight NMTOKEN #REQUIRED > <!ATTLIST atom zeff NMTOKEN #REQUIRED > Index: AGDD.xsd =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Schema/AGDD.xsd,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AGDD.xsd 31 Mar 2005 09:22:20 -0000 1.2 --- AGDD.xsd 6 Oct 2005 15:36:20 -0000 1.3 *************** *** 2,5 **** --- 2,8 ---- <!-- $Log$ + Revision 1.3 2005/10/06 15:36:20 hrivnac + Materials added, version moved to v7 + Revision 1.2 2005/03/31 09:22:20 hrivnac section name fix *************** *** 67,71 **** as "AliDD extension"s in the element documentation (because they have been included to satisfy Alice requirements).</li> - <li>Schema doesn't cover materials. They can be added later.</li> <li>Schema doesn't cover parameters. They can be added later.</li> </ul> --- 70,73 ---- *************** *** 89,94 **** </p> <p> ! "Composition", "Section", "solid" and "data" elements can be linked from another ! file using XInclude mechanism. </p> </xs:documentation></xs:annotation> --- 91,96 ---- </p> <p> ! "Composition", "Section", "solid", "data" and "materials" elements can be linked ! from another file using XInclude mechanism. </p> </xs:documentation></xs:annotation> *************** *** 112,115 **** --- 114,118 ---- <xs:complexType> <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="materials"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="section"/> </xs:sequence> *************** *** 117,121 **** <xs:simpleType> <xs:restriction base="xs:string"> ! <xs:enumeration value="v6"/> </xs:restriction> </xs:simpleType> --- 120,124 ---- <xs:simpleType> <xs:restriction base="xs:string"> ! <xs:enumeration value="v7"/> </xs:restriction> </xs:simpleType> *************** *** 160,164 **** <xs:simpleType> <xs:restriction base="xs:string"> ! <xs:enumeration value="v6"/> </xs:restriction> </xs:simpleType> --- 163,167 ---- <xs:simpleType> <xs:restriction base="xs:string"> ! <xs:enumeration value="v7"/> </xs:restriction> </xs:simpleType> *************** *** 528,531 **** --- 531,535 ---- <!-- mposZ .................................................................... --> + <!-- BUG: R_+Phi and X_Y should not be settable both --> <xs:element name="mposZ" substitutionGroup="abstractPosition"> <xs:annotation> *************** *** 541,545 **** </ul> Note that the origin of the coordinate system is implicitly ! defined in the 'transverse' direction by the R_phi or attribute. In the positioning-direction it is defined by the attribute Z0. --- 545,549 ---- </ul> Note that the origin of the coordinate system is implicitly ! defined in the 'transverse' direction by the R_Phi or X_Y attribute. In the positioning-direction it is defined by the attribute Z0. *************** *** 646,650 **** <xs:complexContent> <xs:extension base="volumeInstance"> ! <xs:attribute name="material" type="xs:string" use="required"/> <xs:attribute name="sensitive" type="xs:boolean" default="false"/> <xs:attribute name="unit_length" type="unit_length" default="mm"/> --- 650,654 ---- <xs:complexContent> <xs:extension base="volumeInstance"> ! <xs:attribute name="material" type="xs:IDREF" use="required"/> <xs:attribute name="sensitive" type="xs:boolean" default="false"/> <xs:attribute name="unit_length" type="unit_length" default="mm"/> *************** *** 1420,1424 **** </xs:simpleType> ! </xs:schema> --- 1424,1537 ---- </xs:simpleType> ! <!-- Materials ================================================================ --> ! ! <!-- materials ................................................................ --> ! <xs:element name="materials"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:sequence> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="isotope" /> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="element" /> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="material" /> ! </xs:sequence> ! <xs:attribute name="version" type="xs:string" use="required" /> ! <xs:attribute name="DTD_version" type="xs:string" use="required" /> ! <xs:attribute name="author" type="xs:string" use="required" /> ! <xs:attribute name="date" type="xs:date" use="required" /> ! <xs:attribute ref="xml:base" xmlns:xml="http://www.w3.org/XML/1998/namespace"/> ! </xs:complexType> ! </xs:element> ! ! <!-- material ................................................................. --> ! <xs:element name="material"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:sequence> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="addelement" /> ! </xs:sequence> ! <xs:attribute name="name" type="xs:ID" use="required" /> ! <xs:attribute name="density" type="xs:double" use="required" /> ! <xs:attribute name="aweight" type="xs:double" /> ! <xs:attribute name="lambda" type="xs:double" /> ! <xs:attribute name="x0" type="xs:double" /> ! <xs:attribute name="zeff" type="xs:double" /> ! <xs:attribute name="state"> ! <xs:simpleType> ! <xs:restriction base="xs:string"> ! <xs:enumeration value="gas"/> ! </xs:restriction> ! </xs:simpleType> ! </xs:attribute> ! </xs:complexType> ! </xs:element> ! ! <!-- element .................................................................. --> ! <xs:element name="element"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:choice minOccurs="0" maxOccurs="unbounded"> ! <xs:element ref="addisotope" /> ! <xs:element ref="atom" /> ! </xs:choice> ! <xs:attribute name="symbol" type="xs:ID" use="required" /> ! </xs:complexType> ! </xs:element> ! ! <!-- addelement ............................................................... --> ! <xs:element name="addelement"> ! <xs:complexType> ! <xs:attribute name="name" type="xs:IDREF" use="required" /> ! <xs:attribute name="natoms" type="xs:double" use="required" /> ! </xs:complexType> ! </xs:element> ! ! <!-- isotope .................................................................. --> ! <xs:element name="isotope"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:attribute name="name" type="xs:ID" use="required" /> ! <xs:attribute name="a" type="xs:int" use="required" /> ! <xs:attribute name="n" type="xs:int" use="required" /> ! <xs:attribute name="z" type="xs:int" use="required" /> ! </xs:complexType> ! </xs:element> ! ! <!-- addisotope ............................................................... --> ! <xs:element name="addisotope"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:attribute name="name" type="xs:IDREF" use="required" /> ! <xs:attribute name="natoms" type="xs:int" use="required" /> ! </xs:complexType> ! </xs:element> ! ! <!-- atom ..................................................................... --> ! <xs:element name="atom"> ! <xs:annotation> ! <xs:documentation> ! </xs:documentation> ! </xs:annotation> ! <xs:complexType> ! <xs:attribute name="aweight" type="xs:double" use="required" /> ! <xs:attribute name="zeff" type="xs:double" use="required" /> ! </xs:complexType> ! </xs:element> ! ! </xs:schema> |
From: Julius H. <hr...@us...> - 2005-10-06 15:35:49
|
Update of /cvsroot/graxml/DetDescr/AGDD/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24864 Modified Files: ToDo.txt build.xml Log Message: Materials added, version moved to v7 Index: ToDo.txt =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/ant/ToDo.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ToDo.txt 30 Mar 2005 13:42:55 -0000 1.1 --- ToDo.txt 6 Oct 2005 15:35:40 -0000 1.2 *************** *** 4,5 **** --- 4,8 ---- - all comments in XSD - Reflective volumes ? + - date in AGDD is the date (as in materials) + - section doesn't have to have DTD_version + - Standardmaterials.agdd and Included.agdd should not be tested Index: build.xml =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/ant/build.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** build.xml 12 Aug 2005 09:27:42 -0000 1.3 --- build.xml 6 Oct 2005 15:35:41 -0000 1.4 *************** *** 154,157 **** --- 154,158 ---- <fileset dir="${etc}" includes="**"/> <fileset dir="${src}/net/hep/AGDD/Test/data" includes="*.agdd"/> + <fileset dir="${src}/net/hep/AGDD/Data" includes="*.agdd"/> </copy> <pathconvert targetos="unix" property="classpath.run" refid="classpath.run"/> |
From: Julius H. <hr...@us...> - 2005-10-06 15:34:41
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24467/Data Log Message: Directory /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/Data added to the repository |
From: Julius H. <hr...@us...> - 2005-09-30 07:52:13
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9632 Modified Files: MposPhi.java MposWedge.java Log Message: M.Potekhin: 360->2pi fix Index: MposPhi.java =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps/MposPhi.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MposPhi.java 6 Jun 2005 13:48:35 -0000 1.2 --- MposPhi.java 30 Sep 2005 07:51:59 -0000 1.3 *************** *** 30,33 **** --- 30,34 ---- import static java.lang.Math.sin; import static java.lang.Math.cos; + import static java.lang.Math.PI; // Log4J *************** *** 40,43 **** --- 41,47 ---- * <pre> * $Log$ + * Revision 1.3 2005/09/30 07:51:59 hrivnac + * M.Potekhin: 360->2pi fix + * * Revision 1.2 2005/06/06 13:48:35 hrivnac * mposPhi fix provided by M.Potekhin *************** *** 80,91 **** if (dphiS == null) { dphi = new float[1]; ! dphi[0] = 360f / ncopy[0]; } else { dphi = evaluator.valueOf(dphiS, aUnit); } ! float[] rz = evaluator.valueOf(pos.getRZ(), lUnit); ! float[] rot = evaluator.valueOf(pos.getRot(), aUnit); ! float[] s = evaluator.valueOf(pos.getS(), lUnit); // Position all volumes --- 84,95 ---- if (dphiS == null) { dphi = new float[1]; ! dphi[0] = (float)(2f * PI / ncopy[0]); } else { dphi = evaluator.valueOf(dphiS, aUnit); } ! float[] rz = evaluator.valueOf(pos.getRZ(), lUnit); ! float[] rot = evaluator.valueOf(pos.getRot(), aUnit); ! float[] s = evaluator.valueOf(pos.getS(), lUnit); // Position all volumes Index: MposWedge.java =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps/MposWedge.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MposWedge.java 30 Mar 2005 13:42:56 -0000 1.1 --- MposWedge.java 30 Sep 2005 07:51:59 -0000 1.2 *************** *** 30,33 **** --- 30,34 ---- import static java.lang.Math.sin; import static java.lang.Math.cos; + import static java.lang.Math.PI; // Log4J *************** *** 40,43 **** --- 41,47 ---- * <pre> * $Log$ + * Revision 1.2 2005/09/30 07:51:59 hrivnac + * M.Potekhin: 360->2pi fix + * * Revision 1.1 2005/03/30 13:42:56 hrivnac * AGDD added *************** *** 80,88 **** // Position all volumes float[] xyz = new float[3]; ! xyz[2] = rz[0]; float phi; for (int i = 0; i < (int)ncopy[0]; i++) { if (sectors[i] != 0) { ! phi = phi0[0] + 360 / ncopy[0] * i; xyz[0] = rz[0] * (float)cos(phi); xyz[1] = rz[0] * (float)sin(phi); --- 84,92 ---- // Position all volumes float[] xyz = new float[3]; ! xyz[2] = rz[1]; float phi; for (int i = 0; i < (int)ncopy[0]; i++) { if (sectors[i] != 0) { ! phi = (float)(phi0[0] + 2f * PI / ncopy[0] * i); xyz[0] = rz[0] * (float)cos(phi); xyz[1] = rz[0] * (float)sin(phi); |
From: Julius H. <hr...@us...> - 2005-09-29 15:23:38
|
Update of /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29259 Modified Files: Guide.html Log Message: added reference to Root WS Index: Guide.html =================================================================== RCS file: /cvsroot/graxml/Graphics/GraXML/src/net/hep/graphics/GraXML/doc-files/Guide.html,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Guide.html 12 Aug 2005 09:29:11 -0000 1.6 --- Guide.html 29 Sep 2005 15:23:28 -0000 1.7 *************** *** 589,592 **** --- 589,596 ---- <li><b><a href="http://www.slac.stanford.edu/econf/C0303241/proc/pres/278.ppt">The Virtual Monte Carlo</a></b> (I.Hrivnacova) during CHEP in Mar'03, La Jolla</li> </ul> + <li>2005:</li> + <ul> + <li><b><a href="http://agenda.cern.ch/askArchive.php?base=agenda&categ=a055638&id=a055638s3t13/transparencies">Root4Star: a ROOT based framework for user analysis and data mining</a></b> (J.Laurent) during Root WS in Sep'05, CERN</li> + </ul> </ul> </ul> |
From: Julius H. <hr...@us...> - 2005-09-23 09:07:18
|
Update of /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20101 Modified Files: MposZ.java Log Message: logic fix, thanks to M.Potekhin Index: MposZ.java =================================================================== RCS file: /cvsroot/graxml/DetDescr/AGDD/src/net/hep/AGDD/GeometricModel/Reps/MposZ.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MposZ.java 30 Mar 2005 13:42:56 -0000 1.1 --- MposZ.java 23 Sep 2005 09:07:05 -0000 1.2 *************** *** 40,43 **** --- 40,46 ---- * <pre> * $Log$ + * Revision 1.2 2005/09/23 09:07:05 hrivnac + * logic fix, thanks to M.Potekhin + * * Revision 1.1 2005/03/30 13:42:56 hrivnac * AGDD added *************** *** 96,100 **** xyz[1] = xy[1]; } ! else if (rphi != null) { xyz[0] = rphi[0] * (float)cos(rphi[1]); xyz[1] = rphi[0] * (float)sin(rphi[1]); --- 99,103 ---- xyz[1] = xy[1]; } ! if (rphi != null) { xyz[0] = rphi[0] * (float)cos(rphi[1]); xyz[1] = rphi[0] * (float)sin(rphi[1]); |
From: Julius H. <hr...@us...> - 2005-09-08 21:56:45
|
Update of /cvsroot/graxml/Graphics/HEP3D/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24331/ant Modified Files: build.xml Log Message: pre-1.2.3 Index: build.xml =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/ant/build.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** build.xml 5 Sep 2005 12:27:15 -0000 1.3 --- build.xml 8 Sep 2005 21:56:33 -0000 1.4 *************** *** 12,16 **** <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> ! <property name="version" value="1.1.2"/> <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="pre-1.1.3"/> <path id="classpath.build"> |
From: Julius H. <hr...@us...> - 2005-09-08 21:56:45
|
Update of /cvsroot/graxml/Graphics/HEP3D/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24331/src Modified Files: index.html Log Message: pre-1.2.3 Index: index.html =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/index.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** index.html 5 Sep 2005 12:27:15 -0000 1.3 --- index.html 8 Sep 2005 21:56:33 -0000 1.4 *************** *** 30,34 **** <li>Special 3D objects for High Energy Physics, like Helix or <a href="http://geant4.web.cern.ch/geant4/">Geant4</a> Solids.</li> </ul> ! The most resent version can be obtained from my <a href="http://home.cern.ch/hrivnac/Activities/Packages/HEP3D">personal distribution</a>, more stable version is avalable from the GraXML <a href="https://sourceforge.net/projects/graxml/">SourceForge</a> project or <a href="http://java.freehep.org">FreeHEP</a> project. --- 30,34 ---- <li>Special 3D objects for High Energy Physics, like Helix or <a href="http://geant4.web.cern.ch/geant4/">Geant4</a> Solids.</li> </ul> ! The most resent version can be obtained from my <a href="http://home.cern.ch/hrivnac/Activities/Packages/HEP3D-dist.tar.gz">personal distribution</a>, more stable version is avalable from the GraXML <a href="https://sourceforge.net/projects/graxml/">SourceForge</a> project or <a href="http://java.freehep.org">FreeHEP</a> project. *************** *** 127,130 **** --- 127,144 ---- </ul> </li> + <li><u>1.1.3:</u> + <ul> + <li>New features: + <ul> + <li>...</li> + </ul> + </li> + <li>Bug fixes: + <ul> + <li>...</li> + </ul> + </li> + </ul> + </li> </ul> <hr> |
From: Julius H. <hr...@us...> - 2005-09-05 12:27:27
|
Update of /cvsroot/graxml/Graphics/HEP3D/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv815/src Modified Files: index.html Log Message: SF version prepared Index: index.html =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.html 5 Sep 2005 12:18:43 -0000 1.2 --- index.html 5 Sep 2005 12:27:15 -0000 1.3 *************** *** 30,35 **** <li>Special 3D objects for High Energy Physics, like Helix or <a href="http://geant4.web.cern.ch/geant4/">Geant4</a> Solids.</li> </ul> ! The most resent version can be obtained from my <a href="http://home.cern.ch/hrivnac/Activities/Packages/HEP3D">personal distribution</a>, more stable ! version is avalable from the <a href="http://java.freehep.org">FreeHEP project</a>. </p> <p> --- 30,36 ---- <li>Special 3D objects for High Energy Physics, like Helix or <a href="http://geant4.web.cern.ch/geant4/">Geant4</a> Solids.</li> </ul> ! The most resent version can be obtained from my <a href="http://home.cern.ch/hrivnac/Activities/Packages/HEP3D">personal distribution</a>, ! more stable version is avalable from the GraXML <a href="https://sourceforge.net/projects/graxml/">SourceForge</a> project ! or <a href="http://java.freehep.org">FreeHEP</a> project. </p> <p> *************** *** 112,116 **** </ul> </li> ! <li><u>1.1.1:</u> <ul> <li>New features: --- 113,117 ---- </ul> </li> ! <li><u>1.1.2:</u> <ul> <li>New features: |
From: Julius H. <hr...@us...> - 2005-09-05 12:27:27
|
Update of /cvsroot/graxml/Graphics/HEP3D/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv815/ant Modified Files: build.xml Log Message: SF version prepared Index: build.xml =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/ant/build.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** build.xml 5 Sep 2005 12:18:43 -0000 1.2 --- build.xml 5 Sep 2005 12:27:15 -0000 1.3 *************** *** 12,16 **** <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> ! <property name="version" value="1.1.1"/> <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="1.1.2"/> <path id="classpath.build"> |
From: Julius H. <hr...@us...> - 2005-09-05 12:18:51
|
Update of /cvsroot/graxml/Graphics/HEP3D/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31402/ant Modified Files: build.xml Log Message: SF version prepared Index: build.xml =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/ant/build.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** build.xml 5 Sep 2005 12:16:25 -0000 1.1 --- build.xml 5 Sep 2005 12:18:43 -0000 1.2 *************** *** 12,16 **** <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> ! <property name="version" value="1.1.0"/> <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="1.1.1"/> <path id="classpath.build"> |
From: Julius H. <hr...@us...> - 2005-09-05 12:18:51
|
Update of /cvsroot/graxml/Graphics/HEP3D/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31402/src Modified Files: index.html Log Message: SF version prepared Index: index.html =================================================================== RCS file: /cvsroot/graxml/Graphics/HEP3D/src/index.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** index.html 5 Sep 2005 12:16:25 -0000 1.1 --- index.html 5 Sep 2005 12:18:43 -0000 1.2 *************** *** 112,115 **** --- 112,129 ---- </ul> </li> + <li><u>1.1.1:</u> + <ul> + <li>New features: + <ul> + <li>Moved to SourceForge GraXML project.</li> + </ul> + </li> + <li>Bug fixes: + <ul> + <li>...</li> + </ul> + </li> + </ul> + </li> </ul> <hr> |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/org/freehep/j3d Added Files: BooleanOperation.java BooleanShape3D.java Colors3D.java ConeSegment.java Equalator.java OutlinedShape3DFactory.java PolyConeSegment.java PolyGoneSegment.java PolyLine.java Solid.java SphereSegment.java Test.java TorusSegment.java Trapezoid.java overview.html package.html Log Message: HEP3D introduction --- NEW FILE: Trapezoid.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Appearance; import javax.vecmath.Point3d; // Java import static java.lang.Math.tan; import static java.lang.Math.PI; /** General Trapezoid. All angles are in radians, all dimensions * are full dimensions (not half dimensions). * <img src="doc-files/Trapezoid.gif"> * <p><font color="#880088"> * <pre> * $Log: Trapezoid.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.12 2004/11/09 15:35:33 hrivnac * allow postponed construction of solids * * Revision 1.11 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.10 2004/03/22 20:11:16 hrivnac * preconditions tuning * * Revision 1.9 2004/03/22 10:54:28 hrivnac * checking floating point border conditions * * Revision 1.8 2004/03/19 14:42:35 hrivnac * FreeHEP Solids uses Radians now * * Revision 1.7 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.6 2004/03/17 15:20:56 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.5 2004/03/17 15:02:16 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.4 2004/03/05 08:44:58 hrivnac * documentation fixes * * Revision 1.3 2004/03/03 09:46:38 hrivnac * Cone, PolyCone booleanable * * Revision 1.2 2004/03/02 17:18:01 hrivnac * further cleaning and docs * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: Trapezoid.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Trapezoid extends Solid { // Constructors -------------------------------------------------------------- /** Initialise general trapezoid to be constructed later. */ protected Trapezoid() {} /** Create general trapezoid. * @param xmu The length of x-edge at -z/2 and +ym/2. * @param xmd The length of x-edge at -z/2 and -ym/2. * @param xpu The length of x-edge at +z/2 and +ym/2. * @param xpd The length of x-edge at +z/2 and -ym/2. * @param ym The length of y-edge at -z/2. * @param yp The length of y-edge at +z/2. * @param z The length of z-edge. * @param inclXZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in XZ plane. * @param inclYZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in YZ plane. * @param declYm The angle [rad], -pi/2-pi/2, of xz-plane at -z/2 with y-axis. * @param declYp The angle [rad], -pi/2-pi/2, of xz-plane at +z/2 with y-axis. * @param appearance The object' {@link Appearance}. */ public Trapezoid(double xmu, double xmd, double xpu, double xpd, double ym, double yp, double z, double inclXZ, double inclYZ, double declYm, double declYp, Appearance appearance) { construct(xmu, xmd, xpu, xpd, ym, yp, z, inclXZ, inclYZ, declYm, declYp, appearance); } /** Create trapezoid without declinations. * @param xm The length of x-edge at -z/2. * @param xp The length of x-edge at +z/2. * @param ym The length of y-edge at -z/2. * @param yp The length of y-edge at +z/2. * @param z The length of z-edge. * @param inclXZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in XZ plane. * @param inclYZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in YZ plane. * @param appearance The object' {@link Appearance}. */ public Trapezoid(double xm, double xp, double ym, double yp, double z, double inclXZ, double inclYZ, Appearance appearance) { construct(xm, xm, xp, xp, ym, yp, z, inclXZ, inclYZ, 0, 0, appearance); } /** Create straigth trapezoid. * @param xm The length of x-edge at -z/2. * @param xp The length of x-edge at +z/2. * @param ym The length of y-edge at -z/2. * @param yp The length of y-edge at +z/2. * @param z The length of z-edge. * @param appearance The object' {@link Appearance}. */ public Trapezoid(double xm, double xp, double ym, double yp, double z, Appearance appearance) { construct(xm, xm, xp, xp, ym, yp, z, 0, 0, 0, 0, appearance); } /** Create box. * @param x The length of x-edge. * @param y The length of y-edge. * @param z The length of z-edge. * @param appearance The object' {@link Appearance}. */ public Trapezoid(double x, double y, double z, Appearance appearance) { construct(x, x, x, x, y, y, z, 0, 0, 0, 0, appearance); } // --------------------------------------------------------------------------- /** Perform the construction. * @param xmu The length of x-edge at -z/2 and +ym/2. * @param xmd The length of x-edge at -z/2 and -ym/2. * @param xpu The length of x-edge at +z/2 and +ym/2. * @param xpd The length of x-edge at +z/2 and -ym/2. * @param ym The length of y-edge at -z/2. * @param yp The length of y-edge at +z/2. * @param z The length of z-edge. * @param inclXZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in XZ plane. * @param inclYZ The angle [rad], -pi/2-pi/2, of trapezoid z-axis with the real z-axis in YZ plane. * @param declYm The angle [rad], -pi/2-pi/2, of xz-plane at -z/2 with y-axis. * @param declYp The angle [rad], -pi/2-pi/2, of xz-plane at +z/2 with y-axis. * @param appearance The object' {@link Appearance}. */ protected void construct(double xmu, double xmd, double xpu, double xpd, double ym, double yp, double z, double inclXZ, double inclYZ, double declYm, double declYp, Appearance appearance) { // Correct possible border conditions rounding errors inclXZ = Equalator.correct(inclXZ, PI/2.0); inclYZ = Equalator.correct(inclYZ, PI/2.0); declYm = Equalator.correct(declYm, PI/2.0); declYp = Equalator.correct(declYp, PI/2.0); inclXZ = Equalator.correct(inclXZ, -PI/2.0); inclYZ = Equalator.correct(inclYZ, -PI/2.0); declYm = Equalator.correct(declYm, -PI/2.0); declYp = Equalator.correct(declYp, -PI/2.0); // Check preconditins if (! (inclXZ < PI/2.0 && inclXZ > -PI/2.0 && inclYZ < PI/2.0 && inclYZ > -PI/2.0 && declYm < PI/2.0 && declYm > -PI/2.0 && declYp < PI/2.0 && declYp > -PI/2.0)) { System.err.println("Trapezoid: (inclXZ, inclYZ, declYm, declYp) = (" + inclXZ + ", " + inclYZ + ", " + declYm + ", " + declYp + ")" + " are illegal, they should be all in (-pi/2, pi/2) range."); } // Convert final double delX = z / 2 * tan(inclXZ); final double delY = z / 2 * tan(inclYZ); final double delZm = ym / 2 * tan(declYm); final double delZp = yp / 2 * tan(declYp); // Construct array Point3d t00 = new Point3d(- xmu/2 - delX + delZm, ym/2 - delY, - z/2); Point3d t01 = new Point3d( xmu/2 - delX + delZm, ym/2 - delY, - z/2); Point3d t10 = new Point3d( xmd/2 - delX - delZm, - ym/2 - delY, - z/2); Point3d t11 = new Point3d(- xmd/2 - delX - delZm, - ym/2 - delY, - z/2); Point3d b00 = new Point3d(- xpu/2 + delX + delZp, yp/2 + delY, z/2); Point3d b01 = new Point3d( xpu/2 + delX + delZp, yp/2 + delY, z/2); Point3d b10 = new Point3d( xpd/2 + delX - delZp, - yp/2 + delY, z/2); Point3d b11 = new Point3d(- xpd/2 + delX - delZp, - yp/2 + delY, z/2); Point3d[] coordinates = {t00, b00, b01, t01, t01, b01, b10, t10, t10, b10, b11, t11, t11, b11, b00, t00, t00, t01, t10, t11, b11, b10, b01, b00}; // Add Geometry addCoordinates(coordinates); // Add Appearance setAppearance(appearance); } } --- NEW FILE: TorusSegment.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Appearance; import javax.vecmath.Point3d; // Java import java.lang.IllegalArgumentException; import static java.lang.Math.PI; import static java.lang.Math.sin; import static java.lang.Math.cos; /** General Torus Segment. All angles are in radians. * <img src="doc-files/TorusSegment.gif"> * <p><font color="#880088"> * <pre> * $Log: TorusSegment.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.12 2004/11/09 15:35:33 hrivnac * allow postponed construction of solids * * Revision 1.11 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.10 2004/03/22 20:11:16 hrivnac * preconditions tuning * * Revision 1.9 2004/03/22 10:54:28 hrivnac * checking floating point border conditions * * Revision 1.8 2004/03/19 14:42:35 hrivnac * FreeHEP Solids uses Radians now * * Revision 1.7 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.6 2004/03/17 15:20:56 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.5 2004/03/17 15:02:16 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.4 2004/03/04 23:13:53 hrivnac * all boolean operations work, PartialPolyGoneSegment removed * * Revision 1.3 2004/03/03 13:20:54 hrivnac * more precise preconditions * * Revision 1.2 2004/03/03 11:50:58 hrivnac * all primitives refactored * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: TorusSegment.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class TorusSegment extends Solid { // Constructors -------------------------------------------------------------- /** Initialise general torus segment to be constructed later. */ protected TorusSegment() {} /** Create general torus segment. * @param rmin The radius of inner torus' circle. * @param rmax The radius of outer torus' circle, rmax > rmin. * @param rtor The central radius, rtor > rmin, rtor < rmax. * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public TorusSegment(double rmin, double rmax, double rtor, double phimin, double phimax, int granularity, Appearance appearance) throws IllegalArgumentException { construct(rmin, rmax, rtor, phimin, phimax, granularity, appearance); } /** Create full torus. * @param r The radius of torus' circle. * @param rtor The central radius. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public TorusSegment(double r, double rtor, int granularity, Appearance appearance) throws IllegalArgumentException { construct(r, r, rtor, 0, 2*PI, granularity, appearance); } // --------------------------------------------------------------------------- /** Perform the construction. * @param rmin The radius of inner torus' circle. * @param rmax The radius of outer torus' circle, rmax > rmin. * @param rtor The central radius, rtor > rmin, rtor < rmax. * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(double rmin, double rmax, double rtor, double phimin, double phimax, int granularity, Appearance appearance) throws IllegalArgumentException { // Correct possible border conditions rounding errors phimin = Equalator.correct(phimin, 2*PI); phimax = Equalator.correct(phimax, 2*PI); // Check preconditins if (! (rmax > rmin && phimin <= 2*PI && phimin >= 0 && phimax <= 2*PI && phimax >= 0 && phimax > phimin)) { System.err.println("TorusSegment: (rmin, rmax, phimin, phimax) = (" + rmin + ", " + rmax + ", " + phimin + ", " + phimax + ")" + " are illegal, they should satisfy following conditions:" + " rminm > rmaxm, 0 <= phimin < phimax <= 2*pi"); } if (! (granularity > 2)) { throw new IllegalArgumentException("granularity = " + granularity + " is illegal, it should be > 2."); } // Prepare Points Point3d[][] pmin = new Point3d[granularity][granularity]; Point3d[][] pmax = new Point3d[granularity][granularity]; // Fill Points double phi = phimin; double psi; for (int i = 0; i < granularity; i++) { psi = 0; for (int j = 0; j < granularity; j++) { pmin[i][j] = new Point3d((rtor + rmin * cos(psi)) * cos(phi), (rtor + rmin * cos(psi)) * sin(phi), rmin * sin(psi)); pmax[i][j] = new Point3d((rtor + rmax * cos(psi)) * cos(phi), (rtor + rmax * cos(psi)) * sin(phi), rmax * sin(psi)); psi += 2*PI / granularity; } phi += (phimax - phimin) / granularity; } // Prepare Quad array Point3d[] coordinates0 = new Point3d[granularity * granularity * 8 + granularity * 8]; // Loop over phi and psi, construct int k = 0; // Circular int i1; int j1; for (int i = 0; i < granularity; i++) { if (i != granularity - 1 || (phimin == 0 && phimax == 2*PI)) { i1 = ((i == granularity - 1) ? 0 : (i + 1)); for (int j = 0; j < granularity; j++) { j1 = ((j == granularity - 1) ? 0 : (j + 1)); // Out coordinates0[k ] = new Point3d(pmax[i ][j ]); coordinates0[k + 1] = new Point3d(pmax[i1][j ]); coordinates0[k + 2] = new Point3d(pmax[i1][j1]); coordinates0[k + 3] = new Point3d(pmax[i ][j1]); k += 4; // In if (rmin > 0) { coordinates0[k + 3] = new Point3d(pmin[i ][j ]); coordinates0[k + 2] = new Point3d(pmin[i1][j ]); coordinates0[k + 1] = new Point3d(pmin[i1][j1]); coordinates0[k ] = new Point3d(pmin[i ][j1]); k += 4; } } } } // Sides if (phimin != 0 || phimax != 2*PI) { for (int j = 0; j < granularity; j++) { j1 = ((j == granularity - 1) ? 0 : (j + 1)); // Top coordinates0[k ] = new Point3d(pmin[0 ][j ]); coordinates0[k + 1] = new Point3d(pmax[0 ][j ]); coordinates0[k + 2] = new Point3d(pmax[0 ][j1]); coordinates0[k + 3] = new Point3d(pmin[0 ][j1]); k += 4; // Bottom coordinates0[k + 3] = new Point3d(pmin[granularity - 1][j ]); coordinates0[k + 2] = new Point3d(pmax[granularity - 1][j ]); coordinates0[k + 1] = new Point3d(pmax[granularity - 1][j1]); coordinates0[k ] = new Point3d(pmin[granularity - 1][j1]); k += 4; } } // Create final Quad array Point3d[] coordinates = new Point3d[k]; for (int i = 0; i < k; i++) { coordinates[i] = coordinates0[i]; } // Add Geometry addCoordinates(coordinates); // Add Appearance setAppearance(appearance); } } --- NEW FILE: BooleanShape3D.java --- package org.freehep.j3d; import javax.media.j3d.Shape3D; import static org.freehep.j3d.BooleanOperation.*; import static org.freehep.j3d.Colors3D.*; // Java3D import javax.media.j3d.Shape3D; import javax.media.j3d.Geometry; import javax.media.j3d.GeometryArray; import javax.media.j3d.Appearance; import javax.media.j3d.Material; import javax.media.j3d.TransparencyAttributes; import javax.media.j3d.PolygonAttributes; import javax.media.j3d.PointAttributes; import javax.media.j3d.LineAttributes; import javax.media.j3d.ColoringAttributes; import javax.media.j3d.RenderingAttributes; import javax.media.j3d.TextureAttributes; import javax.vecmath.Point3d; import javax.vecmath.Point3f; import javax.vecmath.Color3f; import javax.vecmath.Vector3d; import javax.vecmath.Matrix3d; import com.sun.j3d.utils.geometry.GeometryInfo; // Java3DBool import br.danbalby.bool.BooleanModeller; // Java import java.lang.IllegalArgumentException; /** <code>BooleanShape3D</code> can be created from two other * {@link Shape3D}s. * <img src="doc-files/BooleanShape3D.gif"> * <p><font color="#880088"> * <pre> * $Log: BooleanShape3D.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.11 2005/01/11 11:45:27 hrivnac * BooleanShape3D checks for null shapes * * Revision 1.10 2005/01/10 11:46:31 hrivnac * Boolean operations can involve relative rotations and translations * * Revision 1.9 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.8 2004/04/08 13:16:07 hrivnac * Booleans example added * * Revision 1.7 2004/03/08 10:27:19 hrivnac * bool moved to br.danbalby.bool * * Revision 1.6 2004/03/04 09:30:17 hrivnac * - More correct class hierarchy * - Together doc. * * Revision 1.5 2004/03/03 14:10:04 hrivnac * AppearanceAttributes are properly passed in BooleanShape3D * * Revision 1.4 2004/03/03 13:20:54 hrivnac * more precise preconditions * * Revision 1.3 2004/03/03 09:46:38 hrivnac * Cone, PolyCone booleanable * * Revision 1.2 2004/03/02 11:43:38 hrivnac * some cleaning, doc improvement * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: BooleanShape3D.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class BooleanShape3D extends Shape3D { /** Create boolean {@link Shape3D}. If {@link Appearance}s are not present, default {@link Color3f}s * (blue, green) are used. {@link Appearance} of the first {@link Shape3D} is used for the result one. * @param shape1 The first {@link Shape3D}, should have just one {@link Geometry}. * @param shape2 The second {@link Shape3D}, should have just one {@link Geometry}. * @param operation The requested {@link BooleanOperation}. * @throws IllegalArgumentException if shapes with multiple Geometries are supplied. */ public BooleanShape3D(Shape3D shape1, Shape3D shape2, BooleanOperation operation) throws IllegalArgumentException { new BooleanShape3D(shape1, shape2, null, null, operation); } /** Create boolean {@link Shape3D}. If {@link Appearance}s are not present, default {@link Color3f}s * (blue, green) are used. {@link Appearance} of the first {@link Shape3D} is used for the result one. * The second {@link Shape3D} can be translated and rotation with respect to the first {@link Shape3D}. * @param shape1 The first {@link Shape3D}, should have just one {@link Geometry}. * @param shape2 The second {@link Shape3D}, should have just one {@link Geometry}. * @param rotation The rotation {@link Matrix3d} of the second {@link Shape3D}. * @param translation The translation {@link Vector3d} of the second {@link Shape3D}. * @param operation The requested {@link BooleanOperation}. * @throws IllegalArgumentException if null shapes or shapes with multiple Geometries are supplied. */ public BooleanShape3D(Shape3D shape1, Shape3D shape2, Matrix3d rotation, Vector3d translation, BooleanOperation operation) throws IllegalArgumentException { // Check preconditions if (shape1 == null || shape2 == null) { throw new IllegalArgumentException("Boolean operation with null shape (" + shape1 + ", " + shape2 + ") can't be done."); } if (shape1.numGeometries() != 1 || shape2.numGeometries() != 1) { throw new IllegalArgumentException("Boolean operation between multigeometrical shapes (" + shape1.numGeometries() + ", " + shape2.numGeometries() + ") can't be done."); } // Find input parameters for BooleanModeller, take Appearance Attributes from the first shape Geometry geometry1 = shape1.getGeometry(); GeometryArray array1 = null; if (geometry1 instanceof GeometryArray) { array1 = (GeometryArray)geometry1; } Color3f color1 = BLUE; Appearance appearance1 = shape1.getAppearance(); TransparencyAttributes transparency = null; PolygonAttributes polygon = null; PointAttributes point = null; LineAttributes line = null; ColoringAttributes coloring = null; RenderingAttributes rendering = null; TextureAttributes texture = null; if (appearance1 != null) { transparency = appearance1.getTransparencyAttributes(); polygon = appearance1.getPolygonAttributes(); point = appearance1.getPointAttributes(); line = appearance1.getLineAttributes(); coloring = appearance1.getColoringAttributes(); rendering = appearance1.getRenderingAttributes(); texture = appearance1.getTextureAttributes(); Material material1 = appearance1.getMaterial(); if (material1 != null) { color1 = new Color3f(); material1.getDiffuseColor(color1); } } Geometry geometry2 = shape2.getGeometry(); GeometryArray array2 = null; if (geometry2 instanceof GeometryArray) { array2 = (GeometryArray)geometry2; } Color3f color2 = BLUE; Appearance appearance2 = shape2.getAppearance(); if (appearance2 != null) { Material material2 = appearance2.getMaterial(); if (material2 != null) { color2 = new Color3f(); material2.getDiffuseColor(color2); } } // Set boolean geometry, incl. colors setGeometry(createGeometry(array1, array2, color1, color2, rotation, translation, operation)); // Set new Appearance, reusing Attributes from the first shape Appearance appearance = new Appearance(); appearance.setTransparencyAttributes(transparency); appearance.setPolygonAttributes( polygon); appearance.setPointAttributes( point); appearance.setLineAttributes( line); appearance.setColoringAttributes( coloring); appearance.setRenderingAttributes( rendering); appearance.setTextureAttributes( texture); setAppearance(appearance); } /** Create actual boolean {@link Geometry}. * @param array1 The {@link Geometry} of the first {@link Shape3D}. * @param array2 The {@link Geometry} of the second {@link Shape3D}. * @param color1 The {@link Color3f} to be used for the first {@link Shape3D}. * @param color2 The {@link Color3f} to be used for the second {@link Shape3D}. * @param rotation The rotation {@link Matrix3d} of the second {@link Shape3D}. * @param translation The translation {@link Vector3d} of the second {@link Shape3D}. * @param operation The requested {@link BooleanOperation}. * @return The result boolean {@link Geometry}. */ private Geometry createGeometry(GeometryArray array1, GeometryArray array2, Color3f color1, Color3f color2, Matrix3d rotation, Vector3d translation, BooleanOperation operation) { // Prepare all parameters as needed by BooleanModeller GeometryInfo info1 = new GeometryInfo(array1); GeometryInfo info2 = new GeometryInfo(array2); info1.convertToIndexedTriangles(); info2.convertToIndexedTriangles(); Point3f[] vertices1f = info1.getCoordinates(); Point3f[] vertices2f = info2.getCoordinates(); Point3d[] vertices1 = new Point3d[vertices1f.length]; Point3d[] vertices2 = new Point3d[vertices2f.length]; Color3f[] colors1 = new Color3f[array1.getVertexCount()]; Color3f[] colors2 = new Color3f[array2.getVertexCount()]; for (int i = 0; i < array1.getVertexCount(); i++) { vertices1[i] = new Point3d(vertices1f[i]); colors1[i] = color1; } for (int i = 0; i < array2.getVertexCount(); i++) { vertices2[i] = new Point3d(vertices2f[i]); colors2[i] = color2; } int[] indices1 = info1.getCoordinateIndices(); int[] indices2 = info2.getCoordinateIndices(); // Translate, rotate if (translation != null) { for (int i = 0; i < array2.getVertexCount(); i++) { vertices2[i].add(translation); } } if (rotation != null) { for (int i = 0; i < array2.getVertexCount(); i++) { rotation.transform(vertices2[i]); } } // Create BooleanModeler BooleanModeller modeller = new BooleanModeller(new br.danbalby.bool.Solid(vertices1, indices1, colors1), new br.danbalby.bool.Solid(vertices2, indices2, colors2)); // Find proper boolean operation, perform it Shape3D shape = null; switch (operation) { case Union: shape = modeller.getUnion(); break; case Intersection: shape = modeller.getIntersection(); break; case Difference: shape = modeller.getDifference(); break; default: shape = null; } // Return Geometry of resulting Shape3D return shape.getGeometry(); } } --- NEW FILE: Equalator.java --- package org.freehep.j3d; /** <code>Equalator</code> compares two real numbers (floats or doubles) * for equality within errors. * Following formula is used to check if two values are close within rounding * errors: * <pre><code> * (x == 0 && y == 0) || * (x > 0 && x >= y * (1 - epsilon) && x <= y * (1 + epsilon)) || * (x < 0 && x <= y * (1 - epsilon) && x >= y * (1 + epsilon)) * </code></pre> * <p><font color="#880088"> * <pre> * $Log: Equalator.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.3 2004/05/22 15:31:20 hrivnac * class id reformated * * </pre> * </font></p> * @version $Id: Equalator.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ // TBD: implement Comparable public class Equalator { /** Set float to border value if it is within rounding error of it. * @param x The float value. * @param border The border float value. * @return The border value if x is within rounding error of it. */ public static float correct(float x, float border) { if (equals(x, border)) return border; else return x; } /** Set double to border value if it is within rounding error of it. * @param x The double value. * @param border The border double value. * @return The border value if x is within rounding error of it. */ public static double correct(double x, double border) { if (equals(x, border)) return border; else return x; } /** Compare two floats, take into account rounding errors for equality decision. * @param x The first float. * @param y The first float. * @return 0, if equal within rounding errors; -1 if x < y; +1 if x > y */ public static int compare(float x, float y) { if (equals(x, y)) return 0; else return Float.compare(x, y); } /** Compare two doubles, take into account rounding errors for equality decision. * @param x The first double. * @param y The first double. * @return 0, if equal within rounding errors; -1 if x < y; +1 if x > y */ public static int compare(double x, double y) { if (equals(x, y)) return 0; else return Double.compare(x, y); } /** Compare two floats for equality within rounding errors. * @param x The first float. * @param y The first float. * @return true, if numbers are equal within rounding errors. */ public static boolean equals(float x, float y) { return ((x == 0 && y == 0) || (x > 0 && x >= y * (1 - _fEpsilon) && x <= y * (1 + _fEpsilon)) || (x < 0 && x <= y * (1 - _fEpsilon) && x >= y * (1 + _fEpsilon))); } /** Compare two doubles for equalitywithin rounding errors. * @param x The first double. * @param y The first double. * @return true, if numbers are equal within rounding errors. */ public static boolean equals(double x, double y) { return ((x == 0 && y == 0) || (x > 0 && x >= y * (1 - _dEpsilon) && x <= y * (1 + _dEpsilon)) || (x < 0 && x <= y * (1 - _dEpsilon) && x >= y * (1 + _dEpsilon))); } /** Set rounding error (toleration) for floats. * @param epsilon The toleration, the default is 0.01f. */ public static void setEpsilon(float epsilon) { _fEpsilon = epsilon; } /** Set rounding error (toleration) for doubles. * @param epsilon The toleration, the default is 0.00001. */ public static void setEpsilon(double epsilon) { _dEpsilon = epsilon; } private static float FEPSILON = 0.01f; private static double DEPSILON = 0.00001; private static float _fEpsilon = FEPSILON; private static double _dEpsilon = DEPSILON; } --- NEW FILE: Colors3D.java --- package org.freehep.j3d; // Java3D import javax.vecmath.Color3f; /** <code>Colors3D</code> just contains set of frequently-used * {@link Color3f}s. * <p><font color="#880088"> * <pre> * $Log: Colors3D.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.2 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.1 2004/03/04 15:43:44 hrivnac * introdiction of Colors3D * * </pre> * </font></p> * @version $Id: Colors3D.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Colors3D { public static final Color3f WHITE = new Color3f(1f, 1f, 1f); public static final Color3f BLACK = new Color3f(0f, 0f, 0f); public static final Color3f BRIGHT = new Color3f(1f, 1f, 1f); public static final Color3f DARK = new Color3f(0f, 0f, 0f); public static final Color3f RED = new Color3f(1f, 0f, 0f); public static final Color3f GREEN = new Color3f(0f, 1f, 0f); public static final Color3f BLUE = new Color3f(0f, 0f, 1f); } --- NEW FILE: SphereSegment.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Appearance; import javax.vecmath.Point3d; // Java import java.lang.IllegalArgumentException; import static java.lang.Math.PI; import static java.lang.Math.sin; import static java.lang.Math.cos; /** General Sphere Segment. All angles are in radians. * <img src="doc-files/SphereSegment.gif"> * <p><font color="#880088"> * <pre> * $Log: SphereSegment.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.13 2004/11/09 15:35:33 hrivnac * allow postponed construction of solids * * Revision 1.12 2004/11/08 21:54:53 hrivnac * fix * * Revision 1.11 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.10 2004/03/22 20:11:16 hrivnac * preconditions tuning * * Revision 1.9 2004/03/22 10:54:28 hrivnac * checking floating point border conditions * * Revision 1.8 2004/03/19 14:42:35 hrivnac * FreeHEP Solids uses Radians now * * Revision 1.7 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.6 2004/03/17 15:20:56 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.5 2004/03/17 15:02:16 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.4 2004/03/04 23:13:53 hrivnac * all boolean operations work, PartialPolyGoneSegment removed * * Revision 1.3 2004/03/03 13:20:54 hrivnac * more precise preconditions * * Revision 1.2 2004/03/03 11:50:58 hrivnac * all primitives refactored * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: SphereSegment.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class SphereSegment extends Solid { // Constructors -------------------------------------------------------------- /** Initialise general sphere segment to be constructed later. */ protected SphereSegment() {} /** Create general sphere segment. * @param rmin The inner radius. * @param rmax The outer radius, rmax > rmin). * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi, phimax > phimin. * @param thetamin The starting polar angle [rad], -pi/2-pi/2. * @param thetamax The ending polar angle [rad], -pi/2-pi/2, thetamax > thetamin. * @param granularity The number of segments of curves approximations, granulariy > 2). * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public SphereSegment(double rmin, double rmax, double phimin, double phimax, double thetamin, double thetamax, int granularity, Appearance appearance) throws IllegalArgumentException { construct(rmin, rmax, phimin, phimax, thetamin, thetamax, granularity, appearance); } /** Create full sphere. * @param r The radius. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public SphereSegment(double r, int granularity, Appearance appearance) throws IllegalArgumentException { construct(0, r, 0, 2*PI, -PI/2.0, PI/2.0, granularity, appearance); } // --------------------------------------------------------------------------- /** Perform the construction. * @param rmin The inner radius. * @param rmax The outer radius, rmax > rmin. * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi, phimax > phimin. * @param thetamin The starting polar angle [rad], -pi/2-pi/2. * @param thetamax The ending polar angle [rad], -pi/2-pi/2, thetamax > thetamin. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(double rmin, double rmax, double phimin, double phimax, double thetamin, double thetamax, int granularity, Appearance appearance) throws IllegalArgumentException { // Correct possible border conditions rounding errors phimin = Equalator.correct(phimin, 2*PI); phimax = Equalator.correct(phimax, 2*PI); thetamin = Equalator.correct(thetamin, PI/2.0); thetamax = Equalator.correct(thetamax, PI/2.0); thetamin = Equalator.correct(thetamin, -PI/2.0); thetamax = Equalator.correct(thetamax, -PI/2.0); // Check preconditins if (! (rmax > rmin && phimin <= 2*PI && phimin >= 0 && phimax <= 2*PI && phimax >= 0 && thetamin <= PI/2.0 && thetamin >= -PI/2.0 && thetamax <= PI/2.0 && thetamax >= -PI/2.0 && phimax > phimin && thetamax > thetamin)) { System.err.println("SphereSegment: (rmin, rmax, phimin, phimax, thetamin, thetamax) = (" + rmin + ", " + rmax + ", " + phimin + ", " + phimax + ", " + thetamin + ", " + thetamax + ")" + " are illegal, they should satisfy following conditions:" + " rminm < rmaxm, 0 <= phimin < phimax <= 2*pi, -pi/2 <= thetamin < thetamax <= pi/2"); } if (! (granularity > 2)) { throw new IllegalArgumentException("granularity = " + granularity + " is illegal, it should be > 2."); } // Prepare Points Point3d[][] pmin = new Point3d[granularity + 1][granularity + 1]; Point3d[][] pmax = new Point3d[granularity + 1][granularity + 1]; // Fill Points double phi = phimin; double theta; for (int i = 0; i < granularity + 1; i++) { theta = thetamin; for (int j = 0; j < granularity + 1; j++) { pmin[i][j] = new Point3d(rmin * cos(theta) * cos(phi), rmin * cos(theta) * sin(phi), rmin * sin(theta)); pmax[i][j] = new Point3d(rmax * cos(theta) * cos(phi), rmax * cos(theta) * sin(phi), rmax * sin(theta)); theta += (thetamax - thetamin) / granularity; } phi += (phimax - phimin) / granularity; } // Prepare Quad array Point3d[] coordinates0 = new Point3d[granularity * granularity * 8 + granularity * 16]; // Loop over z and phi, construct int k = 0; // Circular for (int i = 0; i < granularity; i++) { for (int j = 0; j < granularity; j++) { // Out coordinates0[k ] = new Point3d(pmax[i ][j ]); coordinates0[k + 1] = new Point3d(pmax[i + 1][j ]); coordinates0[k + 2] = new Point3d(pmax[i + 1][j + 1]); coordinates0[k + 3] = new Point3d(pmax[i ][j + 1]); k += 4; // In if (rmin > 0) { coordinates0[k + 3] = new Point3d(pmin[i ][j ]); coordinates0[k + 2] = new Point3d(pmin[i + 1][j ]); coordinates0[k + 1] = new Point3d(pmin[i + 1][j + 1]); coordinates0[k ] = new Point3d(pmin[i ][j + 1]); k += 4; } } } // Linear for (int i = 0; i < granularity; i++) { // Top if (thetamax < PI/2.0) { coordinates0[k + 3] = new Point3d(pmax[i ][0]); coordinates0[k + 2] = new Point3d(pmax[i + 1][0]); coordinates0[k + 1] = new Point3d(pmin[i + 1][0]); coordinates0[k ] = new Point3d(pmin[i ][0]); k += 4; } // Bottom if (thetamin > -PI/2.0) { coordinates0[k ] = new Point3d(pmax[i ][granularity]); coordinates0[k + 1] = new Point3d(pmax[i + 1][granularity]); coordinates0[k + 2] = new Point3d(pmin[i + 1][granularity]); coordinates0[k + 3] = new Point3d(pmin[i ][granularity]); k += 4; } if (phimin > 0 || phimax < 2*PI) { // Left coordinates0[k ] = new Point3d(pmax[0][i ]); coordinates0[k + 1] = new Point3d(pmax[0][i + 1]); coordinates0[k + 2] = new Point3d(pmin[0][i + 1]); coordinates0[k + 3] = new Point3d(pmin[0][i ]); k += 4; // Right coordinates0[k + 3] = new Point3d(pmax[granularity][i ]); coordinates0[k + 2] = new Point3d(pmax[granularity][i + 1]); coordinates0[k + 1] = new Point3d(pmin[granularity][i + 1]); coordinates0[k ] = new Point3d(pmin[granularity][i ]); k += 4; } } // Create and fill Quad array Point3d[] coordinates = new Point3d[k]; for (int i = 0; i < k; i++) { coordinates[i] = coordinates0[i]; } addCoordinates(coordinates); // Add Appearance setAppearance(appearance); } } --- NEW FILE: Solid.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Shape3D; import javax.vecmath.Point3d; import com.sun.j3d.utils.geometry.GeometryInfo; import com.sun.j3d.utils.geometry.NormalGenerator; /** General Solid. * <p><font color="#880088"> * <pre> * $Log: Solid.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/04 23:13:53 hrivnac * all boolean operations work, PartialPolyGoneSegment removed * * Revision 1.2 2004/03/02 11:43:38 hrivnac * some cleaning, doc improvement * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: Solid.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public abstract class Solid extends Shape3D { /** Adds geometry from <code>{@link GeometryInfo}.QUAD_ARRAY * coordinates. * @param coordinates The quadratic array descrfibing geometry. */ protected void addCoordinates(Point3d[] coordinates) { GeometryInfo geometryInfo = new GeometryInfo(GeometryInfo.QUAD_ARRAY); geometryInfo.setCoordinates(coordinates); _normalGenerator.generateNormals(geometryInfo); if (_first) { setGeometry(geometryInfo.getGeometryArray()); _first = false; } else { addGeometry(geometryInfo.getGeometryArray()); } } private boolean _first = true; private static NormalGenerator _normalGenerator = new NormalGenerator(); } --- NEW FILE: PolyConeSegment.java --- package org.freehep.j3d; // Java3D import javax.media.j3d.Appearance; import javax.vecmath.Point3d; // Java import java.util.ArrayList; import java.lang.IllegalArgumentException; import static java.lang.Math.PI; /** <code>PolyConeSegment</code> * uses several <code>ConeSegment</code>s to get all <code>Shape3D</code>. * All angles are in radians, all dimensions are full dimensions (not * half dimensions). * <img src="doc-files/PolyConeSegment.gif"> * @see ConeSegment * <p><font color="#880088"> * <pre> * $Log: PolyConeSegment.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.15 2005/01/21 13:40:51 hrivnac * new preconditions * * Revision 1.14 2004/11/09 15:44:39 hrivnac * fix * * Revision 1.13 2004/11/09 15:35:33 hrivnac * allow postponed construction of solids * * Revision 1.12 2004/11/09 15:20:32 hrivnac * new G4 solids * * Revision 1.11 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.10 2004/03/22 20:11:16 hrivnac * preconditions tuning * * Revision 1.9 2004/03/22 10:54:28 hrivnac * checking floating point border conditions * * Revision 1.8 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.7 2004/03/17 15:20:56 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.6 2004/03/17 15:02:16 hrivnac * preconditions give an error message instead of Exception, if possible * * Revision 1.5 2004/03/04 15:43:44 hrivnac * introdiction of Colors3D * * Revision 1.4 2004/03/03 13:20:54 hrivnac * more precise preconditions * * Revision 1.3 2004/03/03 11:50:58 hrivnac * all primitives refactored * * Revision 1.2 2004/03/03 09:46:38 hrivnac * Cone, PolyCone booleanable * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: PolyConeSegment.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class PolyConeSegment extends Solid { // Constructors -------------------------------------------------------------- /** Initialise general polycone segment to be constructed later. */ protected PolyConeSegment() {} /** Create general polycone segment. * @param rmins The array of radiuses of inner surface, rmins.length >= zs.length. * @param rmaxs The array of radiuses of outer surface, rmaxs.length >= zs.length, rmaxs.length == rmins.length, rmaxs[i] > rmins[i]. * @param zs The array of possitions of z-planes, zs.length > 0, zs[i] < zs[i+1]. * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi, phimax > phimin. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public PolyConeSegment(double[] rmins, double[] rmaxs, double[] zs, double phimin, double phimax, int granularity, Appearance appearance) throws IllegalArgumentException { construct(rmins, rmaxs, zs, phimin, phimax, granularity, appearance); } // --------------------------------------------------------------------------- /** Perform the construction. * @param rmins The array of radiuses of inner surface, rmins.length >= zs.length. * @param rmaxs The array of radiuses of outer surface, rmaxs.length >= zs.length, rmaxs.length == rmins.length, rmaxs[i] > rmins[i]. * @param zs The array of possitions of z-planes, zs.length > 0, zs[i] < zs[i+1].. * @param phimin The starting azimutal angle [rad], 0-2*pi. * @param phimax The ending azimutal angle [rad], 0-2*pi, phimax > phimin. * @param granularity The number of segments of curves approximations, granulariy > 2. * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ protected void construct(double[] rmins, double[] rmaxs, double[] zs, double phimin, double phimax, int granularity, Appearance appearance) throws IllegalArgumentException { // Correct possible border conditions rounding errors phimin = Equalator.correct(phimin, 2*PI); phimax = Equalator.correct(phimax, 2*PI); // Check preconditins if (! (phimin <= 2*PI && phimin >= 0 && phimax <= 2*PI && phimax >= 0 && phimax > phimin)) { System.err.println("(phimin, phimax) = (" + phimin + ", " + phimax + ")" + " are illegal, they should satisfy following conditions:" + " 0 <= phimin < phimax <= 2*pi"); } if (! (rmins.length >= zs.length && rmaxs.length >= zs.length && rmaxs.length == rmins.length && zs.length > 0)) { System.err.println("PolyConeSegment: (rmins.length, rmaxs.length, zs.length) = (" + rmins.length + ", " + rmaxs.length + ", " + zs.length + ")" + " are illegal, they should satisfy following conditions:" + " 0 < zs.length <= rmins.length == rmaxs.length."); } for (int i = 0; i < rmaxs.length; i++) { if (! (rmaxs[i] > rmins[i])) { System.err.println("PolyConeSegment: (rmins[i], rmaxs[i]) = (" + rmins[i] + "[" + i + "], " + rmaxs[i] + "[" + i + "])" + " are illegal, they should satisfy following conditions:" + " rmins[i] < rmaxs[i]."); } } if (! (granularity > 2)) { throw new IllegalArgumentException("granularity = " + granularity + " is illegal, it should be > 2."); } for (int i = 0; i < zs.length - 1; i++) { if (zs[i] > zs[i+1]) { System.out.println("PolyConeSegment: (zs[i], zs[i+1]) = (" + zs[i] + "[" + i + "], " + zs[i+1] + "[" + (i+1) + "])" + " are illegal, they should satisfy following conditions:" + " zs[i] < zs[i+1]."); } } // Create partial Cons, accumulate their geometries, add Geometry ConeSegment oneCons; for (int i = 0; i < zs.length - 1; i++) { oneCons = new ConeSegment(rmins[i ], rmins[i + 1], rmaxs[i ], rmaxs[i + 1], zs [i + 1] - zs[i], phimin, phimax, granularity, appearance); offset(oneCons.inCoordinates(), (zs[i] + zs[i + 1]) / 2); offset(oneCons.outCoordinates(), (zs[i] + zs[i + 1]) / 2); if (phimin > 0 || phimax < 2*PI) { offset(oneCons.leftCoordinates(), (zs[i] + zs[i + 1]) / 2); offset(oneCons.rightCoordinates(), (zs[i] + zs[i + 1]) / 2); } if (i == zs.length - 2) { offset(oneCons.topCoordinates(), (zs[i] + zs[i + 1]) / 2); } if (i == 0) { offset(oneCons.bottomCoordinates(), (zs[i] + zs[i + 1]) / 2); } } Point3d[] coordinates = new Point3d[_coordinatesList.size()]; addCoordinates(_coordinatesList.toArray(coordinates)); // Add Appearance setAppearance(appearance); } /** Offset z of an coordinates array. * @param coordinates The array of original coordinates. * @param z The value to be added to z-coordinate. */ private void offset(Point3d[] coordinates, double z) { for (int i = 0; i < coordinates.length; i++) { coordinates[i].z = coordinates[i].z + z; _coordinatesList.add(coordinates[i]); } } private ArrayList<Point3d> _coordinatesList = new ArrayList<Point3d>(); } --- NEW FILE: package.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> <title>FreeHEP J3D</title> </head> <body> General Java3D extensions (solids and utilities). <br> <img src="doc-files/j3d.gif"> @status Stable. <hr> <address> <a href="http://home.cern.ch/~hrivnac/">J.Hrivnac</a>, Mar'04</address> </body> </html> --- NEW FILE: overview.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> <title>FreeHEP J3D and HEP3D</title> </head> <body> Java3D extensions. <hr> <address> <a href="http://home.cern.ch/~hrivnac/">J.Hrivnac</a>, Mar'04</address> </body> </html> --- NEW FILE: BooleanOperation.java --- package org.freehep.j3d; /** <code>BooleanOperation</code> enumerates available boolean operation * in {@link BooleanShape3D}. * <p><font color="#880088"> * <pre> * $Log: BooleanOperation.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/05/18 15:33:30 hrivnac * compatible with Java 1.5.0-beta2 * * Revision 1.2 2004/03/02 11:43:37 hrivnac * some cleaning, doc improvement * * </pre> * </font></p> * @version $Id: BooleanOperation.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public enum BooleanOperation { Union, Intersection, Difference; } --- NEW FILE: OutlinedShape3DFactory.java --- package org.freehep.j3d; import static org.freehep.j3d.Colors3D.*; // Java3D import javax.media.j3d.Appearance; import javax.media.j3d.Material; import javax.media.j3d.PolygonAttributes; import javax.media.j3d.Shape3D; import javax.vecmath.Color3f; /** <code>OutlinedShape3DFactory</code> is factory for creating wireframe * {@link Shape3D} from normal {@link Shape3D}. * <p><font color="#880088"> * <pre> * $Log: OutlinedShape3DFactory.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/04/09 13:10:27 hrivnac * Outline safer * * Revision 1.2 2004/03/04 15:43:44 hrivnac * introdiction of Colors3D * * Revision 1.1 2004/03/04 09:30:17 hrivnac * - More correct class hierarchy * - Together doc. * * Revision 1.2 2004/03/02 11:43:38 hrivnac * some cleaning, doc improvement * * Revision 1.1 2004/03/02 00:18:17 hrivnac * initial * * </pre> * </font></p> * @version $Id: OutlinedShape3DFactory.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class OutlinedShape3DFactory { /** Create wireframe {@link Shape3D} clone. * @param shape The {@link Shape3D} to be oulined. * @param color The requested color of wireframe, * if null, {@link #_outlineColor} is taken, * if also that is null, null is returned. * There are special values defined: * <ul> * <li><code>BLACK</code> * <li><code>WHITE</code> * <li><code>DARK</code> - darker version of the <code>shape</code>'s color * <li><code>BRIGHT</code> - brighter version of the <code>shape</code>'s color * </ul> * @return The outlined Shape3D. */ public static Shape3D create(Shape3D shape, Color3f color) { // Do nothing if color is null if (color == null) { if (_outlineColor != null) { color = _outlineColor; } else { return null; } } // Create new Shape3D as a clone Shape3D oShape = (Shape3D)(shape.cloneNode(false)); // Reuse existing Appearance if it exists Appearance appearance = shape.getAppearance(); if (appearance != null) { appearance = (Appearance)(appearance.cloneNodeComponent(false)); } else { appearance = new Appearance(); } appearance.setPolygonAttributes(new PolygonAttributes(PolygonAttributes.POLYGON_LINE, PolygonAttributes.CULL_NONE, -1, false)); // Setup special colors, if requested if (color == BRIGHT) { oShape.getAppearance().getMaterial().getDiffuseColor(color); color.x = color.x * 1.5f; color.y = color.y * 1.5f; color.z = color.z * 1.5f; } else if (color == DARK) { oShape.getAppearance().getMaterial().getDiffuseColor(color); color.x = color.x / 3; color.y = color.y / 3; color.z = color.z / 3; } // Set outline of oShape, return oShape appearance.setMaterial(new Material(color, color, color, color, 1.0f)); oShape.setAppearance(appearance); return oShape; } /** Set Color for wireframe. * @param o... [truncated message content] |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/hep/graphics/j3d/doc-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/hep/graphics/j3d/doc-files Added Files: Helix.gif j3d.gif Log Message: HEP3D introduction --- NEW FILE: j3d.gif --- --- NEW FILE: Helix.gif --- (This appears to be a binary file; contents omitted.) |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/hep/graphics/j3d/geant4 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/hep/graphics/j3d/geant4 Added Files: G4Box.java G4Cons.java G4EllipticalTube.java G4Hype.java G4Orb.java G4Para.java G4Polycone.java G4Polyhedra.java G4Sphere.java G4Torus.java G4Trap.java G4Trd.java G4Tubs.java Test.java package.html Log Message: HEP3D introduction --- NEW FILE: G4Para.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.Trapezoid; // Java3D import javax.media.j3d.Appearance; // Java import static java.lang.Math.PI; import static java.lang.Math.sin; import static java.lang.Math.cos; import static java.lang.Math.tan; import static java.lang.Math.atan; /** Geant4 solid <code>G4Para</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Para.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Para definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Para.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Para.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Para extends Trapezoid { public G4Para(String pName, double pDx, double pDy, double pDz, double pAlpha, double pTheta, double pPhi) { super(pDx * 2, pDx * 2, pDx * 2, pDx * 2, pDy * 2, pDy * 2, pDz * 2, atan(tan(pTheta) * cos(pPhi)), atan(tan(pTheta) * sin(pPhi)), pAlpha, pAlpha, new Appearance()); } } --- NEW FILE: G4Tubs.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.ConeSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Tubs</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Tubs.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Tubs definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Tubs.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Tubs.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Tubs extends ConeSegment { public G4Tubs(String pName, double pRMin, double pRMax, double pDz, double pSPhi, double pDPhi) { super(pRMin, pRMax, pDz * 2, pSPhi, pSPhi + pDPhi, 20, new Appearance()); } } --- NEW FILE: G4EllipticalTube.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.ConeSegment; // Java import static java.lang.Math.PI; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4EllipticalTube</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4EllipticalTube.hh&FileDir=geometry/solids/specific/include">Geant4 G4EllipticalTube definition</a> * <p><font color="#880088"> * <pre> * $Log: G4EllipticalTube.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.2 2004/11/09 15:25:50 hrivnac * fix * * Revision 1.1 2004/11/09 15:20:32 hrivnac * new G4 solids * * </pre> * </font></p> * @version $Id: G4EllipticalTube.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4EllipticalTube extends ConeSegment { public G4EllipticalTube(String name, double Dx, double Dy, double Dz) { super(0, 0, 0, 0, Dx, Dy, Dx, Dy, 2*Dz, 0, 2*PI, 20, new Appearance()); } } --- NEW FILE: G4Trd.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.Trapezoid; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Trd</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Trd.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Trd definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Trd.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/04/23 07:49:18 hrivnac * Trd,Para for G4 have x <-> -x * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Trd.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Trd extends Trapezoid { public G4Trd(String Name, double dx1, double dx2, double dy1, double dy2, double dz) { super(dx2 * 2, dx1 * 2, dy1 * 2, dy2 * 2, dz * 2, new Appearance()); } } --- NEW FILE: G4Hype.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.PolyConeSegment; // Java import static java.lang.Math.PI; import static java.lang.Math.tan; import static java.lang.Math.sqrt; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Hype</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Hype.hh&FileDir=geometry/solids/specific/include">Geant4 G4Hype definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Hype.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.2 2004/11/09 15:25:50 hrivnac * fix * * Revision 1.1 2004/11/09 15:20:32 hrivnac * new G4 solids * * </pre> * </font></p> * @version $Id: G4Hype.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Hype extends PolyConeSegment { public G4Hype(String pName, double innerRadius, double outerRadius, double innerStereo, double outerStereo, double halfLenZ) { float tmin = (float)tan(innerStereo); float tmax = (float)tan(outerStereo); int dim = 20; double[] rmins = new double[dim + 1]; double[] rmaxs = new double[dim + 1]; double[] zs = new double[dim + 1]; for (int i = 0; i < dim + 1; i++) { zs[ i] = 2 * halfLenZ * ( (float)i / (float)dim - 0.5); rmins[i] = sqrt(zs[i] * zs[i] * tmin * tmin + innerRadius * innerRadius); rmaxs[i] = sqrt(zs[i] * zs[i] * tmax * tmax + outerRadius * outerRadius); } construct(rmins, rmaxs, zs, 0, 2*PI, dim, new Appearance()); } } --- NEW FILE: G4Cons.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.ConeSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Cons</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Cons.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Cons definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Cons.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Cons.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Cons extends ConeSegment { public G4Cons(String pName, double pRmin1, double pRmin2, double pRmax1, double pRmax2, double pDz, double pSPhi, double pDPhi) { super(pRmin1, pRmin2, pRmax1, pRmax2, pDz * 2, pSPhi, pSPhi + pDPhi, 20, new Appearance()); } } --- NEW FILE: G4Polyhedra.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.PolyGoneSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Polyhedra</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Polyhedra.hh&FileDir=geometry/solids/specific/include">Geant4 G4Polyhedra definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Polyhedra.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Polyhedra.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Polyhedra extends PolyGoneSegment { public G4Polyhedra(String name, double phiStart, double phiTotal, int numSides, int numZPlanes, double[] zPlane , double[] rInner, double[] rOuter) { super(rInner, rOuter, zPlane, phiStart, phiStart + phiTotal, numSides, new Appearance()); } } --- NEW FILE: package.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> <title>FreeHEP HEP3D for Geant4</title> </head> <body> HEP Java3D extensions (solids and utilities) for Geant4. <br> <img src="doc-files/geant4.gif"> @status Stable. <hr> <address> <a href="http://home.cern.ch/~hrivnac/">J.Hrivnac</a>, Mar'04</address> </body> </html> --- NEW FILE: G4Torus.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.TorusSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Torus</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Torus.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Torus definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Torus.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Torus.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Torus extends TorusSegment { public G4Torus(String pName, double pRmin, double pRmax, double pRtor, double pSPhi, double pDPhi) { super(pRmin, pRmax, pRtor, pSPhi, pSPhi + pDPhi, 20, new Appearance()); } } --- NEW FILE: G4Orb.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.SphereSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Orb</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Orb.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Orb definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Orb.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.2 2004/11/09 15:25:50 hrivnac * fix * * Revision 1.1 2004/11/09 15:20:32 hrivnac * new G4 solids * * </pre> * </font></p> * @version $Id: G4Orb.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Orb extends SphereSegment { public G4Orb(String pName, double pRmax) { super(pRmax, 20, new Appearance()); } } --- NEW FILE: G4Polycone.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.PolyConeSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Polycone</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Polycone.hh&FileDir=geometry/solids/specific/include">Geant4 G4Polycone definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Polycone.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Polycone.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Polycone extends PolyConeSegment { public G4Polycone(String name, double phiStart, double phiTotal, int numZPlanes, double[] zPlane , double[] rInner, double[] rOuter) { super(rInner, rOuter, zPlane, phiStart, phiStart + phiTotal, 20, new Appearance()); } } --- NEW FILE: G4Box.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.Trapezoid; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Box</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Box.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Box definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Box.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.3 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Box.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Box extends Trapezoid { public G4Box(String pName, double pX, double pY, double pZ) { super(pX * 2, pY * 2, pZ * 2, new Appearance()); } } --- NEW FILE: G4Trap.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.Trapezoid; // Java3D import javax.media.j3d.Appearance; // Java import static java.lang.Math.sin; import static java.lang.Math.cos; import static java.lang.Math.tan; import static java.lang.Math.atan; /** Geant4 solid <code>G4Trap</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Trap.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Trap definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Trap.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.5 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.4 2004/04/23 07:49:18 hrivnac * Trd,Para for G4 have x <-> -x * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Trap.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Trap extends Trapezoid { /** Constructor doesn't check for arguments consistency, * it's resposability of a user to provide correct parameters. */ public G4Trap(String name, double pDz, double pTheta, double pPhi, double pDy1, double pDx1, double pDx2, double pAlp1, double pDy2, double pDx3, double pDx4, double pAlp2) { super(pDx2 * 2, pDx1 * 2, pDx4 * 2, pDx3 * 2, pDy1 * 2, pDy2 * 2, pDz * 2, atan(tan(pTheta) * cos(pPhi)), atan(tan(pTheta) * sin(pPhi)), pAlp1, pAlp2, new Appearance()); } } --- NEW FILE: Test.java --- package hep.graphics.j3d.geant4; // AWT import java.applet.Applet; import java.awt.BorderLayout; import java.awt.GraphicsConfiguration; // Java3D import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.SimpleUniverse; import javax.media.j3d.Canvas3D; import javax.media.j3d.Shape3D; import javax.media.j3d.Appearance; import javax.media.j3d.BranchGroup; import javax.media.j3d.TransformGroup; import javax.media.j3d.Transform3D; import javax.media.j3d.BoundingSphere; import javax.media.j3d.Alpha; import javax.media.j3d.RotationInterpolator; import javax.vecmath.Point3d; import javax.vecmath.Color3f; /** Test for <code>hep.graphics.j3d.geant4</code> shapes. * <p><font color="#880088"> * <pre> * $Log: Test.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.7 2004/11/09 15:20:32 hrivnac * new G4 solids * * Revision 1.6 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.5 2004/04/01 16:01:08 hrivnac * FindBugs enabled and used * * Revision 1.4 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.3 2004/03/04 09:30:11 hrivnac * - More correct class hierarchy * - Together doc. * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: Test.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Test extends hep.graphics.j3d.Test { /** Create requested test shape. * @param name The required test shape name. * @return The requested test {@link Shape3D}, null if <code>name</code> is unknown. */ protected Shape3D testShape(String name) { if (name.equals("G4Box")) { return(new G4Box("G4Box", 0.1, // pX 0.2, // pY 0.3)); // pZ } else if (name.equals("G4Para")) { return(new G4Para("G4Para", 0.1, // pDx 0.2, // pDy 0.3, // pDz 0.5, // pAlpha 0.5, // pTheta 0.5)); // pPhi } else if (name.equals("G4Trap")) { return(new G4Trap("G4Trap", 0.5, // pDz 0.5, // pTheta 0.5, // pPhi 0.2, // pDy1 0.1, // pDx1 0.1, // pDx2 0.5, // pAlp1 0.3, // pDy2 0.2, // pDx3 0.2, // pDx4 0.3)); // pAlp2 } else if (name.equals("G4Trd")) { return(new G4Trd("G4Trd", 0.1, // dx1 0.3, // dx2 0.2, // dy1 0.4, // dy2 0.6)); // dz } else if (name.equals("G4Cons")) { return(new G4Cons("G4Cons", 0.1, // pRmin1 0.2, // pRmin2 0.3, // pRmax1 0.4, // pRmax2 0.3, // pDz 0.4, // pSPhi 1.2)); // pDPhi } else if (name.equals("G4Tubs")) { return(new G4Tubs("G4Tubs", 0.1, // pRMin 0.3, // pRMax 0.3, // pDz 0.4, // pSPhi 1.2)); // pDPhi } else if (name.equals("G4Sphere")) { return(new G4Sphere("G4Sphere", 0.4, // rmin 0.8, // rmax 0, // phimin 2.0, // phimax -0.4, // thetamin 1.3)); // thetamax } else if (name.equals("G4Orb")) { return(new G4Orb("G4Orb", 0.8)); // pRmax } else if (name.equals("G4Hype")) { return(new G4Hype("G4Hype", 0.1, // innerRadius 0.3, // outerRadius 0.3, // innerStereo 0.6, // outerStereo 0.6)); // halfLenZ } else if (name.equals("G4EllipticalTube")) { return(new G4EllipticalTube("G4EllipticalTube", 0.4, // Dx 0.6, // Dy 0.6)); // Dz } else if (name.equals("G4Polycone")) { double[] rmins = {0.1, 0.2, 0.4}; double[] rmaxs = {0.5, 0.6, 0.8}; double[] zs = {-0.5, 0.0, 0.5}; return(new G4Polycone("G4Polycone", 0.2, // phiStart 1.2, // phiTotal 3, // numZPlanes zs, // zPlane rmins, // rInner rmaxs)); // rOuter } else if (name.equals("G4Polyhedra")) { double[] rmins = {0.1, 0.2, 0.4}; double[] rmaxs = {0.5, 0.6, 0.8}; double[] zs = {-0.5, 0.0, 0.5}; return(new G4Polyhedra("G4Polyhedra", 0.2, // phiStart 2.1, // phiTotal 10, // numSides 3, // numZPlanes zs, // zPlane rmins, // rInner rmaxs)); // rOuter } else if (name.equals("G4Torus")) { return(new G4Torus("G4Torus", 0.1, // pRmin 0.3, // pRmax 0.5, // pRtor 0.2, // pSPhi 1.5)); // pDPhi } else { System.err.println(_help); return(null); } } /** Setup graphics environment and ask for a SceneGraph. * @param arg The required test shape. */ public Test(String arg) { super(arg); } /** Check arguments and start processing. Write out usage if arguments are not correct. * @param args <ol> * <li>The required test shape.</li> * </ol> */ public static void main(String[] args) { if (args.length != 1) { System.err.println(Test._help); System.exit(1); } else { new MainFrame(new Test(args[0]), 512, 512); } } protected static final String _help = "java org.freehep.j3d.Test G4[Box |\n" + " Trd |\n" + " Trap |\n" + " Para |\n" + " Cons |\n" + " Tubs |\n" + " Orb |\n" + " Hype |\n" + " EllipticalTube |\n" + " Polycone |\n" + " Polyhedra |\n" + " Sphere |\n" + " Torus ]"; } --- NEW FILE: G4Sphere.java --- package hep.graphics.j3d.geant4; // FreeHEP import org.freehep.j3d.SphereSegment; // Java3D import javax.media.j3d.Appearance; /** Geant4 solid <code>G4Sphere</code>. * Constructor corresponds exactly to Geant4 constructor. * @see <a href="http://pcitapiww.cern.ch/asdcgi/geant4/SRM/G4GenDoc.exe.pl?flag=2&FileName=G4Sphere.hh&FileDir=geometry/solids/CSG/include">Geant4 G4Sphere definition</a> * <p><font color="#880088"> * <pre> * $Log: G4Sphere.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.4 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.3 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.2 2004/03/03 20:54:13 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: G4Sphere.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class G4Sphere extends SphereSegment { public G4Sphere(String pName, double pRmin, double pRmax, double pSPhi, double pDPhi, double pSTheta, double pDTheta) { super(pRmin, pRmax, pSPhi, pSPhi + pDPhi, pSTheta, pSTheta + pDTheta, 20, new Appearance()); } } |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/hep/graphics/j3d In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/hep/graphics/j3d Added Files: Helix.java Test.java package.html Log Message: HEP3D introduction --- NEW FILE: package.html --- <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="GENERATOR" content="Mozilla/4.72 [en] (X11; I; Linux 2.2.12-20 i686) [Netscape]"> <title>FreeHEP HEP3D</title> </head> <body> HEP Java3D extensions (solids and utilities). <br> <img src="doc-files/j3d.gif"> @status Stable. <hr> <address> <a href="http://home.cern.ch/~hrivnac/">J.Hrivnac</a>, Mar'04</address> </body> </html> --- NEW FILE: Test.java --- package hep.graphics.j3d; // AWT import java.applet.Applet; import java.awt.BorderLayout; import java.awt.GraphicsConfiguration; // Java3D import com.sun.j3d.utils.applet.MainFrame; import com.sun.j3d.utils.universe.SimpleUniverse; import javax.media.j3d.Canvas3D; import javax.media.j3d.Shape3D; import javax.media.j3d.Appearance; import javax.media.j3d.BranchGroup; import javax.media.j3d.TransformGroup; import javax.media.j3d.Transform3D; import javax.media.j3d.BoundingSphere; import javax.media.j3d.Alpha; import javax.media.j3d.RotationInterpolator; import javax.vecmath.Point3d; import javax.vecmath.Color3f; /** Test for <code>hep.graphics.j3d</code> shapes. * <p><font color="#880088"> * <pre> * $Log: Test.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.6 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.5 2004/04/01 16:01:08 hrivnac * FindBugs enabled and used * * Revision 1.4 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.3 2004/03/04 09:30:06 hrivnac * - More correct class hierarchy * - Together doc. * * Revision 1.2 2004/03/03 20:54:11 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: Test.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Test extends org.freehep.j3d.Test { /** Create requested test shape. * @param name The required test shape name. * @return The requested test {@link Shape3D}, null if <code>name</code> is unknown. */ protected Shape3D testShape(String name) { if (name.equals("Helix")) { return(new Helix(1, // charge 1, // eta 0.5, // phi 0.2, // pt 0.3, // v_phi 0.1, // v_rho 0.1, // v_z 2, // mField 100, // granularity transparentAppearance())); } else { System.err.println(_help); return null; } } /** Setup graphics environment and ask for a SceneGraph. * @param arg The required test shape. */ public Test(String arg) { super(arg); } /** Check arguments and start processing. Write out usage if arguments are not correct. * @param args <ol> * <li>The required test shape.</li> * </ol> */ public static void main(String[] args) { if (args.length == 1) { new MainFrame(new Test(args[0]), 512, 512); } else { new MainFrame(new Test("shape"), 512, 512); } } protected static final String _help = "java hep.grahics.j3d.Test [Helix]"; } --- NEW FILE: Helix.java --- package hep.graphics.j3d; // Java import java.util.ArrayList; import java.util.Iterator; import static java.lang.Math.PI; import static java.lang.Math.sin; import static java.lang.Math.cos; import static java.lang.Math.atan2; import static java.lang.Math.exp; import static java.lang.Math.sqrt; import static java.lang.Math.abs; // FreeHEP import org.freehep.j3d.PolyLine; // Java3D import javax.media.j3d.Appearance; import javax.media.j3d.Shape3D; import javax.media.j3d.LineStripArray; import javax.media.j3d.GeometryArray; import javax.vecmath.Point3d; import javax.vecmath.Vector3d; /** Helix segment in solenoidal magnetic field along z-axis. * Parameters are defined in "vertex representation". * <img src="doc-files/Helix.gif"> * <p><font color="#880088"> * <pre> * $Log: Helix.java,v $ * Revision 1.1 2005/09/05 12:16:26 hrivnac * HEP3D introduction * * Revision 1.7 2004/05/22 15:31:20 hrivnac * class id reformated * * Revision 1.6 2004/04/27 16:02:03 hrivnac * Helix cuts and brem improved * * Revision 1.5 2004/03/19 14:42:34 hrivnac * FreeHEP Solids uses Radians now * * Revision 1.4 2004/03/18 21:50:32 hrivnac * degrees -> radians * * Revision 1.3 2004/03/04 23:13:53 hrivnac * all boolean operations work, PartialPolyGoneSegment removed * * Revision 1.2 2004/03/03 20:54:11 hrivnac * - hep.freehep* objects refactored * - Tests refactored * - Helix refactored * * Revision 1.1 2004/03/02 00:18:16 hrivnac * initial * * </pre> * </font></p> * @version $Id: Helix.java,v 1.1 2005/09/05 12:16:26 hrivnac Exp $ * @author <a href="mailto:Jul...@ce...">J.Hrivnac</a> */ public class Helix extends PolyLine { /** Create helix. * @param charge The particles' charge <-1, 1>. * @param eta The track' polar angle <-inf, inf>. * @param phi The track' azimutal angle [rad] <0, 2*pi>. * @param pt The track' pt [GeV] (pt > 0). * @param v_phi The vertex' polar angle [rad] <0, 2*pi>. * @param v_rho The vertex' radial coordinate. * @param v_z The vertex' z coordinate. * @param mField The magnetic field [T] (mField > 0). * @param granularity The number of segments of curves approximations (granularity > 0). * @param appearance The object' Appearance. * @throws IllegalArgumentException if the parameters are invalid. */ public Helix(int charge, double eta, double phi, double pt, double v_phi, double v_rho, double v_z, double mField, int granularity, Appearance appearance) throws IllegalArgumentException { // Check preconditins if (! (charge <= 1 && charge >= -1 && phi <= 2*PI && phi >= 0 && v_phi <= 2*PI && v_phi >= 0 && pt > 0 && mField > 0)) { System.err.println("(charge, phi, v_phi, pt, mField) = (" + charge + ", " + phi + ", " + v_phi + ", " + pt + ", " + mField + ")" + " are illegal, they should satisfy following conditions:" + " -1 <= charge <= 1, -pi/2 <= phi <= pi/2, pt > 0, -pi/2 <= v_phi <= pi/2, mField > 0."); } if (! (granularity > 1)) { throw new IllegalArgumentException("granularity = " + granularity + " is illegal, it should be > 1."); } // Neutral if (charge == 0) { constructNeutral(eta, pt, v_phi, v_rho, v_z, appearance); } // Changed else { constructCharged(charge, eta, phi, pt, v_phi, v_rho, v_z, mField, granularity, appearance); } } /** Perform the construction of the neutral Helix. * @param eta The track' polar angle [rad] <-pi/2, pi/2>. * @param phi The track' azimutal angle [rad] <0, 2*pi>. * @param v_phi The vertex' polar angle [rad] <0, 2*pi>. * @param v_rho The vertex' radial coordinate. * @param v_z The vertex' z coordinate. * @param appearance The object' Appearance. */ private void constructNeutral(double eta, double phi, double v_phi, double v_rho, double v_z, Appearance appearance) { // Prepare Points Point3d[] points = new Point3d[2]; // Construct Points points[0] = new Point3d(v_rho * cos(v_phi), v_rho * sin(v_phi), v_z); points[1] = new Point3d(points[0].x, points[0].y, points[0].z); double tant = 2 / (exp(eta) - exp(-eta)); if ((_length - v_z) / (_radius - v_rho) > tant) { points[1].add(new Point3d(_radius * cos(phi), _radius * sin(phi), _radius * tant)); } else { points[1].add(new Point3d(_length * cos(phi) / tant, _length * sin(phi) / tant, _length)); } // Define end _end = new Vector3d(points[1].x, points[1].y, points[1].z); // Construct PolyLine construct(points, appearance); } /** Perform the construction of the chanrged Helix. * @param charge The particles' charge <-1, 1>. * @param eta The track' polar angle [rad] <-pi/2, pi/2>. * @param phi The track' azimutal angle [rad] <0, 2*pi>. * @param pt The track' pt [GeV] (pt > 0). * @param v_phi The vertex' polar angle [rad] <0, 2*pi>. * @param v_rho The vertex' radial coordinate. * @param v_z The vertex' z coordinate. * @param mField The magnetic field [T] (mField > 0). * @param granularity The number of segments of curves approximations (granularity > 0). * @param appearance The object' Appearance. */ private void constructCharged(int charge, double eta, double phi, double pt, double v_phi, double v_rho, double v_z, double mField, int granularity, Appearance appearance) { // Prepare variables final double rx = v_rho * cos(v_phi); final double ry = v_rho * sin(v_phi); final double rz = v_z; final double px = pt * cos(phi); final double py = pt * sin(phi); final double pz = pt / 2 * (exp(eta) - exp(-eta)); double sigma = pt / mField / 0.3; final double alpha = sigma * pz / pt; final double sx = rx - py * sigma * charge; final double sy = ry + px * sigma * charge; final double st = sqrt(sx * sx + sy *sy); final double dx = (1 - sigma * pt / st) * sx; final double dy = (1 - sigma * pt / st) * sy; final double sin_dphi_2 = sqrt((rx - dx) * (rx - dx) + (ry - dy) * (ry - dy)) / 2 / sigma; final double cos_dphi_2 = sqrt(1 - sin_dphi_2 * sin_dphi_2); double dphi = 2 * atan2(sin_dphi_2, cos_dphi_2); if ((rx - dx) * px + (ry - dy) * py > 0) { dphi = - dphi; } final double phi0 = atan2(ry - sy, rx - sx); final double delta = _deltaFactor / granularity; double x = 0; double y = 0; double z = 0; int i = 0; double w = 0; double brem = 1; // Prepare Points ArrayList<Point3d> points = new ArrayList<Point3d>(); // Construct Points if (sqrt(rx*rx + ry*ry) < _radius && abs(rz) < _length / 2f) { do { x = rx + sigma * (cos(phi0) - brem * cos(- charge * delta * w + phi0)); y = ry + sigma * (sin(phi0) - brem * sin(- charge * delta * w + phi0)); z = rz + alpha * delta * w; points.add(new Point3d(x, y, z)); i += 1; w += 1; brem *= _bremFactor; } while (sqrt(x*x + y*y) < _radius && abs(z) < _length / 2f && i < _iterCutOff * granularity); } // Define end, Construct PolyLine, // construct Line if PolyLine too small if (i > 1) { _end = new Vector3d(x, y, z); Point3d[] pointsArray = new Point3d[points.size()]; construct(points.toArray(pointsArray), appearance); } else { constructNeutral(eta, pt, v_phi, v_rho, v_z, appearance); } } /** End point of the helix. * @return The end point of the helix line. */ public Vector3d end() { return _end; } private Vector3d _end; /** Set maximal end point of the helix. * @param length The half-length, default = 5. * @param radius The radius, default = 1. */ public static void cutAt(double length, double radius) { _length = length; _radius = radius; } private static double _length = 5; private static double _radius = 1; private static double _bremFactor = 0.999; private static double _deltaFactor = 1.0; private static int _iterCutOff = 100; } |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/hep/graphics/j3d/geant4/doc-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/hep/graphics/j3d/geant4/doc-files Added Files: geant4.gif Log Message: HEP3D introduction --- NEW FILE: geant4.gif --- |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/ant Added Files: ToDo.txt build.xml Log Message: HEP3D introduction --- NEW FILE: ToDo.txt --- check inclusiveness of precondition limits check G4 constructors write overview with major features description --- NEW FILE: build.xml --- <project name="HEP3D" default="compile" basedir=".."> <description> FreeHEP 3D Graphics </description> <!-- Setup ================================================================--> <property environment="env"/> <property name="env.ANT_SITE" value="dist"/> <property file="ant/config-${env.ANT_SITE}.properties"/> <property name="version" value="1.1.0"/> <path id="classpath.build"> <pathelement path="${Java3D.core}"/> <pathelement path="${Java3D.utils}"/> <pathelement path="${Java3D.vecmath}"/> <pathelement path="${Java3D.bool}"/> <pathelement path="${CLASSPATH}"/> <fileset dir="${lib}"> <include name="*.jar"/> <exclude name="${name}*.jar"/> </fileset> </path> <path id="classpath.run"> <pathelement path="${src}"/> <pathelement path="${build}"/> <path refid="classpath.build"/> </path> <!-- Init =================================================================--> <target name="init"> <tstamp> <format property="TSTAMP" pattern="dd/MMM/yyyy 'at' kk:mm:ss z"/> </tstamp> <ant antfile="${config.db}/standard.xml" target="standard.init" inheritRefs="true"/> </target> <!-- Copy =================================================================--> <target name="copy" if="local"> <copy todir="${lib}"> <fileset file="${Java3D.core}"/> <fileset file="${Java3D.utils}"/> <fileset file="${Java3D.vecmath}"/> <fileset file="${Java3D.bool}"/> <fileset dir="${Java3D.libdir}"/> </copy> </target> <!-- Compile ==============================================================--> <target name="compile" depends="init" description="Compile sources"> <ant antfile="${config.db}/standard.xml" target="standard.compile" inheritRefs="true"/> </target> <!-- JAR ==================================================================--> <target name="jar" depends="compile" description="Create JAR"> <ant antfile="${config.db}/standard.xml" target="standard.jar" inheritRefs="true"> <property name="name" value="freehep"/> <property name="jar.name" value="-j3d"/> <property name="scope" value="org/"/> <property name="main" value="org.freehep.j3d.Test"/> </ant> <ant antfile="${config.db}/standard.xml" target="standard.jar" inheritRefs="true"> <property name="name" value="freehep"/> <property name="jar.name" value="-hep3d"/> <property name="scope" value="hep/"/> <property name="main" value="hep.graphics.j3d.Test"/> </ant> </target> <!-- Distribution =========================================================--> <target name="dist" depends="copy,doc,jar" description="Create complete distribution"> <ant antfile="${config.db}/standard.xml" target="standard.dist" inheritRefs="true"/> </target> <!-- Check ================================================================--> <target name="check" depends="init" description="Test"> <antcall target="check.prepare"/> <antcall target="check.display"> <param name="script" value="j3d"/> <param name="solid" value="BooleanConeSegment"/> </antcall> </target> <target name="check.prepare"> <property name="classpath.run" refid="classpath.run"/> <echo file="${run}/Test-j3d.sh" append="false"> export CLASSPATH=${classpath.run} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${Java3D.libdir} java -Xmx512M org.freehep.j3d.Test $*</echo> <echo file="${run}/Test-hep3d.sh" append="false"> export CLASSPATH=${classpath.run} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${Java3D.libdir} java -Xmx512M hep.graphics.j3d.Test $*</echo> <echo file="${run}/Test-hep3d.geant4.sh" append="false"> export CLASSPATH=${classpath.run} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${Java3D.libdir} java -Xmx512M hep.graphics.j3d.geant4.Test $*</echo> <chmod file="${run}/Test-j3d.sh" perm="a+x"/> <chmod file="${run}/Test-hep3d.sh" perm="a+x"/> <chmod file="${run}/Test-hep3d.geant4.sh" perm="a+x"/> </target> <target name="check.display"> <echo>Testing ${solid} from freehep-${script}</echo> <exec dir="${run}" executable="${run}/Test-${script}.sh"> <arg value="${solid}" /> </exec> </target> <!-- Clean ================================================================--> <target name="clean" description="Clean up"> <ant antfile="${config.db}/standard.xml" target="standard.clean" inheritRefs="true"/> </target> <!-- Deploy ===============================================================--> <target name="post" depends="dist" description="Put on WWW" if="local"> <ant antfile="${config.db}/standard.xml" target="standard.post" inheritRefs="true"/> </target> <!-- JavaDoc ==============================================================--> <target name="doc" depends="j2h,uml,viz" description="Construct documentation"> <mkdir dir="${doc}/JavaDoc"/> <copy todir="${doc}"> <fileset dir="${src}" includes="index.html"/> </copy> <replace file="${doc}/index.html" token="@VERSION@" value="${version}"/> <replace file="${doc}/index.html" token="@BUILD@" value="${TSTAMP}"/> <javadoc packagenames="org.freehep.j3d*,hep.graphics.j3d*,hep.graphics.j3d.geant4" sourcepath="${src}" destdir="${doc}/JavaDoc" author="true" version="true" use="true" private="true" additionalparam=" -linksource -breakiterator -keywords" source="1.5" Overview="${src}/org/freehep/j3d/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://home.cern.ch/hrivnac/Activities/Packages/HEP3D'>Documentation</a>]]> built ${TODAY} on ${os.name} by ${user.name}</bottom> <group title="freehep-j3d" packages="org.freehep.j3d"/> <group title="freehep-hep3d" packages="hep.graphics.j3d"/> <group title="freehep-hep3d/geant4" packages="hep.graphics.j3d.geant4"/> <link href="http://java.sun.com/j2se/1.5.0/docs/api"/> <link href="http://java.sun.com/products/java-media/3D/forDevelopers/J3D_1_3_API/j3dapi"/> <classpath> <path refid="classpath.run"/> </classpath> </javadoc> </target> <!-- J2H ==================================================================--> <target name="j2h" description="Construct source documentation" depends="init" if="local"> <ant antfile="${config.db}/standard.xml" target="standard.j2h" inheritRefs="true"/> </target> <!-- Visualise ============================================================--> <target name="viz" depends="init" description="Create flow of build file" if="local"> <ant antfile="${config.db}/standard.xml" target="standard.viz" inheritRefs="true"/> </target> <!-- FindBugs =============================================================--> <target name="findbugs" if="local" depends="init" description="Construct source documentation"> <ant antfile="${config.db}/standard.xml" target="standard.findbugs.jar" inheritRefs="true"> <property name="jar.name" value="-j3d"/> </ant> <ant antfile="${config.db}/standard.xml" target="standard.findbugs.jar" inheritRefs="true"> <property name="jar.name" value="-hep3d"/> </ant> </target> <!-- UmlGraph =============================================================--> <target name="uml" if="local" depends="init" description="Construct UML documentation"> <ant antfile="${config.db}/standard.xml" target="standard.uml" inheritRefs="true"/> </target> <!--=======================================================================--> </project> |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src/org/freehep/j3d/doc-files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src/org/freehep/j3d/doc-files Added Files: BooleanShape3D.gif ConeSegment.gif PolyConeSegment.gif PolyGoneSegment.gif SphereSegment.gif TorusSegment.gif Trapezoid.gif j3d.gif Log Message: HEP3D introduction --- NEW FILE: PolyGoneSegment.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: ConeSegment.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: PolyConeSegment.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: SphereSegment.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: Trapezoid.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: TorusSegment.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: BooleanShape3D.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: j3d.gif --- (This appears to be a binary file; contents omitted.) |
From: Julius H. <hr...@us...> - 2005-09-05 12:16:38
|
Update of /cvsroot/graxml/Graphics/HEP3D/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30946/HEP3D/src Added Files: index.html Log Message: HEP3D introduction --- NEW FILE: index.html --- <html> <head> <title>FreeHEP 3D Graphics</title> <meta http-equiv="Content-Language" content="en"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> a.big {font-size:1.4em;} </style> </head> <body> <h1><a href="http://java.freehep.org">FreeHEP</a> 3D Graphics</h1> Version <a class="big">@VERSION@</a> <small>(build @BUILD@)</small> <hr> <h2>Documentation</h2> <p> <b>FreeHEP 3D Graphics</b> package provides following high level Java 3D objects and operations: <ul> <li>Complex optimised 3D Solids: Trapezoid, ConeSegment, PolyConeSegment, PolyGoneSegment, SphereSegment, TorusSgment and PolyLine</li> <li>Outlined Shape3D with wireframe highlighting</li> <li>Boolean operations between Solids.</li> <li>Special 3D objects for High Energy Physics, like Helix or <a href="http://geant4.web.cern.ch/geant4/">Geant4</a> Solids.</li> </ul> The most resent version can be obtained from my <a href="http://home.cern.ch/hrivnac/Activities/Packages/HEP3D">personal distribution</a>, more stable version is avalable from the <a href="http://java.freehep.org">FreeHEP project</a>. </p> <p> Detailed documentation: <ul> <li><a href="JavaDoc">JavaDoc</a></li> <li><a href="Src">Source</a></li> <li><a href="UML">UML</a> (<a href="UML/index.gif">top-level</a>)</li> <li><a href="build.gif">Ant Build Dependencies</a></li> </ul> Used packages and technologies: <ul> <li><a href="http://java.sun.com/products/java-media/3D/">Java3D</a> from <a href="http://www.sun.com">Sun</a></li> <li><a href="http://www.geocities.com/danbalby/">Operacoes Booleanas de Solidos</a> from <a href="mailto:dan...@ya...">Danilo Balby Silva Castanheira</a></li> </ul> Using packages: <ul> <li><a href="http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/AGDD">AGDD</a></li> <li><a href="http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GDML">GDML</a></li> <li><a href="http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GraXML">GraXML</a></li> </ul> <h2>Release History</h2> <ul> <li><u>*.*.*:</u> <ul> <li>Requests: <ul> <li>Provide Perigee paramerisation for Helix.</li> <li>Provide splined PolyLine.</li> <li>Allow multigeometric Shape3D for BooleanShape3D.</li> <li>Test all binary operations.</li> <li>Use <a href="https://jgeom.dev.java.net">JGeom</a>.</li> </ul> </li> <li>Bugs: <ul> <li>Border cases for Boolean operations are sometimes wrong: <ul> <li>Torus.s2.rmin = 0</li> <li>Sphere.thetamax = 90</li> </ul> </li> <li>Construction of Geometries not well documented.</li> <li>Outlined Boolean Solid becomes transparent.</li> </ul> </li> </ul> </li> <li><u>1.0.0:</u> <ul> <li>New features: <ul> <li>Boolean Operations.</li> </ul> </li> <li>Bug fixes: <ul> <li>PolyGoneSegment uses the same convenion as in G4.</li> </ul> </li> </ul> </li> <li><u>1.1.0:</u> <ul> <li>New features: <ul> <li>New Cylindrical Cone (GDML eltube).</li> <li>New G4Orb, G4Hype, G4EllipticalTube.</li> <li>The number of divisions of Boolean solids can be 200x the number of divisions of original solids (before, it was 20x) before the boolean proccessor gives up.</li> <li>The Boolean operation can involve relative translation and rotation between elements.</li> </ul> </li> <li>Bug fixes: <ul> <li>...</li> </ul> </li> </ul> </li> </ul> <hr> <img width="0" height="0" src="http://hrivnac.home.cern.ch/hrivnac/cgi-bin/record.pl?page=HEP3D"> <address><a href="http://home.cern.ch/~hrivnac">J.Hrivnac</a>, @BUILD@</address> </body> </html> |