1 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
4 Added nested class RedrawDisabler allowing exception-safe
5 disabling of 3d-redraw.
7 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
11 TrackCounterEditor: add number-entry to directly set the event
14 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
18 TrackCounter: added method OutputEventTracks() for storing
23 TrackCounterEditor: added buttons to print/file scanning results
24 and to display current histograms.
26 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
30 Added method Track::PrintKineStack(); added global TrackCounter
31 pointer to overcome resets of CINT globals in macros.
33 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
36 Added getters for frame-point details.
39 If frame-box is set, use it for determination of bounding-box.
41 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
44 Subclass from ReferenceBackPtr instead of ReferenceCount.
51 Moved declaration/definition of ReferenceBackPtr from
52 RenderElement.h/cxx to Reve.h/cxx.
55 Added index data-member to MC/RecTrack.
59 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
60 fEmitSignals' that controls if signals are emitted on secondary
62 Fixed handling of main-color which is in fact
63 forwarded to shared frame.
67 Added method 'void ImportClustersFromIndex()' and data-member
71 Increase range of track extrapolation precision.
73 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
77 Added per-quad TRef, implemented virtual callback QuadSelected()
78 for secondary selection from GL.
82 Added support for secondary selection. Sacrificed some speed for
85 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
89 Added inner struct VoidCPlex::iterator; increase constness.
94 Slight simplification of heavy-duty loops over elements.
96 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
102 Added support for rendering hexagons (needed by PMD).
104 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
108 Renamed typedef lpRE_t/i to List_t/i.
109 Added method groups Begin/End/GetN-Parents/Children().
115 Renamed typedef lpRE_t/i to List_t/i.
118 New class TrackCounter[Editor]; added RenderElement typedefs.
121 Render frame before checking if QuadSet is empty and exiting.
125 Added a hack that restores CINT state if macro execution ends with
130 Added class TrackCounter;
131 Track now inherits from TQObject and emits a Clicked() signal;
132 Renamed typedef lpRE_t/i to List_t/i.
136 Added class TrackCounterEditor.
139 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
141 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
149 New files: line representation with per-point selection.
153 New files: allow interaction with the track, more configurability
154 (render as line, points or both).
158 Derive Track from Line (before was TPolyLine3D, RenderElement);
159 this allowed me to remove a lot of code actually shared with
163 Register new classes.
166 Some points were duplicated during track construction.
173 Use better names for QuadTypes (enum and internal structs).
177 Style/comment changes.
179 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
183 Removed unnecessary constructor.
185 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
188 Bugfix: loop variable was not increased in case of a continue
193 Rename over/undershoot to over/underflow.
195 * RGBAPaletteEditor.cxx:
196 * RGBAPaletteEditor.h:
197 Beautify editor; rename over/undershoot to over/underflow.
199 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
203 * CascadeEditors.cxx:
205 From Ludovic, new files for visualization of cascades.
208 From Ludovic: register new classes. Reorganize some entries so
209 that a class, editor and gl-renderer are listed together.
214 From Ludovic: updates for V0 visualization.
218 Main color now set from frame-box (instead of default palette
222 Use new color-query function from RGBAPalette; validity of digit
223 value was not honoured in line-drawing modes.
227 * RGBAPaletteEditor.cxx:
228 * RGBAPaletteEditor.h:
229 Reimplementation of over/undershoot handling with separate modes
230 for both ends (cut, mark, clip and wrap); this works marvelously.
234 New files, editor for QuadSet gluing together translation and
239 Added int version of SetLimits for RGDoubleValuator; added
240 getters for value limits (Ludovic).
246 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
254 * RGBAPaletteEditor.cxx:
268 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
271 Added getters for limits of the RGValuator.
273 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
276 Removed support for old ROOT versions.
280 Added base-interface ReferenceBackPtr (reference-counted object
281 with back references to render elements); to be used for shared
282 markup classes (color-palettes, frames) that need to update their
283 consumers once their state is changed.
287 Removed code for RGBAPalette; now in its own file.
291 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
297 Very optimized in sense of speed / memory usage as it supports
298 several orientations of rectangles and all possible variants of
299 default sizes / third coordinate; also added pointers to
300 color-palette and frame-box/rectangle so that these elements can
301 be shared among instances of the same type (eg. silicon strip
302 detectors). Means more code in this class ... but hopefully much
306 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
312 New files: provide a surrounding box/rectangle with a given
313 size/color; can be shared among many instances of render-elements
314 (eg. silicon strip detectors).
318 New files: container with chunked memory allocation (to avoid
319 frequent re-allocation on creation time) and ability to refit
320 itself into a contiguous array.
324 * RGBAPaletteEditor.cxx:
325 * RGBAPaletteEditor.h:
326 New files: a generic color palette with value to color mapping; to
327 be used by most digit/raw-data classes; can be shared among many
328 instances of render-elements (eg. silicon strip detectors).
334 From Ludovic: new files for visualization of V0s.
336 * RenderElementEditor.cxx:
340 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
347 Started to work on reimplementation of the quad-set, renamed the
348 old one to OldQuadSet; i'm checking this in because another change is
349 needed for the new muon code and i already changed several things.
351 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
355 In Line render-mode really render boxes as lines to allow
356 selection to proceed through the box walls; removed pre-processor
357 ifs for old root version.
359 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
362 Fixed operator+ functions for exceptions (forgot to change them
363 when migrated from std::string to TString as exception base-class).
365 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
369 Changed inheritance to include Reve::RenderElement;
370 use ZTrans to store transformation matrix;
371 added render-mode state (to force line/fill drawing).
373 In class Box added ctor and function MakeAxisAlignedBox() to
374 facilitate creation of regular boxes.
377 Support different render modes.
382 New class Reve::RGBAPalette: allow easier creation of color
383 paletts mapped to integer-value range.
389 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
390 change width of all tracks in TrackList.
394 Added method method GenerateZNormalColors() that uses
395 Reve::RGBAPalette to set-up triangle color based on z-component of
398 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
404 New files: implementation of homogeneous transformation matrix
405 with accompanying geditor.
409 * TriangleSetEditor.cxx:
410 * TriangleSetEditor.h:
413 New files: arbitrary triangulated surface.
416 Create a dummy event directory if none exists on AddRenderElement.
420 Added class RGTriVecValuator, a composite widget for editing
421 three-vectors. Used by ZTransEditor.
426 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
430 Added contructor from TPartice.
432 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
437 Fix wrong numerical constant in transformation assignment.
440 Added comment about problems with getting context-menu for
445 Added data-members for important GUI elements (master-frame,
446 master-tab); added method 'AddCanvasTab(const char* name)'.
450 Use TString as exception base instead of std::string.
454 Brought in sync with changes in render-element
455 management/conventions.
457 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
463 Made RenderElement::ExportToCINT() virtual and reimplemented it in
468 Added optional TrackRnrStyle* argument to TrackList constructors;
469 renamed mRnrStyle to fRnrStyle.
471 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
480 Changes for new geditor and gl two-level selection; added
481 delarations of private copy-ctor and assignment-op.
484 Added method GetRnrElement().
489 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
490 it checks if the object is being displayed in the editor but can
491 in principle check other things as well.
493 * RenderElementEditor.cxx:
494 Assgined RenderElementEditor fPriority 0 (to appear on top).
496 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
501 Made GLCanvas un-editable to prevent users from drawing things
502 over 3D scene; renamed the canvas data member from fCC to
503 fGLCanvas. Renamed local variables not to dress-up as
506 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
509 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
514 Properly update items of render-elements; call gReve::Redraw3D()
515 instead of pad modified/update. Added separate method
516 DisplayRenderElement() that caches the render-element in a
517 data-member to update it on change (needed for RenderElementObjPtr).
520 Use RGEditor::DisplayRenderElement() instead of
521 DisplayObject(). Removed some never-used static structures.
524 Removed Redraw3D() from UpdateItems() as it can now be called from
525 RGEditor::Update(); optimized item-updates in SetRnrElement() and
528 * PointSetArrayEditor.cxx:
530 Added call to Update() in SetRange() methods.
532 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
537 Use new functionality from TGedEditor.
539 * PointSetArrayEditor.cxx:
540 * PointSetArrayEditor.h:
541 * RGeoNodeEditors.cxx:
543 * RenderElementEditor.cxx:
544 * RenderElementEditor.h:
547 Conform to new TGedFrame paradigm in ROOT.
549 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
552 Fix effc++ warnings and most blatant coding-convention violations.
554 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
560 * PointSetArrayEditor.cxx:
561 * PointSetArrayEditor.h:
567 * RGeoNodeEditors.cxx:
571 * RenderElementEditor.cxx:
572 * RenderElementEditor.h:
590 Removed code for gled-like object editors (obsolete, somewhat
591 decayed); fix effc++ warnings.
593 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
599 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
602 In Reset: added call to PointSet3D::ClearIds().
606 Added support for control of camera-reset to Redraw3D(); when
607 opening GL window disable automatic camera reset on update and on
610 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
614 Commented-out info print statements.
616 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
620 Bypass buggy TMacro ctor (caused problems on paths including '.',
623 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
627 Added method RenderElementListBase::DestroyElements().
629 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
633 Removed files: the contents moved to VSDEvent and renamed
638 New files: common base class for an event object (VSDEvent and
643 New files: rename of class Reve::Event, now subclassed from
647 Reflect changes in event classes.
650 Added include TError.h.
654 Changed current-event pointer from TObject to EventBase; made
655 global-store and event-stores render elements; improved interface
656 for adding/removing render-elements.
660 Implemented proper reference management accross render-elements,
661 render-element-lists and tree-items; implemented methods for
662 removal and destruction of render-elements.
668 * RGeoNodeEditors.cxx:
671 Proper management of dependent render-elements, renamed
672 FullUpdate() to UpdateItems() and changed inheritance order
673 (derive RenderElement first).
675 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
680 Added new classes TPointSelector and TPointSelectorConsumer
681 allowing more natural extraction of point-data from trees.
685 Implemented the TPointSelectorConsumer interface for PointSet and
686 PointSetArray; in PointSetArray removed obsolete methods
687 MakeScrollbar() and HandleScrollEvent().
689 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
692 Skip render-state initialization if no boxes present.
696 Added option to render GeoTopNodeRnrEl at a given global position
697 (requires ROOT > 5.11.7).
702 Fixed creation of editor frame so that it uses X client's
703 SetRoot() functionality. This should (finally) close the issue.
706 Check for macro via full-path (fTitle); save macro as '.C' not
710 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
711 searching the list of global functions.
714 Fixed code for hit and cluster import to work with 'new' render
715 element registration mechanism.
717 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
722 New class Reve::RMacro: a sub-class of TMacro that tries to unload
723 the macros properly before/after the operation.
727 Provide TFoler fMacroFolder to all consumers, register
728 Reve::RMacro mime type on start-up.
732 Added global function Bool_t Reve:CheckMacro().
734 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
738 In TrackList: added ImportHits/Clusters(); removed obsolete
741 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
745 In PointSetArray: added member for default daughter PointSet
746 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
747 daughter polymarker stuff in InitBins() instead of CloseBins().
751 Consistently use nuber of slider positions in RGValuator.
754 Added method RenderElementListBase::RemoveElements().
756 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
759 Added non-protected wrapper Render() for DirectDraw().
763 Subclassed point-set-array from TAttMarker, propagate changes to
766 * PointSetArrayEditor.cxx:
767 Removed stale printout.
770 Print exceptions to terminal also.
772 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
775 Draw charged tracks as straight lines when magnetic field is near
778 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
785 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
786 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
787 when dependencies were not generated properly.
791 Added methods Track::ImportHits() and Track::ImportClusters();
792 fixed a charge value inconsistency yielding reconstructed
793 track charge to be 1/3.
795 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
798 Added friend PointSetArrayEditor.
800 * PointSetArrayEditor.cxx:
801 * PointSetArrayEditor.h:
804 Use RGDoubleValuator for range-selection widget.
807 Accept -mode cmd-line option as an alias for -revemode.
810 Added some padding for labels.
812 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
816 Added method UndrawRenderElement().
820 Implemented dtor for RenderElement removing all instances from
825 Added method RGValuator::SetEnabled().
827 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
834 Added preprocessor conditionals to support ROOT > 5.11.2.
836 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
843 New valuator widget classes RGValuator and RGDoubleValuator.
845 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
850 Added method ArrTrans().
853 Added setup of macro/include paths into function
856 * reve_main/reve_main.cxx:
857 Removed macro/include path setup.
859 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
865 Use RenderElement* as user-data of list-tree entries (it was
871 Added class RenderElementObjPtr to allow display and control of
872 pure TObjects (see alice-macros/region_marker.C for an
873 example). This is not perfect as there is no way to get
874 color-change updates from the editor (can fix this when i get
875 control over TGedEditor::Update()). RenderElement::GetObject() is
880 Added function FindColorVar() to allow RenderElementObjPtr objects
881 to peek into appropriate color.
883 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
889 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
894 Fix for editor window not appearing under some window
895 managers. For me it was working OK under fvwm and KDE (any focus
896 policy) but not at all under Gnome. This fixed my gnome problem
897 but it's quite likely the problem is not completely solved.
899 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
904 Added missing initializations. In particular, fCurrentEvent,
905 fCurrentEventLTI and fGeometryLTI were not initialized and this
906 caused segvs for usage without bootstrap with alieve_init.C macro.
908 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
914 New class Reve::ReferenceCount; to be used as secondary base class.
916 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
922 New function ColorFromIdx().
928 New files: a set of boxes with direct GL rendering.
931 Pragmas for BoxSet/GL.