1 2007-03-22 Matevz Tadel <matevz.tadel@cern.ch>
3 * TGeoShapeExtract.cxx:
5 New files: class TGeoShapeExtract that allows import of exact
6 image of geometry as exported from gled.
11 New classes TGeoShapeExtract and Reve::GeoShapeRnrEl.
14 Disable ROOT's auto-update of TGListTree's checkboxes.
17 Setup check-box pictures when inserting in a list-tree.
20 Fix typo, swap of R/Z.
24 Add ctors/setters from float/double arrays.
27 Align position, rotation and scale widgets.
34 2007-03-15 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
39 New class GridStepper.
42 Check ownership of quad-ids in Reset().
44 2007-03-15 Matevz Tadel <matevz.tadel@cern.ch>
48 Add an optional flag to Redraw3D() issuing a request for dropping
49 of logical-shapes on this redraw (temporary hack until we get new
50 gl stuff and can do it right). Fix in RemoveRenderElement() where
51 wrong argument was used when unregistering the item from the
54 2007-03-08 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
58 Added method SortPathMarksByTime().
61 Fix for checking boundaries of path-marks.
63 2007-03-08 Matevz Tadel <matevz.tadel@cern.ch>
66 Missing initialization; fiddle with the track marker-style a bit
69 2007-03-06 Matevz Tadel <matevz.tadel@cern.ch>
72 In PadPrimitive::Paint() test fRnrChildren instead of fRnrSelf.
73 Some formatting changes while searching for the above bug.
75 2007-03-04 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
80 Classes RenderElement and RenderElementListBase have been merged,
81 RenderElementListBase class is removed.
83 Since RenderElement supports hierarchical structure fRnrElement is
84 replaced to fRnrSelf and fRnrChildren. RnrSelf/RnrDaughters
85 callbacks from editor set check box picture according to the for
88 New class PadPrimitve. Objects of the classes enable recursive
89 rendering as they are added in TPad fListOfPrimitives.
93 Changes from RenderElement. Added Bool_t fKeepEmptyCont
94 determining behaviour of zero-count rnr-element imports.
98 Added function to create 4 check box pictures which mark fRnrSelf
99 and fRnrChildren state of RenderElement.
103 Inherit from PadPrimitve instead of from RenderElementList.
105 * RenderElementEditor.cxx:
106 * RenderElementEditor.h:
116 Changes from RenderElement.
120 Changes from RenderElement; change import functions to
121 add hits, clusters, kinematic to selected object.
123 2007-02-26 Matevz Tadel <matevz.tadel@cern.ch>
127 In class Track: renamed ImportDaughters() to ImportKine(), added
128 ImportKineWithArgs(), both accessible from ctx-menu.
130 2007-02-26 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
135 TrackRnrStyle: add pt-range memebers.
137 2007-02-21 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
141 Add function to return PathMark type-name.
144 Call redraw after Enable/DisableListElements.
148 Two new items for context menu: PrintPathMarks and
152 Make consistent alignment.
154 2007-02-20 Matevz Tadel <matevz.tadel@cern.ch>
160 Fix Ludovic's strange const-method syntax.
162 2007-02-19 Alja Mrak-Tadel <Alja.Mrak.Tadel@cern.ch>
165 Add member time to class PathMark. Set values in enum
169 Add callbacks to set path marks. In Track::MakeTrack() implement
170 fitting of track references and daughter particles.
173 Add Getters and Setters in TrackRnrStyle and TrackList to define
174 rendering of path marks.
178 Add widgets to control rendering and fiting of pathmarks.
182 Override LineGL::DirectDraw() to draw path marks.
184 2007-01-19 Matevz Tadel <matevz.tadel@cern.ch>
187 Added nested class RedrawDisabler allowing exception-safe
188 disabling of 3d-redraw.
190 2007-01-17 Matevz Tadel <matevz.tadel@cern.ch>
194 TrackCounterEditor: add number-entry to directly set the event
197 2007-01-12 Matevz Tadel <matevz.tadel@cern.ch>
201 TrackCounter: added method OutputEventTracks() for storing
206 TrackCounterEditor: added buttons to print/file scanning results
207 and to display current histograms.
209 2006-12-19 Matevz Tadel <matevz.tadel@cern.ch>
213 Added method Track::PrintKineStack(); added global TrackCounter
214 pointer to overcome resets of CINT globals in macros.
216 2006-12-18 Matevz Tadel <matevz.tadel@cern.ch>
219 Added getters for frame-point details.
222 If frame-box is set, use it for determination of bounding-box.
224 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
227 Subclass from ReferenceBackPtr instead of ReferenceCount.
234 Moved declaration/definition of ReferenceBackPtr from
235 RenderElement.h/cxx to Reve.h/cxx.
238 Added index data-member to MC/RecTrack.
242 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
243 fEmitSignals' that controls if signals are emitted on secondary
245 Fixed handling of main-color which is in fact
246 forwarded to shared frame.
250 Added method 'void ImportClustersFromIndex()' and data-member
254 Increase range of track extrapolation precision.
256 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
260 Added per-quad TRef, implemented virtual callback QuadSelected()
261 for secondary selection from GL.
265 Added support for secondary selection. Sacrificed some speed for
266 simplicity / clarity.
268 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
272 Added inner struct VoidCPlex::iterator; increase constness.
277 Slight simplification of heavy-duty loops over elements.
279 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
285 Added support for rendering hexagons (needed by PMD).
287 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
291 Renamed typedef lpRE_t/i to List_t/i.
292 Added method groups Begin/End/GetN-Parents/Children().
298 Renamed typedef lpRE_t/i to List_t/i.
301 New class TrackCounter[Editor]; added RenderElement typedefs.
304 Render frame before checking if QuadSet is empty and exiting.
308 Added a hack that restores CINT state if macro execution ends with
313 Added class TrackCounter;
314 Track now inherits from TQObject and emits a Clicked() signal;
315 Renamed typedef lpRE_t/i to List_t/i.
319 Added class TrackCounterEditor.
322 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
324 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
332 New files: line representation with per-point selection.
336 New files: allow interaction with the track, more configurability
337 (render as line, points or both).
341 Derive Track from Line (before was TPolyLine3D, RenderElement);
342 this allowed me to remove a lot of code actually shared with
346 Register new classes.
349 Some points were duplicated during track construction.
356 Use better names for QuadTypes (enum and internal structs).
360 Style/comment changes.
362 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
366 Removed unnecessary constructor.
368 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
371 Bugfix: loop variable was not increased in case of a continue
376 Rename over/undershoot to over/underflow.
378 * RGBAPaletteEditor.cxx:
379 * RGBAPaletteEditor.h:
380 Beautify editor; rename over/undershoot to over/underflow.
382 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
386 * CascadeEditors.cxx:
388 From Ludovic, new files for visualization of cascades.
391 From Ludovic: register new classes. Reorganize some entries so
392 that a class, editor and gl-renderer are listed together.
397 From Ludovic: updates for V0 visualization.
401 Main color now set from frame-box (instead of default palette
405 Use new color-query function from RGBAPalette; validity of digit
406 value was not honoured in line-drawing modes.
410 * RGBAPaletteEditor.cxx:
411 * RGBAPaletteEditor.h:
412 Reimplementation of over/undershoot handling with separate modes
413 for both ends (cut, mark, clip and wrap); this works marvelously.
417 New files, editor for QuadSet gluing together translation and
422 Added int version of SetLimits for RGDoubleValuator; added
423 getters for value limits (Ludovic).
429 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
437 * RGBAPaletteEditor.cxx:
451 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
454 Added getters for limits of the RGValuator.
456 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
459 Removed support for old ROOT versions.
463 Added base-interface ReferenceBackPtr (reference-counted object
464 with back references to render elements); to be used for shared
465 markup classes (color-palettes, frames) that need to update their
466 consumers once their state is changed.
470 Removed code for RGBAPalette; now in its own file.
474 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
480 Very optimized in sense of speed / memory usage as it supports
481 several orientations of rectangles and all possible variants of
482 default sizes / third coordinate; also added pointers to
483 color-palette and frame-box/rectangle so that these elements can
484 be shared among instances of the same type (eg. silicon strip
485 detectors). Means more code in this class ... but hopefully much
489 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
495 New files: provide a surrounding box/rectangle with a given
496 size/color; can be shared among many instances of render-elements
497 (eg. silicon strip detectors).
501 New files: container with chunked memory allocation (to avoid
502 frequent re-allocation on creation time) and ability to refit
503 itself into a contiguous array.
507 * RGBAPaletteEditor.cxx:
508 * RGBAPaletteEditor.h:
509 New files: a generic color palette with value to color mapping; to
510 be used by most digit/raw-data classes; can be shared among many
511 instances of render-elements (eg. silicon strip detectors).
517 From Ludovic: new files for visualization of V0s.
519 * RenderElementEditor.cxx:
523 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
530 Started to work on reimplementation of the quad-set, renamed the
531 old one to OldQuadSet; i'm checking this in because another change is
532 needed for the new muon code and i already changed several things.
534 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
538 In Line render-mode really render boxes as lines to allow
539 selection to proceed through the box walls; removed pre-processor
540 ifs for old root version.
542 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
545 Fixed operator+ functions for exceptions (forgot to change them
546 when migrated from std::string to TString as exception base-class).
548 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
552 Changed inheritance to include Reve::RenderElement;
553 use ZTrans to store transformation matrix;
554 added render-mode state (to force line/fill drawing).
556 In class Box added ctor and function MakeAxisAlignedBox() to
557 facilitate creation of regular boxes.
560 Support different render modes.
565 New class Reve::RGBAPalette: allow easier creation of color
566 paletts mapped to integer-value range.
572 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
573 change width of all tracks in TrackList.
577 Added method method GenerateZNormalColors() that uses
578 Reve::RGBAPalette to set-up triangle color based on z-component of
581 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
587 New files: implementation of homogeneous transformation matrix
588 with accompanying geditor.
592 * TriangleSetEditor.cxx:
593 * TriangleSetEditor.h:
596 New files: arbitrary triangulated surface.
599 Create a dummy event directory if none exists on AddRenderElement.
603 Added class RGTriVecValuator, a composite widget for editing
604 three-vectors. Used by ZTransEditor.
609 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
613 Added contructor from TPartice.
615 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
620 Fix wrong numerical constant in transformation assignment.
623 Added comment about problems with getting context-menu for
628 Added data-members for important GUI elements (master-frame,
629 master-tab); added method 'AddCanvasTab(const char* name)'.
633 Use TString as exception base instead of std::string.
637 Brought in sync with changes in render-element
638 management/conventions.
640 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
646 Made RenderElement::ExportToCINT() virtual and reimplemented it in
651 Added optional TrackRnrStyle* argument to TrackList constructors;
652 renamed mRnrStyle to fRnrStyle.
654 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
663 Changes for new geditor and gl two-level selection; added
664 delarations of private copy-ctor and assignment-op.
667 Added method GetRnrElement().
672 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
673 it checks if the object is being displayed in the editor but can
674 in principle check other things as well.
676 * RenderElementEditor.cxx:
677 Assgined RenderElementEditor fPriority 0 (to appear on top).
679 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
684 Made GLCanvas un-editable to prevent users from drawing things
685 over 3D scene; renamed the canvas data member from fCC to
686 fGLCanvas. Renamed local variables not to dress-up as
689 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
692 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
697 Properly update items of render-elements; call gReve::Redraw3D()
698 instead of pad modified/update. Added separate method
699 DisplayRenderElement() that caches the render-element in a
700 data-member to update it on change (needed for RenderElementObjPtr).
703 Use RGEditor::DisplayRenderElement() instead of
704 DisplayObject(). Removed some never-used static structures.
707 Removed Redraw3D() from UpdateItems() as it can now be called from
708 RGEditor::Update(); optimized item-updates in SetRnrElement() and
711 * PointSetArrayEditor.cxx:
713 Added call to Update() in SetRange() methods.
715 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
720 Use new functionality from TGedEditor.
722 * PointSetArrayEditor.cxx:
723 * PointSetArrayEditor.h:
724 * RGeoNodeEditors.cxx:
726 * RenderElementEditor.cxx:
727 * RenderElementEditor.h:
730 Conform to new TGedFrame paradigm in ROOT.
732 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
735 Fix effc++ warnings and most blatant coding-convention violations.
737 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
743 * PointSetArrayEditor.cxx:
744 * PointSetArrayEditor.h:
750 * RGeoNodeEditors.cxx:
754 * RenderElementEditor.cxx:
755 * RenderElementEditor.h:
773 Removed code for gled-like object editors (obsolete, somewhat
774 decayed); fix effc++ warnings.
776 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
782 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
785 In Reset: added call to PointSet3D::ClearIds().
789 Added support for control of camera-reset to Redraw3D(); when
790 opening GL window disable automatic camera reset on update and on
793 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
797 Commented-out info print statements.
799 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
803 Bypass buggy TMacro ctor (caused problems on paths including '.',
806 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
810 Added method RenderElementListBase::DestroyElements().
812 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
816 Removed files: the contents moved to VSDEvent and renamed
821 New files: common base class for an event object (VSDEvent and
826 New files: rename of class Reve::Event, now subclassed from
830 Reflect changes in event classes.
833 Added include TError.h.
837 Changed current-event pointer from TObject to EventBase; made
838 global-store and event-stores render elements; improved interface
839 for adding/removing render-elements.
843 Implemented proper reference management accross render-elements,
844 render-element-lists and tree-items; implemented methods for
845 removal and destruction of render-elements.
851 * RGeoNodeEditors.cxx:
854 Proper management of dependent render-elements, renamed
855 FullUpdate() to UpdateItems() and changed inheritance order
856 (derive RenderElement first).
858 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
863 Added new classes TPointSelector and TPointSelectorConsumer
864 allowing more natural extraction of point-data from trees.
868 Implemented the TPointSelectorConsumer interface for PointSet and
869 PointSetArray; in PointSetArray removed obsolete methods
870 MakeScrollbar() and HandleScrollEvent().
872 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
875 Skip render-state initialization if no boxes present.
879 Added option to render GeoTopNodeRnrEl at a given global position
880 (requires ROOT > 5.11.7).
885 Fixed creation of editor frame so that it uses X client's
886 SetRoot() functionality. This should (finally) close the issue.
889 Check for macro via full-path (fTitle); save macro as '.C' not
893 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
894 searching the list of global functions.
897 Fixed code for hit and cluster import to work with 'new' render
898 element registration mechanism.
900 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
905 New class Reve::RMacro: a sub-class of TMacro that tries to unload
906 the macros properly before/after the operation.
910 Provide TFoler fMacroFolder to all consumers, register
911 Reve::RMacro mime type on start-up.
915 Added global function Bool_t Reve:CheckMacro().
917 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
921 In TrackList: added ImportHits/Clusters(); removed obsolete
924 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
928 In PointSetArray: added member for default daughter PointSet
929 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
930 daughter polymarker stuff in InitBins() instead of CloseBins().
934 Consistently use nuber of slider positions in RGValuator.
937 Added method RenderElementListBase::RemoveElements().
939 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
942 Added non-protected wrapper Render() for DirectDraw().
946 Subclassed point-set-array from TAttMarker, propagate changes to
949 * PointSetArrayEditor.cxx:
950 Removed stale printout.
953 Print exceptions to terminal also.
955 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
958 Draw charged tracks as straight lines when magnetic field is near
961 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
968 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
969 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
970 when dependencies were not generated properly.
974 Added methods Track::ImportHits() and Track::ImportClusters();
975 fixed a charge value inconsistency yielding reconstructed
976 track charge to be 1/3.
978 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
981 Added friend PointSetArrayEditor.
983 * PointSetArrayEditor.cxx:
984 * PointSetArrayEditor.h:
987 Use RGDoubleValuator for range-selection widget.
990 Accept -mode cmd-line option as an alias for -revemode.
993 Added some padding for labels.
995 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
999 Added method UndrawRenderElement().
1001 * RenderElement.cxx:
1003 Implemented dtor for RenderElement removing all instances from
1008 Added method RGValuator::SetEnabled().
1010 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
1017 Added preprocessor conditionals to support ROOT > 5.11.2.
1019 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1026 New valuator widget classes RGValuator and RGDoubleValuator.
1028 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
1033 Added method ArrTrans().
1036 Added setup of macro/include paths into function
1039 * reve_main/reve_main.cxx:
1040 Removed macro/include path setup.
1042 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1048 Use RenderElement* as user-data of list-tree entries (it was
1052 * RenderElement.cxx:
1054 Added class RenderElementObjPtr to allow display and control of
1055 pure TObjects (see alice-macros/region_marker.C for an
1056 example). This is not perfect as there is no way to get
1057 color-change updates from the editor (can fix this when i get
1058 control over TGedEditor::Update()). RenderElement::GetObject() is
1063 Added function FindColorVar() to allow RenderElementObjPtr objects
1064 to peek into appropriate color.
1066 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
1072 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
1077 Fix for editor window not appearing under some window
1078 managers. For me it was working OK under fvwm and KDE (any focus
1079 policy) but not at all under Gnome. This fixed my gnome problem
1080 but it's quite likely the problem is not completely solved.
1082 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
1087 Added missing initializations. In particular, fCurrentEvent,
1088 fCurrentEventLTI and fGeometryLTI were not initialized and this
1089 caused segvs for usage without bootstrap with alieve_init.C macro.
1091 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
1097 New class Reve::ReferenceCount; to be used as secondary base class.
1099 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
1105 New function ColorFromIdx().
1111 New files: a set of boxes with direct GL rendering.
1114 Pragmas for BoxSet/GL.