---------------------------------------------------------------------------
Changes in 3_99_xxx:
Revised and new shortcut handling:
1. New Shortcut Assignments
The three ctrl-[x,c,v} are no longer used by JavaView
because of conflict with MS-Windows.
esc cancels all PsDialog and subclasses
ctrl-d open display inspector (previously ctrl-v)
ctrl-g open camera inspector (previously ctrl-c)
ctrl-h open jv console with warnings
ctrl-j open project inspector (previously ctrl-p)
ctrl-p open "Print" dialog
f1 open help dialog with shortcuts
ctrl-x --> no longer available, use menu Inspector->Axis
3. New Middle and Right Mouse
Keep mouse scrollbar pressed and drag mouse
left mouse rotate/orbit
middle mouse translate
right mouse scale
(Mouse scroll events are not yet available)
4. f2 still closes the control panel.
Reorganisation of Class Structure of JVX Package:
The following classes and methods have been moved, renamed, removed, or added
in version v3.97.040. I do not expect any bigger problems beside renaming
of import statements since the functionality of the classes has not been changed.
Nevertheless, please, synchronize your codebase soon.
1. New package jvx.util:
The new package will contain data structure and container
similar to java.util but with a focus on algorithmic structures.
jvx.geom.PuPriorityQueue -> jvx.util.PuPriorityQueue
2. New package jvx.cellular:
The new package will contain algorithms and data structures
related to cellular automata defined on geometry meshes.
jvx.geom.PnCellOperator -> jvx.cellular.PnCellOperator
jvx.geom.PnCellOperator_IP -> jvx.cellular.PnCellOperator_IP
jvx.geom.PnMineSweeper -> jvx.cellular.PnMineSweeper
jvx.geom.PnMineSweeper_IP -> jvx.cellular.PnMineSweeper_IP
jvx.geom.PwSnake -> jvx.cellular.PwSnake
jvx.geom.PwSnake_IP -> jvx.cellular.PwSnake_IP
3. Classes on vector fields moved to jvx.vector:
jvx.geom.PwHodge -> jvx.vector.PwHodge
jvx.geom.PwHodge -> jvx.vector.PwHodge
jvx.geom.PwLIC -> jvx.vector.PwLIC
jvx.geom.PwLIC_IP -> jvx.vector.PwLIC_IP
jvx.geom.PwRotDiv -> jvx.vector.PwRotDiv
jvx.geom.PwRotDiv_IP -> jvx.vector.PwRotDiv_IP
jvx.geom.PwSeeds -> jvx.vector.PwSeeds
jvx.geom.PwSeeds_IP -> jvx.vector.PwSeeds_IP
jvx.geom.PwVectorField -> jvx.vector.PwVectorField
jvx.geom.PwVectorField_IP -> jvx.vector.PwVectorField_IP
4. Classes on integral line(s) renamed and moved to jvx.vector:
jvx.geom.PwIntegralLines -> jvx.vector.PwIntegralLineSet
jvx.geom.PwIntegralLines_IP -> jvx.vector.PwIntegralLineSet_IP
jvx.geom.PwIntegralLine -> jvx.vector.PwIntegralLine
jvx.geom.PwIntegralLine_IP -> jvx.vector.PwIntegralLine_IP
jvx.geom.PwVectorFieldVis_Dialog -> jvx.vector.PwIntegralLine_Dialog
5. New JVX Geometry Classes:
jvx.geom.PgPointSetOnPolygon
jvx.geom.PgPointSetOnElementSet
jvx.geom.PgPolygonOnElementSet
jvx.geom.PgPolygonSetOnElementSet
6. New JV Classes:
jv.number.PuBoolean
jv.number.PuBoolean_IP
jv.objectGui.PsToolbar
jv.objectGui.PsToolbarItem
7. New package jvx.curve:
New function graph of a real-valued function over an interval.
jvx.curve.PgFunction
jvx.curve.PgFunction_CP
Class for parametrized curves moved to package:
jvx.geom.PgBezierCurve -> jvx.curve.PgBezierCurve
jvx.geom.PgBezierCurve_CP -> jvx.curve.PgBezierCurve_CP
jvx.geom.PgParmCurve -> jvx.curve.PgParmCurve
jvx.geom.PgParmCurve_CP -> jvx.curve.PgParmCurve_CP
jvx.geom.PgTube -> jvx.curve.PgTube
jvx.geom.PgTube_CP -> jvx.curve.PgTube_CP
8. Rename PjEvolve and PjEnergy:
jvx.geom.PwEvolve -> jvx.geom.PnEvolve
jvx.geom.PjEvolve -> jvx.geom.PwEvolve
jvx.geom.PjEvolve_IP -> jvx.geom.PwEvolve_IP
Note, the class PwEvolve exists before and now, but has changed.
jvx.geom.PjEnergy -> jvx.geom.PwEnergy
jvx.geom.PjEnergy_IP -> jvx.geom.PwEnergy_IP
9. Information in Status Bar
New methods to provide information in the status bar of a display:
- PsDebug.pushStatus(String) // show string as status and push previous status
- PsDebug.popStatus() // pop previous status
10. New packages in vgp Package:
Since v3.97.012 there are new packages
+ vgp.tutor.sizeVertex
+ vgp.tutor.sizeEdge
+ vgp.tutor.sizePolygon
+ vgp.iterate.pythagoreanTree
+ vgp.iterate.juliaSet (formerly vgp.tutor.fractal)
+ vgp.vector.translation
and obsolete:
- vgp.tutor.fractal
11. Right-Mouse PopupMenu Now Configurable
The visibility of the popup menu items can be adjusted using
applet respectively command line parameters. By default
the following items are visible:
A number of improvements have been made recently:
- all open frames are now listed as menu items in WINDOW
and can be selected there
- texture has been revised and made consistent
- texture checkbox moved from MATERIAL to TEXTURE
- texture preview, repetition, etc... now finalized
- element texture coordinates are fully listed in texture panel
with an additional slider to select an active element
- closing prj/loading new prj/ctrl-shift-y/ now closes all open frames
- preference files *.jvr are now loaded automatically
(see comments below)
- title of display now editable
- new checkbox for showing display title on display inspector
- title of inspectors synchronized
Preference files
Since 3.96.024 the JavaView standalone automatically searches
for a preference file in
rsrc/jv-rsrc.jvr
relative to the codebase. Note applets do not search.
If the file is not found, then nothing is loaded and
JavaView starts with its own defaults.
A preference file allows a user to specify many individual
settings such as defining
- a current working directory (as default for export/import)
- an author name/affilition which will automatically be
inserted in exported JVX/JVD files
- enable loading of very large data files with, say,
a 10 million vertices by doing a filtering
- font and windows sizes (OS-dependent)
- available and active menus (pending)
- and many more in the future.
It is also possible to let JavaView load a customized
JVR file using the commandline/applet parameter
jv-rsrc="myOwnDir/myOwnRsrc.jvr"
Use the menu ?->PREFERENCES to see a subset of
the current preferences. You can edit these preferences
in the dialog and save a simple JVR file from the dialog.
More complex specification require editing of the JVR file
in an ASCII editor.
Improvements of texture panel (available in: v3.96.014):
- grid in back ground with grid size 1.
- texture image drawn periodically within the bounding box
of the texture coordinates.
- now also element texture coordinates are listed
in the array on the texture panel, use slider to select element.
Repetition of texture images (available in: v3.96.013):
There are now two methods to generate a repetition
of the texture image on a surface:
1. Implicit repetition
When texture coordinates are extend beyond the normalized
texture square [0,1]*[0,1] then only the mantissa is used,
that means 1 receives texture color of 0.
When texture coordinates are within [0,1] then 1 receives
the same texture color as 1-eps.
2. Explizit repetition
The texture inspector now has two additional integer entries
to specifiy the number of repetitions of a texture image
within the normalized texture square [0,1]*[0,1]. By
default uRepeat==vRepeat==1.
Both techniques could be used simultaneously.
Running JavaView in Batch Mode
Since JavaView v3.89.004 (available at www.javaview.de/download/beta)
JavaView provides a batch mode. Currently the batch mode
allows to use JavaView as a filter (optionally without display)
1. geometry file format converter
2. image producer from geometry
JavaView recognizes the following new command line parameters:
geometryFile.ext // A geometry file with extension (jvx,byu,off,obj,wrl,mpl,mgs,...)
mode=batch // Prevent JavaView from launching a display.
exportModel=myFile.ext // Provide a single geometry file (jvx,byu,off,obj,wrl,mpl,mgs,...)
exportImage=myImage.ext // Provide a single image file (eps,ps,gif,ppm).
displayFile=myCamera.jvd // Optionally provide a display configuration file.
* The parameters exportModel and exportImage may appear simultaneously or individually.
* The export filter functionality may be used with the standard JavaView,
i.e. JavaView is launched but also provides the file conversion or rendering.
* All other command line parameters (respectively applet parameters) are still allowed.
For a list of parameters, see www.javaview.de/doc/userManual/appletParm.html
Samples:
// Only file conversion and rendering, no JavaView window will appear.
javaview myShape.jvx mode=batch exportModel=myShape.obj
// Only file conversion and rendering, no JavaView window will appear.
javaview myShape.jvx mode=batch exportImage=myShape.eps
// Only file conversion and rendering, no JavaView window will appear.
javaview myShape.jvx displayFile=myShape.jvd mode=batch exportModel=myShape.wrl exportImage=myShape.eps
// JavaView is launched, and file conversion.
javaview myShape.jvx exportModel=myShape.wrl