GraXML
is a Geometric Modeller for handling HEP experiments' Detector
Description and Event data. It containes full 3D visualisation of the managed
elements. It uses Java3D to create, render and manipulate SceneGraph. Its
main source of data comes through XML files, where each Schema represents
one Generic Model. Such Generic Model is then a source for the GraXML
Geometric Model. Direct access (without XML files) is possible too.
The current version is 3.2.1 [23/Mar/2017 at 16:02:38 CET].
|
|
Program Overview
GraXML Toolkit provides a foundation for operations on 3D objects (detector
elements, events,...). Each external source of 3D data is automaticaly
translated into Generic Model which is then analysed and translated
into Geometric Model using GraXML modules. The construction of this
Geometric Model is parametrised by several parameters (optimisation
level, quality level, ...) so that it can be used in applications with
different requirements. Geometric Model can be
then directly used via thin user applcations. Two visualisation applications
are provided in the GraXML Toolkit: GraXML Interactive Display and
GraXML Converter into various geometry formats. Other applications can
be easily developed.
GraXML (in graphical mode) offers full functionality for browsing and
manipulating 3D data. All the standard User Requirements functionality for 3D
display is available:
- Standard 3D visual operations, like Rotation, Translation, Zooming,
Scaling, Sheering and Skewing. Those operations can be anizotropic, if it
is applicable. All those operations can be applied either to the whole Scene
(Global Operations) or to the selected (picked) objects (Local
Operations). Local operation allows, for example, to move one object
away from others. Operations are available via Drag mouse action, using keyboard
or through the menu. Go to operation is also available, it moves observer
close to the selected object (or away from it).
- Changing of visual properties of an object. The color of an object,
its transparency properties and its polygon status (solid - wireframe - vertexframe)
can be changed interactively. Operation can be applied either to the selected
(picked) objects or the the whole SceneGraph.
- Both Parallel and Perspective projections.
- Cutting the 3D Scene from front and from back.
- Cutting the 3D Scene by movable plain.
- Selective switching of the objects on and off from the hierarchical
Tree Navigator. The switching works also in the optimised mode,
the result may be, however, surprising due to hidden relations.
- Snapshot saving into the jpg file.
- Context sensitive help and Context sensitive information of the
Tree Navigator elements.
- Optimized or fully Interactive navigation. The Optimized mode uses
much smaller memory footprint and is therefore useful for the larger 3D Scenes
(more than tens of thousands of simple objects). Interactive features are
limited in this mode.
- Quality level. Higher quality levels offer features like better antialiasing
or smoother objects, but requires significantly more CPU and memory.
- Output to VRML and X3D. VRML output can be also
used as an input into a POV Raytracing format file, which can be then use
to create photographic-quality pictures (incl. reflections,...).
- Full Java scripting interface. Complete Java environment is available in
a command-line scripting interface.
Running from AFS
The most recent version of GraXML is installed on the CERN afs directory
/afs/cern.ch/sw/lcg/external/Java/GraXML. This instalation is
easy to use:
# Setup Java
. /afs/cern.ch/sw/lcg/external/Java/bin/setup.[c]sh
# Run GraXML
graxml [<script>]
Full documentation is available from the GraXML/doc subdirectory,
testing examples are in the GraXML/misc/Test.
Local Instalation
To install GraXML localy (on Linux machine using Java 1.5), one has to:
- install Java itself (version at least 1.5.0)
- get and untar the file http://hrivnac.home.cern.ch/hrivnac/Activities/Packages/GraXML-dist.tar.gz
This instalation is then easy to use:
# Run GraXML
<local instalation place>/GraXML/bin/GraXML.sh [<script>]
# or
<local instalation place>/GraXML/bin/GraXMLConverter.sh <script>
If you want to make a symbolic link to GraXML[Converter].sh or if you
want to put it in your PATH, you have to set up environment variable
GRAXML_HOME
pointing to your GraXML directory.
Full documentation is available from the GraXML/doc subdirectory,
testing examples are in the GraXML/misc/Test.
All development of the GraXML can be performed within GraXML/ant
directory using Ant build tool
(it should be installed).
Try ant -h and ant -p for further details.
Using WebStart
To run GraXML directly from the Web (on Linux, MacOSX or MS machine using at least Java 1.5), one can use
GraXML WebStart distribution:
.
Correctly configured Web Browsers will start GraXML automaticaly, otherwise following
command should be used on the downloaded file:
javaws GraXML.jnlp
WebStart for Atlantis coupled with GraXML is available too:
.
Command-Line Options
GraXML[Converter].sh [<script>]
# script ... BeanShell script to be sourced (it has usually the extension .bsh),
# it is a convenient place to put, for example personal Option preferences
Some facilities available to the scripts are available through Scripting Interface.
Scripting Interface
Scripting interface uses BeanShell
package, all its functionality is available (so full Java environment is
available). Full namespace are not used in this description (unless short
name would be ambigues).
- Basic tasks
- Read, parse and display XML file:
w.show(String inFile);
- Close picture:
w.clean();
- Write jpeg snapshot:
j3d.snapshot(String filename);
- Set quality of the SceneGraph (0-9, higher quality requires more memory and CPU):
Config.setQuality(int quality);
- Set optimisation of the SceneGraph (0-9, higher optimisation restricts interactivity):
Config.setOptimisation(int optimisation);
- Exposed objects
Those objects are directly available to the scripting environment.
- Java3DExtensions.J3DFrame: j3d
- GUI.RootWindow: w (available in interactive GraXML)
- GraXMLConverter: c (available only in GraXMLConverter)
- Special commands
- Pre-imported classes
- net.hep.graphics.GraXML.*;
- net.hep.graphics.GraXML.GUI.*;
- net.hep.graphics.GraXML.Disconnecter.*;
- net.hep.graphics.GraXML.Identifiers.*;
- net.hep.graphics.GraXML.Java3DExtensions.*;
- net.hep.graphics.GraXML.Java3DExtensions.Interactivity.*;
- net.hep.graphics.GraXML.Optimisator.*;
- BeanShell pre-imported classes
- Usefull classes
Full documentation for all GraXML classes can be inspected from the
GraXML JavaDoc documentation. Basic documentation
for all available classes can be inspected using BeanShell facilities like
classBrowser and javap command (for example javap("SceneGroup");).
- SceneGroup:
- RootWindow:
- void show(String file);
- void show(BranchGroup topGroup);
- void clean();
- J3DFrame:
- void snapshot(String filename);
- GraXMLConverter:
- void convert(String xml, String result); // result = *.wrl, *.x3d, *.txt
- void convert(String xml); // using custom export() methods
- Settable options
They allow customising the building of the SceneGraph,
so they must be set before file is read. All are of type static void.
Detailed description is available from the GraXML
JavaDoc documentation and JavaDoc documentation of used Geometric Model Builders
(AGDD,
GDML,
JiveEvent and
JiveGeometry).
- Global Options:
- Config.set()
- Config.setQuality(int quality); // 0-9, default = 5
- Config.setOptimisation(int optimisation); // 0-9, default = 0
- Config.setGraphical(boolean graphical); // default = true
- Config.setBatch();
- Build Options:
- BuildOptions.setColorPerMaterial(boolean colorPerMaterial); // default = false
- BuildOptions.setGranularity(int granularity); // default = 20, Config default = 4 * quality
- BuildOptions.ignore(String node);
- Optimisator Options:
- OptimisationDB.setGroupOptimisation(boolean grOpt); // default = false, Config default = (optimisation > 3)
- OptimisationDB.setAppearanceOptimisation(boolean appOpt); // default = true
- OptimisationDB.setReporting(boolean report); // default = true
- Disconnecter Options:
- ConnectionsDB.setLevelLimit(int levelLimit); // default = 2
- Extensions Options:
- Interacter.setInteractivity(boolean interactive); // default = true, Config default = (optimisation < 6)
- Interacter.setOutlined(boolean outlined); // default = true, Config default = (optimisation < 6)
- Interacter.setSolid(boolean solid); // default = true, Config default = (optimisation < 6)
- SelectedColor.setLineAntiAliasing(boolean lineAntiAliasing); // default = false, Config default = (quality > 5)
- SelectedColor.setPalette(int palette); // default = RANDOM, also possible: ATLANTIS, SOLIDATLANTIS
- SelectedColor.setPaletteOffset(int offset); // default = 0
- org.freehep.j3d.OutlinedShape3DFactory.setOutlineColor(Color3f oc); // default = OutlinedShape3DFactory.DARK, others = WHITE, BLACK, BRIGHT, null
- Envelope.change(String part); // default: Axis-true, Legend-false, Cylinder-false
- Envelope.setRadius(double radius); // default = 1
- Envelope.setLength(double length); // default = 2
- DetachableConnection.setDisconnected(boolean disconnected); // default = true
- GDML Options:
- net.hep.geant4.GDML.GeometricModel.Evaluator.setRescaleFactor(float rescaleFactor); // default = 0.1
- net.hep.geant4.GDML.GeometricModel.Reps.Volume.setLimit(int limit); // default = -1
- net.hep.geant4.GDML.GeometricModel.Reps.Rotation.asEulerX();
- net.hep.geant4.GDML.GeometricModel.Reps.Rotation.asXYZ(); // default
- AGDD Options:
- net.hep.AGDD.GeometricModel.Evaluator.setRescaleFactor(float rescaleFactor); // default = 10
- JiveEvent Options:
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Particle.setPtFactor(float ptFactor); // default = 0.01
- net.hep.atlas.graphics.JiveEvent.GeometricModel.STr.setPtFactor(float ptFactor); // default = 1
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Jet0.setPtFactor(float ptFactor); // default = 0.01
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Jet0.setPtCut(float ptCut); // default = 0.0
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Track.setLineWidth(int lineWidth); // default = 2
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Track.setText(boolean text); // default = false
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Track.setPtCut(float ptCut); // default = 0.5
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Track.setTextPtCut(float textPtCut); // default = 1
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.STC.setLineWidth(int lineWidth); // default = 2
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Electron.setLineWidth(int lineWidth); // default = 4
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Photon.setLineWidth(int lineWidth); // default = 4
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.Muon.setLineWidth(int lineWidth); // default = 4
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.ETMiss.setLineWidth(int lineWidth); // default = 8
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.S3D.setPointSize(int pointSize); // default = 3
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.TRT.asCylinders(boolen cylinders); // default = false
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.TRT.asLines(boolean lines); // default = false
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.TRT.setThresholdCut(boolean thresholdCut); // default = true
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.TRT.drawBarrel(boolean barrel); // default = true
- net.hep.atlas.graphics.JiveEvent.GeometricModel.Reps.TRT.drawEndcap(boolean endcap); // default = true
- JiveGeometry Options:
Example of simple scripts:
display.bsh
// Interactive Display
// ===================
// Create high quality picture
Config.setQuality(9);
// Show picture immediately (i.e. don't wait for showing via Tree viewer)
Config.setBatch();
// Set color palette to the Atlantis one
SelectedColor.setPalette(SelectedColor.ATLANTIS);
// Read, parse and show picture from file Solids.gdml
w.show("Solids.gdml");
// Create a snapshot Picture.jpg
j3d.snapshot("Picture.jpg");
|
This script can be either run on the start of GraXML:
GraXML.sh display.bsh
or sourced into running GraXML:
source("display.bsh");
convert.bsh
// Batch Converter (into VRML, X3D or TXT)
// =======================================
// Create high quality picture
Config.setQuality(9);
// Set color palette to the Atlantis one
SelectedColor.setPalette(SelectedColor.ATLANTIS);
// Read, parse and convert Solids.gdml into Solids.wrl
c.convert("Solids.xml", "Solids.wrl");
|
This script can be run using GraXMLConverter:
GraXMLConverter.sh convert.bsh
Examples
Directory GraXML/misc/Test contains example
xml files (*.xml, *.agdd, *.gdml) and BeanShell scripts
(*.bsh) testing all major features of GraXML.
Some examples are available from the Examples panel on the GraXML GUI.
Builders
Mapping between XML Schema and corresponding Generic Builders is done
via builders.properties
. On default, following Generic Builders are defined:
AGDD=net.hep.AGDD.GeometricModel.AGDDBuilder
gdml=net.hep.geant4.GDML.GeometricModel.GDMLBuilder
Event=net.hep.atlas.graphics.JiveEvent.GeometricModel.JiveEventBuilder
AGeometry=net.hep.atlas.graphics.JiveGeometry.GeometricModel.JiveGeometryBuilder
Other Builders can be added by putting costomised builders.properties
into current directory.
Help
- Mouse Operations
- Shows About information as ToolTip.
- Exits. Writes also Transformations selected in 26.
- Goes Home. Resets the view into the standard one.
- Saves Jpg picture
GraXML.jpg
.
- Reloads current scene.
- Cleans current scene.
- Selects Perspective or Parallel Projection. Zooming doesn't have any
effect in Parallel Projection, Scaling (16) doesn't have any effect in
Perspective Projection.
- Selects color of Background.
- Selects Global or Local Operations (10). Global Operations
are applied to the whole pictures, Local Operations are applied only to selected
(Picked) objects. Some Global Operations don't have sense (Picking,
GoTo). Local Operations are only partialy available for Optimised SceneGraph.
- Selects Operations connected with Picking. Operations connected with
mouse buttons are described in the context sensitive help (21).
- Picking: Just picks objects and report their information in 18.
- Tranform: Performs standard transformation operations.
- Transparency: Changes transparency status of objects.
- Polygon: Changes polygon (Solid-Wireframe-Points) status of objects.
- GoTo: Changes view so that selected objects is well visible.
- Translates along any axes.
- Rotates along any axes.
- Scales along any axes or zooms in/out (magnifying glass buttons).
Scaling deforms objects.
- Defines value of one step performed by operations in 11-12-13.
- Changes color or transparency status of selected objects.
- Scales whole scene. It is much faster then zooming, but it doesn't
have any effect in Perspective Projection.
- Cuts the scene from front.
- Cuts the scene from back.
- Changes the high limit of the Cutting interval
- Makes it larger.
- Resets it to it original value.
- Makes it smaller.
- Gives context sensitive help for actual actions defined for all buttons.
- Informs about frames-per-second (fps) performance and memory occupied by SceneGraph.
- Gives access to several examples included in distribution.
- Exposes Java scripting interface and gives feedback (for example about
picked objects). While full access to running Java environment is available,
only non-graphical operations are documented and supported (mostly writing
and reading files and setting of options).
See chapter about Scripting Interface
for more information.
- Switches Envelope components (28) on/off. The size of cylinder can be set by
Envelope.setLength(double)
and Envelope.setRadius(double)
.
- Swiches interactive Clipper (29) on/off.
- Allows for selecting three predefined Transformations (views). Left
button selects current Transformation, right button applies the selected
Transformation. Selected Transformations are written into file when GraXML
is ended via the Exit button (2). This file (which exists per-directory)
is read back when GraXML is started next time.
- Allows for interactive Showing/Hiding of elements or elements groups.
Clicking on the middle mouse button limits Showing to several level (defined
by
ConnectionsDB.setLevelLimit(int)
.
Clicking on right mouse button allows to change transparency etc. attributes
of the selected object.
In the case of an Optimised SceneGraph, the effect may be sometimes surprising
for a user as elements are linked together (some are just reference to others)
and are showen/hidden in groups. ToolTip gives more details about object'
properties.
- Bold descriptions - object is visible.
- Normal description - some of the subobjects are visible.
- Italic description - object is not visible.
- Switches envelope components on/off.
- Axis
- Legent
- Cylinder
- Floor
- Clipper.
- KeyBord Operations
- Left-Right Arrows: Rotate in horisontal plane.
- Up-Down Arrow: Moves To/Out.
Design
Class Diagrams
|
Sequence Diagrams |
|
|
Related Development
- GraXML together with Atlantis forms
Atlantis3D package.
- Photo-realistic Ray Tracing of GraXML pictures
is possible using POVRay tool.
- Parts of GraXML have been contributed to the FreeHEP project.
- Geant4 and Root to XML Convertor has been developed in Alice as part of
Virtual Monte Carlo and
Virtual Geometry Model projects.
The convertors can be used with AliRoot.
The full XML detector description of Alice generated from Geant4 is available and can be visualised
with GraXML.
- GDML Geometry Description Markup Language for Geant4 is
supported.
- AGDD library is used to build
AGDD Geometric Model.
- GDML library is used to build
GDML Geometric Model.
- JiveEvent library is used to build
JiveEvent Geometric Model.
- JiveGeometry library is used to build
JiveGeometry Geometric Model.
- GraXML AGDD Model is used in
Star Detector Description
project.
Used packages:
Related Presentations
There were several presentations about GraXML:
- Development:
- 1999:
- GraXML (J.Hrivnac) during Atlas Database Workshop in Oct'99, CERN
- 2000:
- GraXML (J.Hrivnac) during Atlas SW Workshop in Nov'00, CERN
- Graphics Status (& GraXML) (J.Hrivnac) during Atlas SW Workshop in Aug'00, CERN
- GraXML (J.Hrivnac) during Atlas SW Workshop in May'00, LBNL
- 2001:
- 2003:
- 2004:
- GraXML (J.Hrivnac) during CHEP in Sep'04, Interlaken
- 2006:
- 2007:
- GraXML (J.Hrivnac during Second meeting on Event Displays for ATLAS in Nov'07, CERN
- Users:
- 2000:
- 2001:
- 2002:
- 2003:
- 2005:
- 2007:
- 2008:
InLinks
Requested Features, Found Bugs, Release Notes
Requested Features
- Context sensitive actions.
Basic support is available, more will be done as soon as connection to
any capable external application is possible.
- VRML snapshot of the visible picture.
Generaly tricky, as SceneGraph of a visible picture is compiled and
often also optimised.
- Global stripifier to optimise geometry.
Not simple as interferes with switchable connections. Can dramaticaly
improve performance.
- Geometry Picking more precise.
- Transformation of ViewPlatform for speed.
- Configuration saving.
- VRML reading.
Easy, but not high priority. GraXML is not VRML browser.
- Reset of geometric configuration (incl.Local Operations).
- Local Operations for groups.
- Graphics View <--> Tree View identification (by highlighting).
- Setting options via GUI.
- Support for user-defined GUI plugins.
- Support for HepRep.
- Possibility to change coloring strategy at run-time (e.g. show which
RecoPoints are associated with a track after picking).
- Animation (rotation).
- Possibility to save output XML file.
- Interface between Java3D and OpenInventor.
- Overlap detection.
- Embedded editing of XML files.
- User color setting.
- Automatic setting of Z-buffer interval.
- Switching on/off objects of some time, with same name pattern, etc.
Maybe using symbolic links.
- Partial optimisation (for subgraph).
- Optimisation/quality effects documentation.
- Possibility to save binary internal format (so that long Geometric Model
optimisation can be skipped).
- Building subset of Trees (using "context" attribute).
- Command-line based positioning.
Found Bugs
- org.freehep.j3d.OutlinedShape3DFactory.setOutlineColor(null) doesn't work.
- Picking picks often several objects, which are close.
- Wireframe outline should disappear for transparent objects.
- Appearance optimisation resets Transparency.
- Exceptions report wrong line numbers.
- Global change of transparency and outline after local changes
works only on a subset of nodes.
Release Notes
- 3.0.0:
- New Features:
- Global Transparency and Polygons.
Trasparency and Polygon (wireframe) status can be changed either
for the picked elements (in Local mode) or for the whole SceneGraph (in Global
mode).
- ToolTips for TreeView.
- Color Palettes.
Colors can be assigned either randomly (default) or according to
several pre-defined palettes. Overall color strategy can be either per name
or per material (kine or partile in case of events).
- Support for Calorimeter in Event.
LArCell, TileCell, FCALCell and HECCell have been added.
- Scripting interface.
BeansShell is used to give full access to Java environment. Scripts
can be sourced.
- Interactive reading of files.
Using scripting interface.
- Interactive setting of options.
Using scripting interface.
- Converter for proprietary Atlantis lafa files.
Atlantis lafa files can be converted into standard AtlasEvent XML files.
- Bug Fixes:
- Removing of elements of optimised SceneGraph doesn't sometimes work.
Fixed, the effect of removing elements in optimised SceneGraph may
be, however, surprising due to hidden links.
- Transparent objects are sometimes not really transparent.
Bug of Java3D 1.2: Rendering is performed in a random order, which
is enought for opaque objects, but not for transparenty ones.
Fixed by migrating to Java3D 1.2.1
- One can't click twice on the same node in the TreeView,
the second click doesn't have any effect.
Fixed.
- Saving jpg sometimes doesn't work.
Fixed.
- 3.0.1:
- New Features:
- Bug Fixes:
- Multiple single positioners are not shown.
- 3.0.2: Upgrade to Java 1.4 + Java3D 1.3beta0
- New Features:
- Bug Fixes:
- Transparent objects are not rendered correctly.
Thanks to upgrade to Java3D 1.3beta0.
- 3.0.4:
- 3.0.5:
- New Features:
- Textual dump of shapes' descriptions.
- Reference Manual in PS.
- Bug Fixes:
- Correct handling of Identifiers. In case of absence of Identifiers
in the XML file, artificial Identifiers are created on the fly.
- 3.1.0:
- New Features:
- Geometric Models (JAGDD and GraphicsAtlasEvent) moved out of the
GraXML itself. GraXML containes just the core code, GraXMLApp contains the
Application.
- Geometric Model can be created without graphics (see JAGDD for exmples).
- Conversion to VRML, X3D and reporting to TXT can be done withhout GUI, just by calling GraXMLConverter.
- AGDD v6 supported.
- Bug fixes:
- Run-time generation of AGDD Identifiers improved.
- 3.1.1:
- New features:
- AGDD V4<->V6 conversions available as scripts using XSLT stylesheets.
- AGDD deparametrisator available as script using XSLT stylesheets.
- Bug fixes:
- For tubs apod. profile="Phi0 dPhi" (was "Phi0 PhiMax").
- Boolean volumes are handled (as unions).
- 3.1.2:
- New features:
- GraXMLConverter as an independent scriptable program.
- Generic Builders setable via properties file.
- Preliminary Jive Event -> Atlas Event converter.
- Standalone distribution as a tar file.
- Elements can be declared to be ignored (i.e. not included in Geometric Model).
- GreaXML[Converter].sh can be aliased or included in a PATH if GRAXML_HOME env.var. is defined.
- Bug fixes:
- PolyGone uses the same syntax as in Geant4.
- 3.1.3:
- New features:
- Envelope (axis) can be switchwed on/off.
- Mobile clipping plane.
- Migration to Java3D 1.3.1-beta.
- Boolean operations (in JAGDD).
- Bug fixes:
- 3.1.4:
- New features:
- The last version before refactoring.
- Bug fixes:
- 3.1.5:
- New features:
- Basic support for GDML via JAXB.
- Bug fixes:
- 3.1.6:
- New features:
- All GDML elements supported.
- AtlasEvent elements not supported any more.
- Refactored.
- Migrated to Java 1.5.0.
- Bug fixes:
- 3.1.7:
- New features:
- JiveEvent included (very limited functionality).
- Ray tracing documented.
- Bug fixes:
- 3.1.8:
- New features:
- Reloading of current model possible.
- Limiting the depth of switching elements on is possible.
- Atlantis colors reused, can be modified by user.
- Support for GDML 2.0 (via GDML library).
- Cutter high limit is changable.
- JAGDD library replaced with new JAXB-based AGDD library.
- Support for DOM-based models removed.
- Parsing and validationg XML errors are reported with line-column
numbers.
- Bug fixes:
- Many fixes in GDML, AGDD and JiveEvent Models.
- Chaotic transparency and wireframe changes cleaned.
- Cutter and Scaler have more realistic values.
- Memory leak during reloading fixed.
- 3.1.9:
- New features:
- Custom exporting of GeometricModel is possible.
- Moved to SourceForge.
- Bug fixes:
- 3.1.10:
- New features:
- Color can be explicitely set from a specific builder.
- GraXML can be started using WebStart.
- Java3D 1.5.0 used.
- optimisation = 8,9 creates only wireframe.
- Bug fixes:
- Properties can be changed after Config.set() is called.
- 3.2.0:
- New features:
- Demonstration examples are callable directly from GUI.
- JiveGeometry builder added.
- Several files can be loaded into the same screen.
- Clean button added.
- Migrated to JAXB 2.0.
- Capable running with Atlantis.
- Migrated to Java3D 1.5.1.
- Support for both i386 and amd64 architectures on Linux.
- Performance monitoring (fps, mb) included.
- Envelope improved.
- Visual modigications can be performed from TreeView.
- Floor added to Envelope.
- 3.2.1:
J.Hrivnac, 23/Mar/2017 at 16:02:38 CET