1 2007-04-11 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
5 * StraightLineSetEditor.cxx:
6 * StraightLineSetEditor.h:
7 * StraightLineSetGL.cxx:
9 New class StraightLineSet with accompanying GL and Editor classes.
12 Register new StraightLineSetXyzz classes.
16 Add a function to render polymarkers from float array and
22 Reimplement callback of the Checked() signal from
23 RGBrowser::fListTree; function in RenderElement renamed from
24 ToggleRnrState to SetRnrState.
26 2007-04-11 Matevz Tadel <matevz.tadel@cern.ch>
30 Added setup function SetAABoxCenterHalfSize().
32 2007-04-10 Matevz Tadel <matevz.tadel@cern.ch>
36 Make Track::MakeTrack() virtual; Bogdan: add
37 TrackList::SelectByP() and supporting variables.
41 Bogdan: add controls for TrackList::SelectByP().
43 2007-03-25 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
47 New namespace GLTextNS: produce text using texture maps.
50 Helper classes/functions for GL state handling.
52 2007-03-25 Matevz Tadel <matevz.tadel@cern.ch>
56 Improve handling of multi-level track containers for kinematic
59 2007-03-24 Matevz Tadel <matevz.tadel@cern.ch>
62 * RenderElementEditor.cxx:
63 * RenderElementEditor.h:
64 Add virtual interface allowing sub-classes to request editor for
65 transparency and transformation-matrix via RenderElement.
69 Added method SetGeoHMatrix(), initializing TGeoHMatrix from
74 Use transparency/transf-matrix service from RenderElement for
75 classes GeoTopNodeRnrEl and GeoShapeRnrEl; use ZTrans for storage
76 of transforamtion matrix in class GeoTopNodeRnrEl.
78 * RGeoNodeEditors.cxx:
79 Removed unneeded widget association.
81 2007-03-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
84 Add getter for fValueIsColor.
86 2007-03-22 Matevz Tadel <matevz.tadel@cern.ch>
88 * TGeoShapeExtract.cxx:
90 New files: class TGeoShapeExtract that allows import of exact
91 image of geometry as exported from gled.
96 New classes TGeoShapeExtract and Reve::GeoShapeRnrEl.
99 Disable ROOT's auto-update of TGListTree's checkboxes.
102 Setup check-box pictures when inserting in a list-tree.
105 Fix typo, swap of R/Z.
109 Add ctors/setters from float/double arrays.
112 Align position, rotation and scale widgets.
119 2007-03-15 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
124 New class GridStepper.
127 Check ownership of quad-ids in Reset().
129 2007-03-15 Matevz Tadel <matevz.tadel@cern.ch>
133 Add an optional flag to Redraw3D() issuing a request for dropping
134 of logical-shapes on this redraw (temporary hack until we get new
135 gl stuff and can do it right). Fix in RemoveRenderElement() where
136 wrong argument was used when unregistering the item from the
139 2007-03-08 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
143 Added method SortPathMarksByTime().
146 Fix for checking boundaries of path-marks.
148 2007-03-08 Matevz Tadel <matevz.tadel@cern.ch>
151 Missing initialization; fiddle with the track marker-style a bit
154 2007-03-06 Matevz Tadel <matevz.tadel@cern.ch>
157 In PadPrimitive::Paint() test fRnrChildren instead of fRnrSelf.
158 Some formatting changes while searching for the above bug.
160 2007-03-04 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
165 Classes RenderElement and RenderElementListBase have been merged,
166 RenderElementListBase class is removed.
168 Since RenderElement supports hierarchical structure fRnrElement is
169 replaced to fRnrSelf and fRnrChildren. RnrSelf/RnrDaughters
170 callbacks from editor set check box picture according to the for
173 New class PadPrimitve. Objects of the classes enable recursive
174 rendering as they are added in TPad fListOfPrimitives.
178 Changes from RenderElement. Added Bool_t fKeepEmptyCont
179 determining behaviour of zero-count rnr-element imports.
183 Added function to create 4 check box pictures which mark fRnrSelf
184 and fRnrChildren state of RenderElement.
188 Inherit from PadPrimitve instead of from RenderElementList.
190 * RenderElementEditor.cxx:
191 * RenderElementEditor.h:
201 Changes from RenderElement.
205 Changes from RenderElement; change import functions to
206 add hits, clusters, kinematic to selected object.
208 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
212 In class Track: renamed ImportDaughters() to ImportKine(), added
213 ImportKineWithArgs(), both accessible from ctx-menu.
215 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
220 TrackRnrStyle: add pt-range memebers.
222 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
226 Add function to return PathMark type-name.
229 Call redraw after Enable/DisableListElements.
233 Two new items for context menu: PrintPathMarks and
237 Make consistent alignment.
239 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
245 Fix Ludovic's strange const-method syntax.
247 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
250 Add member time to class PathMark. Set values in enum
254 Add callbacks to set path marks. In Track::MakeTrack() implement
255 fitting of track references and daughter particles.
258 Add Getters and Setters in TrackRnrStyle and TrackList to define
259 rendering of path marks.
263 Add widgets to control rendering and fiting of pathmarks.
267 Override LineGL::DirectDraw() to draw path marks.
269 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
272 Added nested class RedrawDisabler allowing exception-safe
273 disabling of 3d-redraw.
275 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
279 TrackCounterEditor: add number-entry to directly set the event
282 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
286 TrackCounter: added method OutputEventTracks() for storing
291 TrackCounterEditor: added buttons to print/file scanning results
292 and to display current histograms.
294 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
298 Added method Track::PrintKineStack(); added global TrackCounter
299 pointer to overcome resets of CINT globals in macros.
301 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
304 Added getters for frame-point details.
307 If frame-box is set, use it for determination of bounding-box.
309 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
312 Subclass from ReferenceBackPtr instead of ReferenceCount.
319 Moved declaration/definition of ReferenceBackPtr from
320 RenderElement.h/cxx to Reve.h/cxx.
323 Added index data-member to MC/RecTrack.
327 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
328 fEmitSignals' that controls if signals are emitted on secondary
330 Fixed handling of main-color which is in fact
331 forwarded to shared frame.
335 Added method 'void ImportClustersFromIndex()' and data-member
339 Increase range of track extrapolation precision.
341 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
345 Added per-quad TRef, implemented virtual callback QuadSelected()
346 for secondary selection from GL.
350 Added support for secondary selection. Sacrificed some speed for
351 simplicity / clarity.
353 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
357 Added inner struct VoidCPlex::iterator; increase constness.
362 Slight simplification of heavy-duty loops over elements.
364 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
370 Added support for rendering hexagons (needed by PMD).
372 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
376 Renamed typedef lpRE_t/i to List_t/i.
377 Added method groups Begin/End/GetN-Parents/Children().
383 Renamed typedef lpRE_t/i to List_t/i.
386 New class TrackCounter[Editor]; added RenderElement typedefs.
389 Render frame before checking if QuadSet is empty and exiting.
393 Added a hack that restores CINT state if macro execution ends with
398 Added class TrackCounter;
399 Track now inherits from TQObject and emits a Clicked() signal;
400 Renamed typedef lpRE_t/i to List_t/i.
404 Added class TrackCounterEditor.
407 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
409 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
417 New files: line representation with per-point selection.
421 New files: allow interaction with the track, more configurability
422 (render as line, points or both).
426 Derive Track from Line (before was TPolyLine3D, RenderElement);
427 this allowed me to remove a lot of code actually shared with
431 Register new classes.
434 Some points were duplicated during track construction.
441 Use better names for QuadTypes (enum and internal structs).
445 Style/comment changes.
447 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
451 Removed unnecessary constructor.
453 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
456 Bugfix: loop variable was not increased in case of a continue
461 Rename over/undershoot to over/underflow.
463 * RGBAPaletteEditor.cxx:
464 * RGBAPaletteEditor.h:
465 Beautify editor; rename over/undershoot to over/underflow.
467 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
471 * CascadeEditors.cxx:
473 From Ludovic, new files for visualization of cascades.
476 From Ludovic: register new classes. Reorganize some entries so
477 that a class, editor and gl-renderer are listed together.
482 From Ludovic: updates for V0 visualization.
486 Main color now set from frame-box (instead of default palette
490 Use new color-query function from RGBAPalette; validity of digit
491 value was not honoured in line-drawing modes.
495 * RGBAPaletteEditor.cxx:
496 * RGBAPaletteEditor.h:
497 Reimplementation of over/undershoot handling with separate modes
498 for both ends (cut, mark, clip and wrap); this works marvelously.
502 New files, editor for QuadSet gluing together translation and
507 Added int version of SetLimits for RGDoubleValuator; added
508 getters for value limits (Ludovic).
514 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
522 * RGBAPaletteEditor.cxx:
536 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
539 Added getters for limits of the RGValuator.
541 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
544 Removed support for old ROOT versions.
548 Added base-interface ReferenceBackPtr (reference-counted object
549 with back references to render elements); to be used for shared
550 markup classes (color-palettes, frames) that need to update their
551 consumers once their state is changed.
555 Removed code for RGBAPalette; now in its own file.
559 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
565 Very optimized in sense of speed / memory usage as it supports
566 several orientations of rectangles and all possible variants of
567 default sizes / third coordinate; also added pointers to
568 color-palette and frame-box/rectangle so that these elements can
569 be shared among instances of the same type (eg. silicon strip
570 detectors). Means more code in this class ... but hopefully much
574 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
580 New files: provide a surrounding box/rectangle with a given
581 size/color; can be shared among many instances of render-elements
582 (eg. silicon strip detectors).
586 New files: container with chunked memory allocation (to avoid
587 frequent re-allocation on creation time) and ability to refit
588 itself into a contiguous array.
592 * RGBAPaletteEditor.cxx:
593 * RGBAPaletteEditor.h:
594 New files: a generic color palette with value to color mapping; to
595 be used by most digit/raw-data classes; can be shared among many
596 instances of render-elements (eg. silicon strip detectors).
602 From Ludovic: new files for visualization of V0s.
604 * RenderElementEditor.cxx:
608 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
615 Started to work on reimplementation of the quad-set, renamed the
616 old one to OldQuadSet; i'm checking this in because another change is
617 needed for the new muon code and i already changed several things.
619 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
623 In Line render-mode really render boxes as lines to allow
624 selection to proceed through the box walls; removed pre-processor
625 ifs for old root version.
627 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
630 Fixed operator+ functions for exceptions (forgot to change them
631 when migrated from std::string to TString as exception base-class).
633 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
637 Changed inheritance to include Reve::RenderElement;
638 use ZTrans to store transformation matrix;
639 added render-mode state (to force line/fill drawing).
641 In class Box added ctor and function MakeAxisAlignedBox() to
642 facilitate creation of regular boxes.
645 Support different render modes.
650 New class Reve::RGBAPalette: allow easier creation of color
651 paletts mapped to integer-value range.
657 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
658 change width of all tracks in TrackList.
662 Added method method GenerateZNormalColors() that uses
663 Reve::RGBAPalette to set-up triangle color based on z-component of
666 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
672 New files: implementation of homogeneous transformation matrix
673 with accompanying geditor.
677 * TriangleSetEditor.cxx:
678 * TriangleSetEditor.h:
681 New files: arbitrary triangulated surface.
684 Create a dummy event directory if none exists on AddRenderElement.
688 Added class RGTriVecValuator, a composite widget for editing
689 three-vectors. Used by ZTransEditor.
694 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
698 Added contructor from TPartice.
700 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
705 Fix wrong numerical constant in transformation assignment.
708 Added comment about problems with getting context-menu for
713 Added data-members for important GUI elements (master-frame,
714 master-tab); added method 'AddCanvasTab(const char* name)'.
718 Use TString as exception base instead of std::string.
722 Brought in sync with changes in render-element
723 management/conventions.
725 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
731 Made RenderElement::ExportToCINT() virtual and reimplemented it in
736 Added optional TrackRnrStyle* argument to TrackList constructors;
737 renamed mRnrStyle to fRnrStyle.
739 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
748 Changes for new geditor and gl two-level selection; added
749 delarations of private copy-ctor and assignment-op.
752 Added method GetRnrElement().
757 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
758 it checks if the object is being displayed in the editor but can
759 in principle check other things as well.
761 * RenderElementEditor.cxx:
762 Assgined RenderElementEditor fPriority 0 (to appear on top).
764 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
769 Made GLCanvas un-editable to prevent users from drawing things
770 over 3D scene; renamed the canvas data member from fCC to
771 fGLCanvas. Renamed local variables not to dress-up as
774 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
777 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
782 Properly update items of render-elements; call gReve::Redraw3D()
783 instead of pad modified/update. Added separate method
784 DisplayRenderElement() that caches the render-element in a
785 data-member to update it on change (needed for RenderElementObjPtr).
788 Use RGEditor::DisplayRenderElement() instead of
789 DisplayObject(). Removed some never-used static structures.
792 Removed Redraw3D() from UpdateItems() as it can now be called from
793 RGEditor::Update(); optimized item-updates in SetRnrElement() and
796 * PointSetArrayEditor.cxx:
798 Added call to Update() in SetRange() methods.
800 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
805 Use new functionality from TGedEditor.
807 * PointSetArrayEditor.cxx:
808 * PointSetArrayEditor.h:
809 * RGeoNodeEditors.cxx:
811 * RenderElementEditor.cxx:
812 * RenderElementEditor.h:
815 Conform to new TGedFrame paradigm in ROOT.
817 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
820 Fix effc++ warnings and most blatant coding-convention violations.
822 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
828 * PointSetArrayEditor.cxx:
829 * PointSetArrayEditor.h:
835 * RGeoNodeEditors.cxx:
839 * RenderElementEditor.cxx:
840 * RenderElementEditor.h:
858 Removed code for gled-like object editors (obsolete, somewhat
859 decayed); fix effc++ warnings.
861 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
867 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
870 In Reset: added call to PointSet3D::ClearIds().
874 Added support for control of camera-reset to Redraw3D(); when
875 opening GL window disable automatic camera reset on update and on
878 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
882 Commented-out info print statements.
884 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
888 Bypass buggy TMacro ctor (caused problems on paths including '.',
891 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
895 Added method RenderElementListBase::DestroyElements().
897 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
901 Removed files: the contents moved to VSDEvent and renamed
906 New files: common base class for an event object (VSDEvent and
911 New files: rename of class Reve::Event, now subclassed from
915 Reflect changes in event classes.
918 Added include TError.h.
922 Changed current-event pointer from TObject to EventBase; made
923 global-store and event-stores render elements; improved interface
924 for adding/removing render-elements.
928 Implemented proper reference management accross render-elements,
929 render-element-lists and tree-items; implemented methods for
930 removal and destruction of render-elements.
936 * RGeoNodeEditors.cxx:
939 Proper management of dependent render-elements, renamed
940 FullUpdate() to UpdateItems() and changed inheritance order
941 (derive RenderElement first).
943 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
948 Added new classes TPointSelector and TPointSelectorConsumer
949 allowing more natural extraction of point-data from trees.
953 Implemented the TPointSelectorConsumer interface for PointSet and
954 PointSetArray; in PointSetArray removed obsolete methods
955 MakeScrollbar() and HandleScrollEvent().
957 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
960 Skip render-state initialization if no boxes present.
964 Added option to render GeoTopNodeRnrEl at a given global position
965 (requires ROOT > 5.11.7).
970 Fixed creation of editor frame so that it uses X client's
971 SetRoot() functionality. This should (finally) close the issue.
974 Check for macro via full-path (fTitle); save macro as '.C' not
978 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
979 searching the list of global functions.
982 Fixed code for hit and cluster import to work with 'new' render
983 element registration mechanism.
985 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
990 New class Reve::RMacro: a sub-class of TMacro that tries to unload
991 the macros properly before/after the operation.
995 Provide TFoler fMacroFolder to all consumers, register
996 Reve::RMacro mime type on start-up.
1000 Added global function Bool_t Reve:CheckMacro().
1002 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
1006 In TrackList: added ImportHits/Clusters(); removed obsolete
1009 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
1013 In PointSetArray: added member for default daughter PointSet
1014 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
1015 daughter polymarker stuff in InitBins() instead of CloseBins().
1019 Consistently use nuber of slider positions in RGValuator.
1022 Added method RenderElementListBase::RemoveElements().
1024 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
1027 Added non-protected wrapper Render() for DirectDraw().
1031 Subclassed point-set-array from TAttMarker, propagate changes to
1034 * PointSetArrayEditor.cxx:
1035 Removed stale printout.
1038 Print exceptions to terminal also.
1040 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
1043 Draw charged tracks as straight lines when magnetic field is near
1046 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
1051 * RenderElement.cxx:
1053 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
1054 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
1055 when dependencies were not generated properly.
1059 Added methods Track::ImportHits() and Track::ImportClusters();
1060 fixed a charge value inconsistency yielding reconstructed
1061 track charge to be 1/3.
1063 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
1066 Added friend PointSetArrayEditor.
1068 * PointSetArrayEditor.cxx:
1069 * PointSetArrayEditor.h:
1072 Use RGDoubleValuator for range-selection widget.
1075 Accept -mode cmd-line option as an alias for -revemode.
1078 Added some padding for labels.
1080 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
1084 Added method UndrawRenderElement().
1086 * RenderElement.cxx:
1088 Implemented dtor for RenderElement removing all instances from
1093 Added method RGValuator::SetEnabled().
1095 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
1102 Added preprocessor conditionals to support ROOT > 5.11.2.
1104 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1111 New valuator widget classes RGValuator and RGDoubleValuator.
1113 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1118 Added method ArrTrans().
1121 Added setup of macro/include paths into function
1124 * reve_main/reve_main.cxx:
1125 Removed macro/include path setup.
1127 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1133 Use RenderElement* as user-data of list-tree entries (it was
1137 * RenderElement.cxx:
1139 Added class RenderElementObjPtr to allow display and control of
1140 pure TObjects (see alice-macros/region_marker.C for an
1141 example). This is not perfect as there is no way to get
1142 color-change updates from the editor (can fix this when i get
1143 control over TGedEditor::Update()). RenderElement::GetObject() is
1148 Added function FindColorVar() to allow RenderElementObjPtr objects
1149 to peek into appropriate color.
1151 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1157 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
1162 Fix for editor window not appearing under some window
1163 managers. For me it was working OK under fvwm and KDE (any focus
1164 policy) but not at all under Gnome. This fixed my gnome problem
1165 but it's quite likely the problem is not completely solved.
1167 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
1172 Added missing initializations. In particular, fCurrentEvent,
1173 fCurrentEventLTI and fGeometryLTI were not initialized and this
1174 caused segvs for usage without bootstrap with alieve_init.C macro.
1176 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
1182 New class Reve::ReferenceCount; to be used as secondary base class.
1184 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
1190 New function ColorFromIdx().
1196 New files: a set of boxes with direct GL rendering.
1199 Pragmas for BoxSet/GL.