From matevz.tadel at cern.ch Wed Jan 5 20:59:38 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 05 Jan 2005 20:59:38 +0100
Subject: [gled-bootstrap] 1.2.4 almost ready
Message-ID: <41DC472A.6030707@cern.ch>
hi,
i've finished building 1.2.4 ... it's available from
.
i must still fix the web and write the release notes ... i guess i'll squeeze it
through this week.
there are quite some things going on ... so 1.2.4 is kind of an intermediate
release ... mostly to help me STOP and think what really to do next. Some of the
things-to-do described below are rather BIG chunks ... so choosing the right
order might really help.
1) GledCore wise:
a. reimplementation of container classes (ZList stuff)
b. reimplementation of OpticalStructures and RnrDriver interface
c. full implementation of Queen dependency management is still missing
2) ROOT wise (i'm working in the same group as main ROOT developers since
september):
a. migration to ROOT thread classes
b. making ROOT streaming and object creation thread safe
c. modularization of ROOT start-up, event-loop and resource management
(files/sockets in view of multiple threads and locking)
d. make "current" file and directory a thread-local-data
this is very important for implementation of remote file access
e. use ROOT's class catalog infrastructure (by extending TClass)
f. implement MIR creation and execution on top of that catalog
e&f are slightly far fetched ...
3) Other stuff:
a. GUI generalization (remove asymmetry between links and data-members)
b. full-custom layouts
c. split GLviewer into raw and fancy incarnation; event handling
d. documentation etc ... but that can really wait
anyway ... it's getting late here ...
enjoy,
matevz
From matevz.tadel at cern.ch Fri Jan 7 18:46:27 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Fri, 07 Jan 2005 18:46:27 +0100
Subject: [gled-bootstrap] 1.2.4 released
Message-ID: <41DECAF3.1030502@cern.ch>
hi,
i've just finished doing all the release-related work ... as well as posting
messages on freshmeat, fltk and gts mailing lists ... so i guess that means
1.2.4 is out.
the http://www.gled.org/news/ page has the release notes ...
enjoy,
matevz
From matevz.tadel at cern.ch Tue Jan 11 15:18:27 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Tue, 11 Jan 2005 15:18:27 +0100
Subject: [gled-bootstrap] 1.2.3 -> 1.2.4 user code transition
Message-ID: <41E3E033.8040907@cern.ch>
hi,
this documents changes in gled that might cause older libsets to fail
during compilation with 1.2.4.
there might be other things ... ask if you have a problem.
1) class catalogs have been somewhat sanitized and full-id-type (FID_t)
is now used consistently throughout the code.
this requires all hand-written invocations of Stamp(LibID(), ClassID())
to be rewriten to Stamp(FID()).
access to glass fid/catalog entry is now available via the follwing
interface (cut-and-pasted from GledCore/Glasses/ZGlass.h7):
static FID_t FID() { return FID_t(1,1); }
virtual FID_t VFID() const { return FID_t(1,1); }
static GledNS::ClassInfo* GlassInfo() { return sap_ZGlass_ci; }
virtual GledNS::ClassInfo* VGlassInfo() const { return sap_ZGlass_ci; }
2) since 1.2.4 gled uses *exactly* 7 render levels when rendering any
lens. before the number could have been specified in the RnrCtrl
constructor somewhere near the beginning of a glass declaration.
this flexibility was particularly painful when one started to think
about rendering of links belonging to some base-class (as link render
bits are specified together with link declaration).
section
of gledimp has been rewritten.
Now, the standard declaration of RnrCtrl is simply:
// RnrCtrl(1) - rendering on with RnrBits(2,4,6,0, 0,0,0,5)
or
// RnrCtrl(0) - rendering off
but really, all can be learned by inspecting the declaration of struct
RnrCtrl in GledCore/GledView/GledViewNS.h.
until,
matevz
From matevz.tadel at cern.ch Tue Jan 11 15:33:06 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Tue, 11 Jan 2005 15:33:06 +0100
Subject: [gled-bootstrap] Specification of project7 directives
Message-ID: <41E3E3A2.3070708@cern.ch>
hi,
i've written a short specification of directives understood by project7
parser / code generator:
C
it's not formatted terribly nicely ... too much white-space.
cheers,
matevz
From matevz.tadel at cern.ch Wed Jan 19 18:20:56 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 19 Jan 2005 18:20:56 +0100
Subject: [gled-bootstrap] some new stuff
Message-ID: <41EE96F8.8020507@cern.ch>
Hi,
i've just checked-in:
1. Completely rewritten camera positioning code (works much better with
attachement, look-at and up-reference-axis).
2. Extended handling of drag-n-drop; widgets that accepted dnd before
now also accept plain paste event (middle mouse click) and simply take
contents of shell's source as the object dragged-in.
Now an object can be selected in a gl-viewer (from the picking menu) and
then 'pasted' into the object browser to set a link or add it into a list.
3. When writing project7 directive description i noticed a bug in p7
code generating 'get' methods. After fixing it, there were many const
correctness violations ... most of the changes come from that.
So ... beware ... your code (in particular // X{g|G} constructs) might
require some changes.
Cheers,
Matevz
From matevz.tadel at cern.ch Wed Jan 19 20:14:42 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 19 Jan 2005 20:14:42 +0100
Subject: [gled-bootstrap] big demos
Message-ID: <41EEB1A2.7080305@cern.ch>
hi,
i knew i forgot something ... there is a new directory in top-level cvs
directory named demos-big.
it contains a somewhat larger demo with several big textures ... png
slides of two talks.
tarball is available from
until,
\m
From matevz.tadel at cern.ch Thu Feb 10 16:22:46 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Thu, 10 Feb 2005 16:22:46 +0100
Subject: [gled-bootstrap] Reimplementation of render-steering & recursive
removal of list elements
Message-ID: <420B7C46.5060907@cern.ch>
Hi,
just checked-in a major update of rendering infrastructure.
In summary:
A_Rnr was made a sub-class of A_View. Now renderes produce their
own RnrSchemes (the default method in A_Rnr still does what
RnrDriver did before) and have direct access to the Eye, which
simplifies storage of, and access to, default lens renderers. As
all A_Views, A_Rnrs now receive Rays and can update their own
RnrSchemes when appropriate.
This allows for purer (and much more powerfull) implementation of
rendering process.
In detail:
1. RnrCtrl class is simplified (removed bRnrSelf and bRnrLinks as they
were neither used anywhere nor very reasonable). By default all glasses
are now assigned the default rendering bits, so '7777 RnrCtrl(1)' pragma
is no longer needed.
It is no longer possible to suppress rendering of glass instances by
passing '7777 RnrCtrl(0)' pragma. This is in preparation for rendering
of list elements in some meaningful way.
2. RnrDriver now provides a hash of renderer-modificator stacks with
full-glass ID used as a key-type.
hash_map stack}>
This provides a powerful mechanism for providing (and overriding of)
data seen by rendering classes.
3. Lens-renderer base class A_Rnr has been sub-classes from
OptoStructs::A_View. It is now A_Rnr's responsibility to create its own
rendering scheme. Thus arbitrary render-graphs can be constructed by
specialized renderers.
The standard method for RnrScheme creation is provided by A_Rnr; the
order of consideration of rnr-atoms has been changed from
'self-links-list' to 'links-self-list'.
See ZNode_GL_Rnr and ZNodeLink_GL_Rnr as examples.
4. All rendering now, by default, uses ZGlassImg::fDefRnr and mcuh crap
that used to provide default renderers has been removed from OptoStructs.
5. ZNode has been extended with a link mRnrMod and flags that steer
rendering of the node and its list elements. The RnrMod link can be set
to some state modificator, e.g. to ZGlLightModel to render the node
and/or its elements in, say, wireframe mode.
ZRnrModList (a new glass) can be used to stack several modificators
together.)
6. A new option 'x' has been added to Xport{} pragma for project7: it
signifies a structural change that forces re-creation of RnrSchemes.
ZNode's RenderSelf/RenderElements flags use this.
7. ZGl* rendering classes have extended to properly function via
Pre/Post draw calls, that is, they properly push/pop the relevant
gl-attribute groups.
demos/Geom1/sphere.C has been modified to demonstrate this functionality.
--------------------------------
Some two weeks ago i also checked-in support for removal (optionally
recursive) of all member of a list. The key entry point is
ZQueen::RemoveLenses() (runs in a detached thread). It's optimized for
minimal data transfer from sun->moon and sun->eyes.
For conveniance it's also available via synchronous
ZList::RemoveLensesViaQueen().
--------------------------------
Check the ChangeLogs ... .
As always, change-log of GledCore is the most informative:
Until ...
matevz
From matevz.tadel at cern.ch Wed Feb 16 12:34:08 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 16 Feb 2005 12:34:08 +0100
Subject: [gled-bootstrap] Link-weeds in MTW_Views
Message-ID: <42132FB0.1080103@cern.ch>
hi,
just checked-in extensions of MTW_(Sub)View and code generators to allow
display of links in MTW_Views (full class-view and custom class-views
within a nest).
As a side effect, fltk-mt has been modifed. To compile gled from cvs you
need to get the latest version: i've checked it in the gled cvs under
'external/fltk-mt' ... see below.
You'll need fltk-1.1.6 ... but it has been distributed with gled-1.2.4
anyway.
until,
matevz
export CVSROOT=":pserver:anonymous at cvs.gled.org:/mnt/data/cvs/gled-1.2"
cvs login # empty password
cvs co -d fltk-mt external/fltk-mt
cd fltk-mt
./configure --ext= --prefix=
# i use prefix = ext
make
make install
--------------U41552REM5G108--
From matevz.tadel at cern.ch Sun Mar 13 21:39:30 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Sun, 13 Mar 2005 21:39:30 +0100
Subject: [gled-bootstrap] restructuring of core viewing classes
Message-ID: <4234A502.6060004@cern.ch>
Hi,
yesterday i checked in a bunch of changes that make the first step
towards custom gui layouts. Creation functions of eyes (currently
FTW_Shell, which is now a sub-class of Eye) and sub-shells (common name
for Pupil and FTW_Nest, but in future any complex custom view) are now
demangled at run-time.
FTW_Shell can now swallow any sub-shell, see
Most demos now enforce scene's up direction to pupil's camera. This
should help people that are not using the Control button.
Again, you'll need to update fltk-mt from cvs.
Until,
matevz
From matevz.tadel at cern.ch Wed Mar 23 13:56:23 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 23 Mar 2005 13:56:23 +0100
Subject: [gled-bootstrap] some proto elements for custom-gui
Message-ID: <42416777.7000000@cern.ch>
hi,
just checked in loads of changes (mostly in GledCore) ... these are
mostly precursors of customizable gui ... but the real goal was to make
a gui wrapper over the pupil (gl-viewer) and offer selection of
different views from the menu. see demos in the RootGeo libset, in
particular alice_simple.C (some data-files have been checked-in, the big
one, needed to run other demos, is at
).
some changes in fltk-mt: a) fixed annoying widget-content reformatting
in the color chooser; b) you can now use drag-n-drop (and paste) on
color-buttons.
enjoy,
matevz
From matevz.tadel at cern.ch Mon Apr 18 16:27:39 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Mon, 18 Apr 2005 16:27:39 +0200
Subject: [gled-bootstrap] cvs news: metagui, regexp
Message-ID: <4263C3DB.3050501@cern.ch>
hi,
i've checked-in the first incarnation of meta-gui elements. so far it's
restricted to putting together class-view elements in an arbitrary
composition. see demos/Geom1/metagui_test.C.
there's a small change in fltk-mt so you'll need to grab that, too.
otherwise, perl-like regexp library (PCRE and PME) were brutally
stripped and the result put within the GledCore libset (see
GledCore/RegExp). the api has been left completely intact ... so you can
simply #include and use it.
see changelogs for details.
best,
matevz
From matevz.tadel at cern.ch Wed Jun 8 17:22:13 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Wed, 08 Jun 2005 17:22:13 +0200
Subject: [gled-bootstrap] Preparing release 1.2.5
Message-ID: <42A70D25.5040105@cern.ch>
Hi,
i've just checked-in the last bunch of stuff before the release.
There is a change in "the standard way" to call/load macro scripts.
Global variables declared in GledCore startup-steering scripts are now
prefixed with 'g_'.
All the demos have been updated to the new mechanism ... so take a look
at those and see GledCore/ChangeLog.
I've already built the external software ... i expect to have the
release out on friday.
Must do some minor web (status, new libsets; perhaps the about page) and
documentation (gledimp, auto class-documentation) updates ... and Jona
promised the new version of gledgui to be ready previous Friday so, i
guess, there's some hope to have it in this week. Nudge.
Best,
matevz
From matevz.tadel at cern.ch Fri Jun 10 19:59:49 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Fri, 10 Jun 2005 19:59:49 +0200
Subject: [gled-bootstrap] 1.2.5 released
Message-ID: <42A9D515.8050404@cern.ch>
hi,
things are set in place for the release announcements.
following Jona's statistical report that most people browse web on
mondays and thursdays (besides not having the gled-gui ready) ... the
posts on popular sites will be made on monday afternoon.
web has been fully updated to the new release, see in particular:
http://www.gled.org/ -- abstract changed
http://www.gled.org/news/
http://www.gled.org/screenshots/
http://www.gled.org/libsets/
http://www.gled.org/download/
let me know if something is wrong with the web or the distribution.
cheers,
matevz
From matevz.tadel at cern.ch Mon Oct 3 17:05:52 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Mon, 03 Oct 2005 17:05:52 +0200
Subject: [gled-bootstrap] Major changes in cvs
Message-ID: <434148D0.9000201@cern.ch>
hi,
this morning i've checked-in major changes that have been cooking for the last
two months. These are mostly targeted at consolidation with ROOT's I/O system
and in particular its support for automatic schema evolution. Another big change
is complete restructuring of container classes. See changelog of GledCore for
slightly more information and migration instructions:
.
eventually this will become gled-1.3 ... but i'd like to rethink and finish a
couple of things about gl rendering and actually implement the vector and
string-map containers (with gui support). and fix the docs ... ouch ...
as there are many many other things i'm being pested about this won't be exactly
fast but end of the year seems like a good target.
best,
matevz
From matevz.tadel at cern.ch Tue Oct 25 12:36:48 2005
From: matevz.tadel at cern.ch (Matevz Tadel)
Date: Tue, 25 Oct 2005 12:36:48 +0200
Subject: [gled-bootstrap] Top-level make-fragments change
Message-ID: <435E0AC0.5080203@cern.ch>
hi,
i've just comitted a change that requires libset-makefiles to include two
make-fragments instead of a single one.
see comments in the ChangeLog:
and the Makefiles mentioned there.
cheers,
matevz