1 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
5 In class Track: renamed ImportDaughters() to ImportKine(), added
6 ImportKineWithArgs(), both accessible from ctx-menu.
8 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
13 TrackRnrStyle: add pt-range memebers.
15 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
19 Add function to return PathMark type-name.
22 Call redraw after Enable/DisableListElements.
26 Two new items for context menu: PrintPathMarks and
30 Make consistent alignment.
32 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
38 Fix Ludovic's strange const-method syntax.
40 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
43 Add member time to class PathMark. Set values in enum
47 Add callbacks to set path marks. In Track::MakeTrack() implement
48 fitting of track references and daughter particles.
51 Add Getters and Setters in TrackRnrStyle and TrackList to define
52 rendering of path marks.
56 Add widgets to control rendering and fiting of pathmarks.
60 Override LineGL::DirectDraw() to draw path marks.
62 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
65 Added nested class RedrawDisabler allowing exception-safe
66 disabling of 3d-redraw.
68 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
72 TrackCounterEditor: add number-entry to directly set the event
75 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
79 TrackCounter: added method OutputEventTracks() for storing
84 TrackCounterEditor: added buttons to print/file scanning results
85 and to display current histograms.
87 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
91 Added method Track::PrintKineStack(); added global TrackCounter
92 pointer to overcome resets of CINT globals in macros.
94 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
97 Added getters for frame-point details.
100 If frame-box is set, use it for determination of bounding-box.
102 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
105 Subclass from ReferenceBackPtr instead of ReferenceCount.
112 Moved declaration/definition of ReferenceBackPtr from
113 RenderElement.h/cxx to Reve.h/cxx.
116 Added index data-member to MC/RecTrack.
120 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
121 fEmitSignals' that controls if signals are emitted on secondary
123 Fixed handling of main-color which is in fact
124 forwarded to shared frame.
128 Added method 'void ImportClustersFromIndex()' and data-member
132 Increase range of track extrapolation precision.
134 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
138 Added per-quad TRef, implemented virtual callback QuadSelected()
139 for secondary selection from GL.
143 Added support for secondary selection. Sacrificed some speed for
144 simplicity / clarity.
146 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
150 Added inner struct VoidCPlex::iterator; increase constness.
155 Slight simplification of heavy-duty loops over elements.
157 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
163 Added support for rendering hexagons (needed by PMD).
165 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
169 Renamed typedef lpRE_t/i to List_t/i.
170 Added method groups Begin/End/GetN-Parents/Children().
176 Renamed typedef lpRE_t/i to List_t/i.
179 New class TrackCounter[Editor]; added RenderElement typedefs.
182 Render frame before checking if QuadSet is empty and exiting.
186 Added a hack that restores CINT state if macro execution ends with
191 Added class TrackCounter;
192 Track now inherits from TQObject and emits a Clicked() signal;
193 Renamed typedef lpRE_t/i to List_t/i.
197 Added class TrackCounterEditor.
200 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
202 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
210 New files: line representation with per-point selection.
214 New files: allow interaction with the track, more configurability
215 (render as line, points or both).
219 Derive Track from Line (before was TPolyLine3D, RenderElement);
220 this allowed me to remove a lot of code actually shared with
224 Register new classes.
227 Some points were duplicated during track construction.
234 Use better names for QuadTypes (enum and internal structs).
238 Style/comment changes.
240 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
244 Removed unnecessary constructor.
246 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
249 Bugfix: loop variable was not increased in case of a continue
254 Rename over/undershoot to over/underflow.
256 * RGBAPaletteEditor.cxx:
257 * RGBAPaletteEditor.h:
258 Beautify editor; rename over/undershoot to over/underflow.
260 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
264 * CascadeEditors.cxx:
266 From Ludovic, new files for visualization of cascades.
269 From Ludovic: register new classes. Reorganize some entries so
270 that a class, editor and gl-renderer are listed together.
275 From Ludovic: updates for V0 visualization.
279 Main color now set from frame-box (instead of default palette
283 Use new color-query function from RGBAPalette; validity of digit
284 value was not honoured in line-drawing modes.
288 * RGBAPaletteEditor.cxx:
289 * RGBAPaletteEditor.h:
290 Reimplementation of over/undershoot handling with separate modes
291 for both ends (cut, mark, clip and wrap); this works marvelously.
295 New files, editor for QuadSet gluing together translation and
300 Added int version of SetLimits for RGDoubleValuator; added
301 getters for value limits (Ludovic).
307 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
315 * RGBAPaletteEditor.cxx:
329 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
332 Added getters for limits of the RGValuator.
334 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
337 Removed support for old ROOT versions.
341 Added base-interface ReferenceBackPtr (reference-counted object
342 with back references to render elements); to be used for shared
343 markup classes (color-palettes, frames) that need to update their
344 consumers once their state is changed.
348 Removed code for RGBAPalette; now in its own file.
352 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
358 Very optimized in sense of speed / memory usage as it supports
359 several orientations of rectangles and all possible variants of
360 default sizes / third coordinate; also added pointers to
361 color-palette and frame-box/rectangle so that these elements can
362 be shared among instances of the same type (eg. silicon strip
363 detectors). Means more code in this class ... but hopefully much
367 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
373 New files: provide a surrounding box/rectangle with a given
374 size/color; can be shared among many instances of render-elements
375 (eg. silicon strip detectors).
379 New files: container with chunked memory allocation (to avoid
380 frequent re-allocation on creation time) and ability to refit
381 itself into a contiguous array.
385 * RGBAPaletteEditor.cxx:
386 * RGBAPaletteEditor.h:
387 New files: a generic color palette with value to color mapping; to
388 be used by most digit/raw-data classes; can be shared among many
389 instances of render-elements (eg. silicon strip detectors).
395 From Ludovic: new files for visualization of V0s.
397 * RenderElementEditor.cxx:
401 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
408 Started to work on reimplementation of the quad-set, renamed the
409 old one to OldQuadSet; i'm checking this in because another change is
410 needed for the new muon code and i already changed several things.
412 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
416 In Line render-mode really render boxes as lines to allow
417 selection to proceed through the box walls; removed pre-processor
418 ifs for old root version.
420 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
423 Fixed operator+ functions for exceptions (forgot to change them
424 when migrated from std::string to TString as exception base-class).
426 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
430 Changed inheritance to include Reve::RenderElement;
431 use ZTrans to store transformation matrix;
432 added render-mode state (to force line/fill drawing).
434 In class Box added ctor and function MakeAxisAlignedBox() to
435 facilitate creation of regular boxes.
438 Support different render modes.
443 New class Reve::RGBAPalette: allow easier creation of color
444 paletts mapped to integer-value range.
450 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
451 change width of all tracks in TrackList.
455 Added method method GenerateZNormalColors() that uses
456 Reve::RGBAPalette to set-up triangle color based on z-component of
459 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
465 New files: implementation of homogeneous transformation matrix
466 with accompanying geditor.
470 * TriangleSetEditor.cxx:
471 * TriangleSetEditor.h:
474 New files: arbitrary triangulated surface.
477 Create a dummy event directory if none exists on AddRenderElement.
481 Added class RGTriVecValuator, a composite widget for editing
482 three-vectors. Used by ZTransEditor.
487 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
491 Added contructor from TPartice.
493 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
498 Fix wrong numerical constant in transformation assignment.
501 Added comment about problems with getting context-menu for
506 Added data-members for important GUI elements (master-frame,
507 master-tab); added method 'AddCanvasTab(const char* name)'.
511 Use TString as exception base instead of std::string.
515 Brought in sync with changes in render-element
516 management/conventions.
518 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
524 Made RenderElement::ExportToCINT() virtual and reimplemented it in
529 Added optional TrackRnrStyle* argument to TrackList constructors;
530 renamed mRnrStyle to fRnrStyle.
532 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
541 Changes for new geditor and gl two-level selection; added
542 delarations of private copy-ctor and assignment-op.
545 Added method GetRnrElement().
550 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
551 it checks if the object is being displayed in the editor but can
552 in principle check other things as well.
554 * RenderElementEditor.cxx:
555 Assgined RenderElementEditor fPriority 0 (to appear on top).
557 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
562 Made GLCanvas un-editable to prevent users from drawing things
563 over 3D scene; renamed the canvas data member from fCC to
564 fGLCanvas. Renamed local variables not to dress-up as
567 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
570 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
575 Properly update items of render-elements; call gReve::Redraw3D()
576 instead of pad modified/update. Added separate method
577 DisplayRenderElement() that caches the render-element in a
578 data-member to update it on change (needed for RenderElementObjPtr).
581 Use RGEditor::DisplayRenderElement() instead of
582 DisplayObject(). Removed some never-used static structures.
585 Removed Redraw3D() from UpdateItems() as it can now be called from
586 RGEditor::Update(); optimized item-updates in SetRnrElement() and
589 * PointSetArrayEditor.cxx:
591 Added call to Update() in SetRange() methods.
593 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
598 Use new functionality from TGedEditor.
600 * PointSetArrayEditor.cxx:
601 * PointSetArrayEditor.h:
602 * RGeoNodeEditors.cxx:
604 * RenderElementEditor.cxx:
605 * RenderElementEditor.h:
608 Conform to new TGedFrame paradigm in ROOT.
610 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
613 Fix effc++ warnings and most blatant coding-convention violations.
615 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
621 * PointSetArrayEditor.cxx:
622 * PointSetArrayEditor.h:
628 * RGeoNodeEditors.cxx:
632 * RenderElementEditor.cxx:
633 * RenderElementEditor.h:
651 Removed code for gled-like object editors (obsolete, somewhat
652 decayed); fix effc++ warnings.
654 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
660 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
663 In Reset: added call to PointSet3D::ClearIds().
667 Added support for control of camera-reset to Redraw3D(); when
668 opening GL window disable automatic camera reset on update and on
671 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
675 Commented-out info print statements.
677 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
681 Bypass buggy TMacro ctor (caused problems on paths including '.',
684 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
688 Added method RenderElementListBase::DestroyElements().
690 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
694 Removed files: the contents moved to VSDEvent and renamed
699 New files: common base class for an event object (VSDEvent and
704 New files: rename of class Reve::Event, now subclassed from
708 Reflect changes in event classes.
711 Added include TError.h.
715 Changed current-event pointer from TObject to EventBase; made
716 global-store and event-stores render elements; improved interface
717 for adding/removing render-elements.
721 Implemented proper reference management accross render-elements,
722 render-element-lists and tree-items; implemented methods for
723 removal and destruction of render-elements.
729 * RGeoNodeEditors.cxx:
732 Proper management of dependent render-elements, renamed
733 FullUpdate() to UpdateItems() and changed inheritance order
734 (derive RenderElement first).
736 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
741 Added new classes TPointSelector and TPointSelectorConsumer
742 allowing more natural extraction of point-data from trees.
746 Implemented the TPointSelectorConsumer interface for PointSet and
747 PointSetArray; in PointSetArray removed obsolete methods
748 MakeScrollbar() and HandleScrollEvent().
750 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
753 Skip render-state initialization if no boxes present.
757 Added option to render GeoTopNodeRnrEl at a given global position
758 (requires ROOT > 5.11.7).
763 Fixed creation of editor frame so that it uses X client's
764 SetRoot() functionality. This should (finally) close the issue.
767 Check for macro via full-path (fTitle); save macro as '.C' not
771 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
772 searching the list of global functions.
775 Fixed code for hit and cluster import to work with 'new' render
776 element registration mechanism.
778 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
783 New class Reve::RMacro: a sub-class of TMacro that tries to unload
784 the macros properly before/after the operation.
788 Provide TFoler fMacroFolder to all consumers, register
789 Reve::RMacro mime type on start-up.
793 Added global function Bool_t Reve:CheckMacro().
795 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
799 In TrackList: added ImportHits/Clusters(); removed obsolete
802 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
806 In PointSetArray: added member for default daughter PointSet
807 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
808 daughter polymarker stuff in InitBins() instead of CloseBins().
812 Consistently use nuber of slider positions in RGValuator.
815 Added method RenderElementListBase::RemoveElements().
817 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
820 Added non-protected wrapper Render() for DirectDraw().
824 Subclassed point-set-array from TAttMarker, propagate changes to
827 * PointSetArrayEditor.cxx:
828 Removed stale printout.
831 Print exceptions to terminal also.
833 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
836 Draw charged tracks as straight lines when magnetic field is near
839 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
846 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
847 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
848 when dependencies were not generated properly.
852 Added methods Track::ImportHits() and Track::ImportClusters();
853 fixed a charge value inconsistency yielding reconstructed
854 track charge to be 1/3.
856 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
859 Added friend PointSetArrayEditor.
861 * PointSetArrayEditor.cxx:
862 * PointSetArrayEditor.h:
865 Use RGDoubleValuator for range-selection widget.
868 Accept -mode cmd-line option as an alias for -revemode.
871 Added some padding for labels.
873 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
877 Added method UndrawRenderElement().
881 Implemented dtor for RenderElement removing all instances from
886 Added method RGValuator::SetEnabled().
888 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
895 Added preprocessor conditionals to support ROOT > 5.11.2.
897 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
904 New valuator widget classes RGValuator and RGDoubleValuator.
906 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
911 Added method ArrTrans().
914 Added setup of macro/include paths into function
917 * reve_main/reve_main.cxx:
918 Removed macro/include path setup.
920 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
926 Use RenderElement* as user-data of list-tree entries (it was
932 Added class RenderElementObjPtr to allow display and control of
933 pure TObjects (see alice-macros/region_marker.C for an
934 example). This is not perfect as there is no way to get
935 color-change updates from the editor (can fix this when i get
936 control over TGedEditor::Update()). RenderElement::GetObject() is
941 Added function FindColorVar() to allow RenderElementObjPtr objects
942 to peek into appropriate color.
944 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
950 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
955 Fix for editor window not appearing under some window
956 managers. For me it was working OK under fvwm and KDE (any focus
957 policy) but not at all under Gnome. This fixed my gnome problem
958 but it's quite likely the problem is not completely solved.
960 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
965 Added missing initializations. In particular, fCurrentEvent,
966 fCurrentEventLTI and fGeometryLTI were not initialized and this
967 caused segvs for usage without bootstrap with alieve_init.C macro.
969 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
975 New class Reve::ReferenceCount; to be used as secondary base class.
977 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
983 New function ColorFromIdx().
989 New files: a set of boxes with direct GL rendering.
992 Pragmas for BoxSet/GL.