1 2007-04-17 Matevz Tadel <matevz.tadel@cern.ch>
6 Add support for all variations of y-z plane rectangles.
8 2007-04-17 Matevz Tadel <matevz.tadel@cern.ch>
11 Bogdan: fix calculation of squared momentum.
13 2007-04-11 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
15 * StraightLineSet.cxx:
17 * StraightLineSetEditor.cxx:
18 * StraightLineSetEditor.h:
19 * StraightLineSetGL.cxx:
20 * StraightLineSetGL.h:
21 New class StraightLineSet with accompanying GL and Editor classes.
24 Register new StraightLineSetXyzz classes.
28 Add a function to render polymarkers from float array and
34 Reimplement callback of the Checked() signal from
35 RGBrowser::fListTree; function in RenderElement renamed from
36 ToggleRnrState to SetRnrState.
38 2007-04-11 Matevz Tadel <matevz.tadel@cern.ch>
42 Added setup function SetAABoxCenterHalfSize().
44 2007-04-10 Matevz Tadel <matevz.tadel@cern.ch>
48 Make Track::MakeTrack() virtual; Bogdan: add
49 TrackList::SelectByP() and supporting variables.
53 Bogdan: add controls for TrackList::SelectByP().
55 2007-03-25 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
59 New namespace GLTextNS: produce text using texture maps.
62 Helper classes/functions for GL state handling.
64 2007-03-25 Matevz Tadel <matevz.tadel@cern.ch>
68 Improve handling of multi-level track containers for kinematic
71 2007-03-24 Matevz Tadel <matevz.tadel@cern.ch>
74 * RenderElementEditor.cxx:
75 * RenderElementEditor.h:
76 Add virtual interface allowing sub-classes to request editor for
77 transparency and transformation-matrix via RenderElement.
81 Added method SetGeoHMatrix(), initializing TGeoHMatrix from
86 Use transparency/transf-matrix service from RenderElement for
87 classes GeoTopNodeRnrEl and GeoShapeRnrEl; use ZTrans for storage
88 of transforamtion matrix in class GeoTopNodeRnrEl.
90 * RGeoNodeEditors.cxx:
91 Removed unneeded widget association.
93 2007-03-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
96 Add getter for fValueIsColor.
98 2007-03-22 Matevz Tadel <matevz.tadel@cern.ch>
100 * TGeoShapeExtract.cxx:
101 * TGeoShapeExtract.h:
102 New files: class TGeoShapeExtract that allows import of exact
103 image of geometry as exported from gled.
108 New classes TGeoShapeExtract and Reve::GeoShapeRnrEl.
111 Disable ROOT's auto-update of TGListTree's checkboxes.
114 Setup check-box pictures when inserting in a list-tree.
117 Fix typo, swap of R/Z.
121 Add ctors/setters from float/double arrays.
124 Align position, rotation and scale widgets.
131 2007-03-15 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
136 New class GridStepper.
139 Check ownership of quad-ids in Reset().
141 2007-03-15 Matevz Tadel <matevz.tadel@cern.ch>
145 Add an optional flag to Redraw3D() issuing a request for dropping
146 of logical-shapes on this redraw (temporary hack until we get new
147 gl stuff and can do it right). Fix in RemoveRenderElement() where
148 wrong argument was used when unregistering the item from the
151 2007-03-08 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
155 Added method SortPathMarksByTime().
158 Fix for checking boundaries of path-marks.
160 2007-03-08 Matevz Tadel <matevz.tadel@cern.ch>
163 Missing initialization; fiddle with the track marker-style a bit
166 2007-03-06 Matevz Tadel <matevz.tadel@cern.ch>
169 In PadPrimitive::Paint() test fRnrChildren instead of fRnrSelf.
170 Some formatting changes while searching for the above bug.
172 2007-03-04 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
177 Classes RenderElement and RenderElementListBase have been merged,
178 RenderElementListBase class is removed.
180 Since RenderElement supports hierarchical structure fRnrElement is
181 replaced to fRnrSelf and fRnrChildren. RnrSelf/RnrDaughters
182 callbacks from editor set check box picture according to the for
185 New class PadPrimitve. Objects of the classes enable recursive
186 rendering as they are added in TPad fListOfPrimitives.
190 Changes from RenderElement. Added Bool_t fKeepEmptyCont
191 determining behaviour of zero-count rnr-element imports.
195 Added function to create 4 check box pictures which mark fRnrSelf
196 and fRnrChildren state of RenderElement.
200 Inherit from PadPrimitve instead of from RenderElementList.
202 * RenderElementEditor.cxx:
203 * RenderElementEditor.h:
213 Changes from RenderElement.
217 Changes from RenderElement; change import functions to
218 add hits, clusters, kinematic to selected object.
220 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
224 In class Track: renamed ImportDaughters() to ImportKine(), added
225 ImportKineWithArgs(), both accessible from ctx-menu.
227 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
232 TrackRnrStyle: add pt-range memebers.
234 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
238 Add function to return PathMark type-name.
241 Call redraw after Enable/DisableListElements.
245 Two new items for context menu: PrintPathMarks and
249 Make consistent alignment.
251 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
257 Fix Ludovic's strange const-method syntax.
259 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
262 Add member time to class PathMark. Set values in enum
266 Add callbacks to set path marks. In Track::MakeTrack() implement
267 fitting of track references and daughter particles.
270 Add Getters and Setters in TrackRnrStyle and TrackList to define
271 rendering of path marks.
275 Add widgets to control rendering and fiting of pathmarks.
279 Override LineGL::DirectDraw() to draw path marks.
281 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
284 Added nested class RedrawDisabler allowing exception-safe
285 disabling of 3d-redraw.
287 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
291 TrackCounterEditor: add number-entry to directly set the event
294 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
298 TrackCounter: added method OutputEventTracks() for storing
303 TrackCounterEditor: added buttons to print/file scanning results
304 and to display current histograms.
306 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
310 Added method Track::PrintKineStack(); added global TrackCounter
311 pointer to overcome resets of CINT globals in macros.
313 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
316 Added getters for frame-point details.
319 If frame-box is set, use it for determination of bounding-box.
321 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
324 Subclass from ReferenceBackPtr instead of ReferenceCount.
331 Moved declaration/definition of ReferenceBackPtr from
332 RenderElement.h/cxx to Reve.h/cxx.
335 Added index data-member to MC/RecTrack.
339 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
340 fEmitSignals' that controls if signals are emitted on secondary
342 Fixed handling of main-color which is in fact
343 forwarded to shared frame.
347 Added method 'void ImportClustersFromIndex()' and data-member
351 Increase range of track extrapolation precision.
353 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
357 Added per-quad TRef, implemented virtual callback QuadSelected()
358 for secondary selection from GL.
362 Added support for secondary selection. Sacrificed some speed for
363 simplicity / clarity.
365 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
369 Added inner struct VoidCPlex::iterator; increase constness.
374 Slight simplification of heavy-duty loops over elements.
376 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
382 Added support for rendering hexagons (needed by PMD).
384 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
388 Renamed typedef lpRE_t/i to List_t/i.
389 Added method groups Begin/End/GetN-Parents/Children().
395 Renamed typedef lpRE_t/i to List_t/i.
398 New class TrackCounter[Editor]; added RenderElement typedefs.
401 Render frame before checking if QuadSet is empty and exiting.
405 Added a hack that restores CINT state if macro execution ends with
410 Added class TrackCounter;
411 Track now inherits from TQObject and emits a Clicked() signal;
412 Renamed typedef lpRE_t/i to List_t/i.
416 Added class TrackCounterEditor.
419 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
421 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
429 New files: line representation with per-point selection.
433 New files: allow interaction with the track, more configurability
434 (render as line, points or both).
438 Derive Track from Line (before was TPolyLine3D, RenderElement);
439 this allowed me to remove a lot of code actually shared with
443 Register new classes.
446 Some points were duplicated during track construction.
453 Use better names for QuadTypes (enum and internal structs).
457 Style/comment changes.
459 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
463 Removed unnecessary constructor.
465 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
468 Bugfix: loop variable was not increased in case of a continue
473 Rename over/undershoot to over/underflow.
475 * RGBAPaletteEditor.cxx:
476 * RGBAPaletteEditor.h:
477 Beautify editor; rename over/undershoot to over/underflow.
479 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
483 * CascadeEditors.cxx:
485 From Ludovic, new files for visualization of cascades.
488 From Ludovic: register new classes. Reorganize some entries so
489 that a class, editor and gl-renderer are listed together.
494 From Ludovic: updates for V0 visualization.
498 Main color now set from frame-box (instead of default palette
502 Use new color-query function from RGBAPalette; validity of digit
503 value was not honoured in line-drawing modes.
507 * RGBAPaletteEditor.cxx:
508 * RGBAPaletteEditor.h:
509 Reimplementation of over/undershoot handling with separate modes
510 for both ends (cut, mark, clip and wrap); this works marvelously.
514 New files, editor for QuadSet gluing together translation and
519 Added int version of SetLimits for RGDoubleValuator; added
520 getters for value limits (Ludovic).
526 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
534 * RGBAPaletteEditor.cxx:
548 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
551 Added getters for limits of the RGValuator.
553 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
556 Removed support for old ROOT versions.
560 Added base-interface ReferenceBackPtr (reference-counted object
561 with back references to render elements); to be used for shared
562 markup classes (color-palettes, frames) that need to update their
563 consumers once their state is changed.
567 Removed code for RGBAPalette; now in its own file.
571 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
577 Very optimized in sense of speed / memory usage as it supports
578 several orientations of rectangles and all possible variants of
579 default sizes / third coordinate; also added pointers to
580 color-palette and frame-box/rectangle so that these elements can
581 be shared among instances of the same type (eg. silicon strip
582 detectors). Means more code in this class ... but hopefully much
586 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
592 New files: provide a surrounding box/rectangle with a given
593 size/color; can be shared among many instances of render-elements
594 (eg. silicon strip detectors).
598 New files: container with chunked memory allocation (to avoid
599 frequent re-allocation on creation time) and ability to refit
600 itself into a contiguous array.
604 * RGBAPaletteEditor.cxx:
605 * RGBAPaletteEditor.h:
606 New files: a generic color palette with value to color mapping; to
607 be used by most digit/raw-data classes; can be shared among many
608 instances of render-elements (eg. silicon strip detectors).
614 From Ludovic: new files for visualization of V0s.
616 * RenderElementEditor.cxx:
620 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
627 Started to work on reimplementation of the quad-set, renamed the
628 old one to OldQuadSet; i'm checking this in because another change is
629 needed for the new muon code and i already changed several things.
631 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
635 In Line render-mode really render boxes as lines to allow
636 selection to proceed through the box walls; removed pre-processor
637 ifs for old root version.
639 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
642 Fixed operator+ functions for exceptions (forgot to change them
643 when migrated from std::string to TString as exception base-class).
645 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
649 Changed inheritance to include Reve::RenderElement;
650 use ZTrans to store transformation matrix;
651 added render-mode state (to force line/fill drawing).
653 In class Box added ctor and function MakeAxisAlignedBox() to
654 facilitate creation of regular boxes.
657 Support different render modes.
662 New class Reve::RGBAPalette: allow easier creation of color
663 paletts mapped to integer-value range.
669 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
670 change width of all tracks in TrackList.
674 Added method method GenerateZNormalColors() that uses
675 Reve::RGBAPalette to set-up triangle color based on z-component of
678 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
684 New files: implementation of homogeneous transformation matrix
685 with accompanying geditor.
689 * TriangleSetEditor.cxx:
690 * TriangleSetEditor.h:
693 New files: arbitrary triangulated surface.
696 Create a dummy event directory if none exists on AddRenderElement.
700 Added class RGTriVecValuator, a composite widget for editing
701 three-vectors. Used by ZTransEditor.
706 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
710 Added contructor from TPartice.
712 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
717 Fix wrong numerical constant in transformation assignment.
720 Added comment about problems with getting context-menu for
725 Added data-members for important GUI elements (master-frame,
726 master-tab); added method 'AddCanvasTab(const char* name)'.
730 Use TString as exception base instead of std::string.
734 Brought in sync with changes in render-element
735 management/conventions.
737 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
743 Made RenderElement::ExportToCINT() virtual and reimplemented it in
748 Added optional TrackRnrStyle* argument to TrackList constructors;
749 renamed mRnrStyle to fRnrStyle.
751 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
760 Changes for new geditor and gl two-level selection; added
761 delarations of private copy-ctor and assignment-op.
764 Added method GetRnrElement().
769 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
770 it checks if the object is being displayed in the editor but can
771 in principle check other things as well.
773 * RenderElementEditor.cxx:
774 Assgined RenderElementEditor fPriority 0 (to appear on top).
776 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
781 Made GLCanvas un-editable to prevent users from drawing things
782 over 3D scene; renamed the canvas data member from fCC to
783 fGLCanvas. Renamed local variables not to dress-up as
786 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
789 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
794 Properly update items of render-elements; call gReve::Redraw3D()
795 instead of pad modified/update. Added separate method
796 DisplayRenderElement() that caches the render-element in a
797 data-member to update it on change (needed for RenderElementObjPtr).
800 Use RGEditor::DisplayRenderElement() instead of
801 DisplayObject(). Removed some never-used static structures.
804 Removed Redraw3D() from UpdateItems() as it can now be called from
805 RGEditor::Update(); optimized item-updates in SetRnrElement() and
808 * PointSetArrayEditor.cxx:
810 Added call to Update() in SetRange() methods.
812 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
817 Use new functionality from TGedEditor.
819 * PointSetArrayEditor.cxx:
820 * PointSetArrayEditor.h:
821 * RGeoNodeEditors.cxx:
823 * RenderElementEditor.cxx:
824 * RenderElementEditor.h:
827 Conform to new TGedFrame paradigm in ROOT.
829 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
832 Fix effc++ warnings and most blatant coding-convention violations.
834 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
840 * PointSetArrayEditor.cxx:
841 * PointSetArrayEditor.h:
847 * RGeoNodeEditors.cxx:
851 * RenderElementEditor.cxx:
852 * RenderElementEditor.h:
870 Removed code for gled-like object editors (obsolete, somewhat
871 decayed); fix effc++ warnings.
873 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
879 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
882 In Reset: added call to PointSet3D::ClearIds().
886 Added support for control of camera-reset to Redraw3D(); when
887 opening GL window disable automatic camera reset on update and on
890 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
894 Commented-out info print statements.
896 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
900 Bypass buggy TMacro ctor (caused problems on paths including '.',
903 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
907 Added method RenderElementListBase::DestroyElements().
909 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
913 Removed files: the contents moved to VSDEvent and renamed
918 New files: common base class for an event object (VSDEvent and
923 New files: rename of class Reve::Event, now subclassed from
927 Reflect changes in event classes.
930 Added include TError.h.
934 Changed current-event pointer from TObject to EventBase; made
935 global-store and event-stores render elements; improved interface
936 for adding/removing render-elements.
940 Implemented proper reference management accross render-elements,
941 render-element-lists and tree-items; implemented methods for
942 removal and destruction of render-elements.
948 * RGeoNodeEditors.cxx:
951 Proper management of dependent render-elements, renamed
952 FullUpdate() to UpdateItems() and changed inheritance order
953 (derive RenderElement first).
955 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
960 Added new classes TPointSelector and TPointSelectorConsumer
961 allowing more natural extraction of point-data from trees.
965 Implemented the TPointSelectorConsumer interface for PointSet and
966 PointSetArray; in PointSetArray removed obsolete methods
967 MakeScrollbar() and HandleScrollEvent().
969 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
972 Skip render-state initialization if no boxes present.
976 Added option to render GeoTopNodeRnrEl at a given global position
977 (requires ROOT > 5.11.7).
982 Fixed creation of editor frame so that it uses X client's
983 SetRoot() functionality. This should (finally) close the issue.
986 Check for macro via full-path (fTitle); save macro as '.C' not
990 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
991 searching the list of global functions.
994 Fixed code for hit and cluster import to work with 'new' render
995 element registration mechanism.
997 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
1002 New class Reve::RMacro: a sub-class of TMacro that tries to unload
1003 the macros properly before/after the operation.
1007 Provide TFoler fMacroFolder to all consumers, register
1008 Reve::RMacro mime type on start-up.
1012 Added global function Bool_t Reve:CheckMacro().
1014 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
1018 In TrackList: added ImportHits/Clusters(); removed obsolete
1021 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
1025 In PointSetArray: added member for default daughter PointSet
1026 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
1027 daughter polymarker stuff in InitBins() instead of CloseBins().
1031 Consistently use nuber of slider positions in RGValuator.
1034 Added method RenderElementListBase::RemoveElements().
1036 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
1039 Added non-protected wrapper Render() for DirectDraw().
1043 Subclassed point-set-array from TAttMarker, propagate changes to
1046 * PointSetArrayEditor.cxx:
1047 Removed stale printout.
1050 Print exceptions to terminal also.
1052 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
1055 Draw charged tracks as straight lines when magnetic field is near
1058 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
1063 * RenderElement.cxx:
1065 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
1066 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
1067 when dependencies were not generated properly.
1071 Added methods Track::ImportHits() and Track::ImportClusters();
1072 fixed a charge value inconsistency yielding reconstructed
1073 track charge to be 1/3.
1075 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
1078 Added friend PointSetArrayEditor.
1080 * PointSetArrayEditor.cxx:
1081 * PointSetArrayEditor.h:
1084 Use RGDoubleValuator for range-selection widget.
1087 Accept -mode cmd-line option as an alias for -revemode.
1090 Added some padding for labels.
1092 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
1096 Added method UndrawRenderElement().
1098 * RenderElement.cxx:
1100 Implemented dtor for RenderElement removing all instances from
1105 Added method RGValuator::SetEnabled().
1107 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
1114 Added preprocessor conditionals to support ROOT > 5.11.2.
1116 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1123 New valuator widget classes RGValuator and RGDoubleValuator.
1125 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1130 Added method ArrTrans().
1133 Added setup of macro/include paths into function
1136 * reve_main/reve_main.cxx:
1137 Removed macro/include path setup.
1139 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1145 Use RenderElement* as user-data of list-tree entries (it was
1149 * RenderElement.cxx:
1151 Added class RenderElementObjPtr to allow display and control of
1152 pure TObjects (see alice-macros/region_marker.C for an
1153 example). This is not perfect as there is no way to get
1154 color-change updates from the editor (can fix this when i get
1155 control over TGedEditor::Update()). RenderElement::GetObject() is
1160 Added function FindColorVar() to allow RenderElementObjPtr objects
1161 to peek into appropriate color.
1163 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1169 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
1174 Fix for editor window not appearing under some window
1175 managers. For me it was working OK under fvwm and KDE (any focus
1176 policy) but not at all under Gnome. This fixed my gnome problem
1177 but it's quite likely the problem is not completely solved.
1179 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
1184 Added missing initializations. In particular, fCurrentEvent,
1185 fCurrentEventLTI and fGeometryLTI were not initialized and this
1186 caused segvs for usage without bootstrap with alieve_init.C macro.
1188 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
1194 New class Reve::ReferenceCount; to be used as secondary base class.
1196 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
1202 New function ColorFromIdx().
1208 New files: a set of boxes with direct GL rendering.
1211 Pragmas for BoxSet/GL.