1 2007-03-24 Matevz Tadel <matevz.tadel@cern.ch>
4 * RenderElementEditor.cxx:
5 * RenderElementEditor.h:
6 Add virtual interface allowing sub-classes to request editor for
7 transparency and transformation-matrix via RenderElement.
11 Added method SetGeoHMatrix(), initializing TGeoHMatrix from
16 Use transparency/transf-matrix service from RenderElement for
17 classes GeoTopNodeRnrEl and GeoShapeRnrEl; use ZTrans for storage
18 of transforamtion matrix in class GeoTopNodeRnrEl.
20 * RGeoNodeEditors.cxx:
21 Removed unneeded widget association.
23 2007-03-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
26 Add getter for fValueIsColor.
28 2007-03-22 Matevz Tadel <matevz.tadel@cern.ch>
30 * TGeoShapeExtract.cxx:
32 New files: class TGeoShapeExtract that allows import of exact
33 image of geometry as exported from gled.
38 New classes TGeoShapeExtract and Reve::GeoShapeRnrEl.
41 Disable ROOT's auto-update of TGListTree's checkboxes.
44 Setup check-box pictures when inserting in a list-tree.
47 Fix typo, swap of R/Z.
51 Add ctors/setters from float/double arrays.
54 Align position, rotation and scale widgets.
61 2007-03-15 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
66 New class GridStepper.
69 Check ownership of quad-ids in Reset().
71 2007-03-15 Matevz Tadel <matevz.tadel@cern.ch>
75 Add an optional flag to Redraw3D() issuing a request for dropping
76 of logical-shapes on this redraw (temporary hack until we get new
77 gl stuff and can do it right). Fix in RemoveRenderElement() where
78 wrong argument was used when unregistering the item from the
81 2007-03-08 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
85 Added method SortPathMarksByTime().
88 Fix for checking boundaries of path-marks.
90 2007-03-08 Matevz Tadel <matevz.tadel@cern.ch>
93 Missing initialization; fiddle with the track marker-style a bit
96 2007-03-06 Matevz Tadel <matevz.tadel@cern.ch>
99 In PadPrimitive::Paint() test fRnrChildren instead of fRnrSelf.
100 Some formatting changes while searching for the above bug.
102 2007-03-04 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
107 Classes RenderElement and RenderElementListBase have been merged,
108 RenderElementListBase class is removed.
110 Since RenderElement supports hierarchical structure fRnrElement is
111 replaced to fRnrSelf and fRnrChildren. RnrSelf/RnrDaughters
112 callbacks from editor set check box picture according to the for
115 New class PadPrimitve. Objects of the classes enable recursive
116 rendering as they are added in TPad fListOfPrimitives.
120 Changes from RenderElement. Added Bool_t fKeepEmptyCont
121 determining behaviour of zero-count rnr-element imports.
125 Added function to create 4 check box pictures which mark fRnrSelf
126 and fRnrChildren state of RenderElement.
130 Inherit from PadPrimitve instead of from RenderElementList.
132 * RenderElementEditor.cxx:
133 * RenderElementEditor.h:
143 Changes from RenderElement.
147 Changes from RenderElement; change import functions to
148 add hits, clusters, kinematic to selected object.
150 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
154 In class Track: renamed ImportDaughters() to ImportKine(), added
155 ImportKineWithArgs(), both accessible from ctx-menu.
157 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
162 TrackRnrStyle: add pt-range memebers.
164 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
168 Add function to return PathMark type-name.
171 Call redraw after Enable/DisableListElements.
175 Two new items for context menu: PrintPathMarks and
179 Make consistent alignment.
181 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
187 Fix Ludovic's strange const-method syntax.
189 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
192 Add member time to class PathMark. Set values in enum
196 Add callbacks to set path marks. In Track::MakeTrack() implement
197 fitting of track references and daughter particles.
200 Add Getters and Setters in TrackRnrStyle and TrackList to define
201 rendering of path marks.
205 Add widgets to control rendering and fiting of pathmarks.
209 Override LineGL::DirectDraw() to draw path marks.
211 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
214 Added nested class RedrawDisabler allowing exception-safe
215 disabling of 3d-redraw.
217 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
221 TrackCounterEditor: add number-entry to directly set the event
224 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
228 TrackCounter: added method OutputEventTracks() for storing
233 TrackCounterEditor: added buttons to print/file scanning results
234 and to display current histograms.
236 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
240 Added method Track::PrintKineStack(); added global TrackCounter
241 pointer to overcome resets of CINT globals in macros.
243 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
246 Added getters for frame-point details.
249 If frame-box is set, use it for determination of bounding-box.
251 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
254 Subclass from ReferenceBackPtr instead of ReferenceCount.
261 Moved declaration/definition of ReferenceBackPtr from
262 RenderElement.h/cxx to Reve.h/cxx.
265 Added index data-member to MC/RecTrack.
269 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
270 fEmitSignals' that controls if signals are emitted on secondary
272 Fixed handling of main-color which is in fact
273 forwarded to shared frame.
277 Added method 'void ImportClustersFromIndex()' and data-member
281 Increase range of track extrapolation precision.
283 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
287 Added per-quad TRef, implemented virtual callback QuadSelected()
288 for secondary selection from GL.
292 Added support for secondary selection. Sacrificed some speed for
293 simplicity / clarity.
295 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
299 Added inner struct VoidCPlex::iterator; increase constness.
304 Slight simplification of heavy-duty loops over elements.
306 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
312 Added support for rendering hexagons (needed by PMD).
314 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
318 Renamed typedef lpRE_t/i to List_t/i.
319 Added method groups Begin/End/GetN-Parents/Children().
325 Renamed typedef lpRE_t/i to List_t/i.
328 New class TrackCounter[Editor]; added RenderElement typedefs.
331 Render frame before checking if QuadSet is empty and exiting.
335 Added a hack that restores CINT state if macro execution ends with
340 Added class TrackCounter;
341 Track now inherits from TQObject and emits a Clicked() signal;
342 Renamed typedef lpRE_t/i to List_t/i.
346 Added class TrackCounterEditor.
349 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
351 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
359 New files: line representation with per-point selection.
363 New files: allow interaction with the track, more configurability
364 (render as line, points or both).
368 Derive Track from Line (before was TPolyLine3D, RenderElement);
369 this allowed me to remove a lot of code actually shared with
373 Register new classes.
376 Some points were duplicated during track construction.
383 Use better names for QuadTypes (enum and internal structs).
387 Style/comment changes.
389 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
393 Removed unnecessary constructor.
395 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
398 Bugfix: loop variable was not increased in case of a continue
403 Rename over/undershoot to over/underflow.
405 * RGBAPaletteEditor.cxx:
406 * RGBAPaletteEditor.h:
407 Beautify editor; rename over/undershoot to over/underflow.
409 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
413 * CascadeEditors.cxx:
415 From Ludovic, new files for visualization of cascades.
418 From Ludovic: register new classes. Reorganize some entries so
419 that a class, editor and gl-renderer are listed together.
424 From Ludovic: updates for V0 visualization.
428 Main color now set from frame-box (instead of default palette
432 Use new color-query function from RGBAPalette; validity of digit
433 value was not honoured in line-drawing modes.
437 * RGBAPaletteEditor.cxx:
438 * RGBAPaletteEditor.h:
439 Reimplementation of over/undershoot handling with separate modes
440 for both ends (cut, mark, clip and wrap); this works marvelously.
444 New files, editor for QuadSet gluing together translation and
449 Added int version of SetLimits for RGDoubleValuator; added
450 getters for value limits (Ludovic).
456 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
464 * RGBAPaletteEditor.cxx:
478 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
481 Added getters for limits of the RGValuator.
483 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
486 Removed support for old ROOT versions.
490 Added base-interface ReferenceBackPtr (reference-counted object
491 with back references to render elements); to be used for shared
492 markup classes (color-palettes, frames) that need to update their
493 consumers once their state is changed.
497 Removed code for RGBAPalette; now in its own file.
501 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
507 Very optimized in sense of speed / memory usage as it supports
508 several orientations of rectangles and all possible variants of
509 default sizes / third coordinate; also added pointers to
510 color-palette and frame-box/rectangle so that these elements can
511 be shared among instances of the same type (eg. silicon strip
512 detectors). Means more code in this class ... but hopefully much
516 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
522 New files: provide a surrounding box/rectangle with a given
523 size/color; can be shared among many instances of render-elements
524 (eg. silicon strip detectors).
528 New files: container with chunked memory allocation (to avoid
529 frequent re-allocation on creation time) and ability to refit
530 itself into a contiguous array.
534 * RGBAPaletteEditor.cxx:
535 * RGBAPaletteEditor.h:
536 New files: a generic color palette with value to color mapping; to
537 be used by most digit/raw-data classes; can be shared among many
538 instances of render-elements (eg. silicon strip detectors).
544 From Ludovic: new files for visualization of V0s.
546 * RenderElementEditor.cxx:
550 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
557 Started to work on reimplementation of the quad-set, renamed the
558 old one to OldQuadSet; i'm checking this in because another change is
559 needed for the new muon code and i already changed several things.
561 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
565 In Line render-mode really render boxes as lines to allow
566 selection to proceed through the box walls; removed pre-processor
567 ifs for old root version.
569 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
572 Fixed operator+ functions for exceptions (forgot to change them
573 when migrated from std::string to TString as exception base-class).
575 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
579 Changed inheritance to include Reve::RenderElement;
580 use ZTrans to store transformation matrix;
581 added render-mode state (to force line/fill drawing).
583 In class Box added ctor and function MakeAxisAlignedBox() to
584 facilitate creation of regular boxes.
587 Support different render modes.
592 New class Reve::RGBAPalette: allow easier creation of color
593 paletts mapped to integer-value range.
599 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
600 change width of all tracks in TrackList.
604 Added method method GenerateZNormalColors() that uses
605 Reve::RGBAPalette to set-up triangle color based on z-component of
608 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
614 New files: implementation of homogeneous transformation matrix
615 with accompanying geditor.
619 * TriangleSetEditor.cxx:
620 * TriangleSetEditor.h:
623 New files: arbitrary triangulated surface.
626 Create a dummy event directory if none exists on AddRenderElement.
630 Added class RGTriVecValuator, a composite widget for editing
631 three-vectors. Used by ZTransEditor.
636 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
640 Added contructor from TPartice.
642 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
647 Fix wrong numerical constant in transformation assignment.
650 Added comment about problems with getting context-menu for
655 Added data-members for important GUI elements (master-frame,
656 master-tab); added method 'AddCanvasTab(const char* name)'.
660 Use TString as exception base instead of std::string.
664 Brought in sync with changes in render-element
665 management/conventions.
667 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
673 Made RenderElement::ExportToCINT() virtual and reimplemented it in
678 Added optional TrackRnrStyle* argument to TrackList constructors;
679 renamed mRnrStyle to fRnrStyle.
681 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
690 Changes for new geditor and gl two-level selection; added
691 delarations of private copy-ctor and assignment-op.
694 Added method GetRnrElement().
699 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
700 it checks if the object is being displayed in the editor but can
701 in principle check other things as well.
703 * RenderElementEditor.cxx:
704 Assgined RenderElementEditor fPriority 0 (to appear on top).
706 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
711 Made GLCanvas un-editable to prevent users from drawing things
712 over 3D scene; renamed the canvas data member from fCC to
713 fGLCanvas. Renamed local variables not to dress-up as
716 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
719 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
724 Properly update items of render-elements; call gReve::Redraw3D()
725 instead of pad modified/update. Added separate method
726 DisplayRenderElement() that caches the render-element in a
727 data-member to update it on change (needed for RenderElementObjPtr).
730 Use RGEditor::DisplayRenderElement() instead of
731 DisplayObject(). Removed some never-used static structures.
734 Removed Redraw3D() from UpdateItems() as it can now be called from
735 RGEditor::Update(); optimized item-updates in SetRnrElement() and
738 * PointSetArrayEditor.cxx:
740 Added call to Update() in SetRange() methods.
742 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
747 Use new functionality from TGedEditor.
749 * PointSetArrayEditor.cxx:
750 * PointSetArrayEditor.h:
751 * RGeoNodeEditors.cxx:
753 * RenderElementEditor.cxx:
754 * RenderElementEditor.h:
757 Conform to new TGedFrame paradigm in ROOT.
759 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
762 Fix effc++ warnings and most blatant coding-convention violations.
764 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
770 * PointSetArrayEditor.cxx:
771 * PointSetArrayEditor.h:
777 * RGeoNodeEditors.cxx:
781 * RenderElementEditor.cxx:
782 * RenderElementEditor.h:
800 Removed code for gled-like object editors (obsolete, somewhat
801 decayed); fix effc++ warnings.
803 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
809 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
812 In Reset: added call to PointSet3D::ClearIds().
816 Added support for control of camera-reset to Redraw3D(); when
817 opening GL window disable automatic camera reset on update and on
820 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
824 Commented-out info print statements.
826 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
830 Bypass buggy TMacro ctor (caused problems on paths including '.',
833 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
837 Added method RenderElementListBase::DestroyElements().
839 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
843 Removed files: the contents moved to VSDEvent and renamed
848 New files: common base class for an event object (VSDEvent and
853 New files: rename of class Reve::Event, now subclassed from
857 Reflect changes in event classes.
860 Added include TError.h.
864 Changed current-event pointer from TObject to EventBase; made
865 global-store and event-stores render elements; improved interface
866 for adding/removing render-elements.
870 Implemented proper reference management accross render-elements,
871 render-element-lists and tree-items; implemented methods for
872 removal and destruction of render-elements.
878 * RGeoNodeEditors.cxx:
881 Proper management of dependent render-elements, renamed
882 FullUpdate() to UpdateItems() and changed inheritance order
883 (derive RenderElement first).
885 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
890 Added new classes TPointSelector and TPointSelectorConsumer
891 allowing more natural extraction of point-data from trees.
895 Implemented the TPointSelectorConsumer interface for PointSet and
896 PointSetArray; in PointSetArray removed obsolete methods
897 MakeScrollbar() and HandleScrollEvent().
899 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
902 Skip render-state initialization if no boxes present.
906 Added option to render GeoTopNodeRnrEl at a given global position
907 (requires ROOT > 5.11.7).
912 Fixed creation of editor frame so that it uses X client's
913 SetRoot() functionality. This should (finally) close the issue.
916 Check for macro via full-path (fTitle); save macro as '.C' not
920 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
921 searching the list of global functions.
924 Fixed code for hit and cluster import to work with 'new' render
925 element registration mechanism.
927 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
932 New class Reve::RMacro: a sub-class of TMacro that tries to unload
933 the macros properly before/after the operation.
937 Provide TFoler fMacroFolder to all consumers, register
938 Reve::RMacro mime type on start-up.
942 Added global function Bool_t Reve:CheckMacro().
944 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
948 In TrackList: added ImportHits/Clusters(); removed obsolete
951 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
955 In PointSetArray: added member for default daughter PointSet
956 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
957 daughter polymarker stuff in InitBins() instead of CloseBins().
961 Consistently use nuber of slider positions in RGValuator.
964 Added method RenderElementListBase::RemoveElements().
966 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
969 Added non-protected wrapper Render() for DirectDraw().
973 Subclassed point-set-array from TAttMarker, propagate changes to
976 * PointSetArrayEditor.cxx:
977 Removed stale printout.
980 Print exceptions to terminal also.
982 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
985 Draw charged tracks as straight lines when magnetic field is near
988 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
995 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
996 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
997 when dependencies were not generated properly.
1001 Added methods Track::ImportHits() and Track::ImportClusters();
1002 fixed a charge value inconsistency yielding reconstructed
1003 track charge to be 1/3.
1005 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
1008 Added friend PointSetArrayEditor.
1010 * PointSetArrayEditor.cxx:
1011 * PointSetArrayEditor.h:
1014 Use RGDoubleValuator for range-selection widget.
1017 Accept -mode cmd-line option as an alias for -revemode.
1020 Added some padding for labels.
1022 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
1026 Added method UndrawRenderElement().
1028 * RenderElement.cxx:
1030 Implemented dtor for RenderElement removing all instances from
1035 Added method RGValuator::SetEnabled().
1037 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
1044 Added preprocessor conditionals to support ROOT > 5.11.2.
1046 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1053 New valuator widget classes RGValuator and RGDoubleValuator.
1055 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1060 Added method ArrTrans().
1063 Added setup of macro/include paths into function
1066 * reve_main/reve_main.cxx:
1067 Removed macro/include path setup.
1069 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1075 Use RenderElement* as user-data of list-tree entries (it was
1079 * RenderElement.cxx:
1081 Added class RenderElementObjPtr to allow display and control of
1082 pure TObjects (see alice-macros/region_marker.C for an
1083 example). This is not perfect as there is no way to get
1084 color-change updates from the editor (can fix this when i get
1085 control over TGedEditor::Update()). RenderElement::GetObject() is
1090 Added function FindColorVar() to allow RenderElementObjPtr objects
1091 to peek into appropriate color.
1093 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1099 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
1104 Fix for editor window not appearing under some window
1105 managers. For me it was working OK under fvwm and KDE (any focus
1106 policy) but not at all under Gnome. This fixed my gnome problem
1107 but it's quite likely the problem is not completely solved.
1109 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
1114 Added missing initializations. In particular, fCurrentEvent,
1115 fCurrentEventLTI and fGeometryLTI were not initialized and this
1116 caused segvs for usage without bootstrap with alieve_init.C macro.
1118 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
1124 New class Reve::ReferenceCount; to be used as secondary base class.
1126 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
1132 New function ColorFromIdx().
1138 New files: a set of boxes with direct GL rendering.
1141 Pragmas for BoxSet/GL.