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