1 2006-12-15 Matevz Tadel <matevz.tadel@cern.ch>
4 Subclass from ReferenceBackPtr instead of ReferenceCount.
11 Moved declaration/definition of ReferenceBackPtr from
12 RenderElement.h/cxx to Reve.h/cxx.
15 Added index data-member to MC/RecTrack.
19 Added signal-emitting 'void CtrlClicked()' and 'Bool_t
20 fEmitSignals' that controls if signals are emitted on secondary
22 Fixed handling of main-color which is in fact
23 forwarded to shared frame.
27 Added method 'void ImportClustersFromIndex()'.
30 Increase range of track extrapolation precision.
32 2006-12-13 Matevz Tadel <matevz.tadel@cern.ch>
36 Added per-quad TRef, implemented virtual callback QuadSelected()
37 for secondary selection from GL.
41 Added support for secondary selection. Sacrificed some speed for
44 2006-12-08 Matevz Tadel <matevz.tadel@cern.ch>
48 Added inner struct VoidCPlex::iterator; increase constness.
53 Slight simplification of heavy-duty loops over elements.
55 2006-12-06 Matevz Tadel <matevz.tadel@cern.ch>
61 Added support for rendering hexagons (needed by PMD).
63 2006-12-04 Matevz Tadel <matevz.tadel@cern.ch>
67 Renamed typedef lpRE_t/i to List_t/i.
68 Added method groups Begin/End/GetN-Parents/Children().
74 Renamed typedef lpRE_t/i to List_t/i.
77 New class TrackCounter[Editor]; added RenderElement typedefs.
80 Render frame before checking if QuadSet is empty and exiting.
84 Added a hack that restores CINT state if macro execution ends with
89 Added class TrackCounter;
90 Track now inherits from TQObject and emits a Clicked() signal;
91 Renamed typedef lpRE_t/i to List_t/i.
95 Added class TrackCounterEditor.
98 In TrackGL::ProcessSelection(): make model-track emit Clicked signal.
100 2006-11-21 Matevz Tadel <matevz.tadel@cern.ch>
108 New files: line representation with per-point selection.
112 New files: allow interaction with the track, more configurability
113 (render as line, points or both).
117 Derive Track from Line (before was TPolyLine3D, RenderElement);
118 this allowed me to remove a lot of code actually shared with
122 Register new classes.
125 Some points were duplicated during track construction.
132 Use better names for QuadTypes (enum and internal structs).
136 Style/comment changes.
138 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
142 Removed unnecessary constructor.
144 2006-11-17 Matevz Tadel <matevz.tadel@cern.ch>
147 Bugfix: loop variable was not increased in case of a continue
152 Rename over/undershoot to over/underflow.
154 * RGBAPaletteEditor.cxx:
155 * RGBAPaletteEditor.h:
156 Beautify editor; rename over/undershoot to over/underflow.
158 2006-11-16 Matevz Tadel <matevz.tadel@cern.ch>
162 * CascadeEditors.cxx:
164 From Ludovic, new files for visualization of cascades.
167 From Ludovic: register new classes. Reorganize some entries so
168 that a class, editor and gl-renderer are listed together.
173 From Ludovic: updates for V0 visualization.
177 Main color now set from frame-box (instead of default palette
181 Use new color-query function from RGBAPalette; validity of digit
182 value was not honoured in line-drawing modes.
186 * RGBAPaletteEditor.cxx:
187 * RGBAPaletteEditor.h:
188 Reimplementation of over/undershoot handling with separate modes
189 for both ends (cut, mark, clip and wrap); this works marvelously.
193 New files, editor for QuadSet gluing together translation and
198 Added int version of SetLimits for RGDoubleValuator; added
199 getters for value limits (Ludovic).
205 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
213 * RGBAPaletteEditor.cxx:
227 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
230 Added getters for limits of the RGValuator.
232 2006-11-14 Matevz Tadel <matevz.tadel@cern.ch>
235 Removed support for old ROOT versions.
239 Added base-interface ReferenceBackPtr (reference-counted object
240 with back references to render elements); to be used for shared
241 markup classes (color-palettes, frames) that need to update their
242 consumers once their state is changed.
246 Removed code for RGBAPalette; now in its own file.
250 Cleaned-up by using RGValuators instead of raw ROOT GUI (partial).
256 Very optimized in sense of speed / memory usage as it supports
257 several orientations of rectangles and all possible variants of
258 default sizes / third coordinate; also added pointers to
259 color-palette and frame-box/rectangle so that these elements can
260 be shared among instances of the same type (eg. silicon strip
261 detectors). Means more code in this class ... but hopefully much
265 Register new classes FrameBox, Plex, RGBAPalette and V0 stuff.
271 New files: provide a surrounding box/rectangle with a given
272 size/color; can be shared among many instances of render-elements
273 (eg. silicon strip detectors).
277 New files: container with chunked memory allocation (to avoid
278 frequent re-allocation on creation time) and ability to refit
279 itself into a contiguous array.
283 * RGBAPaletteEditor.cxx:
284 * RGBAPaletteEditor.h:
285 New files: a generic color palette with value to color mapping; to
286 be used by most digit/raw-data classes; can be shared among many
287 instances of render-elements (eg. silicon strip detectors).
293 From Ludovic: new files for visualization of V0s.
295 * RenderElementEditor.cxx:
299 2006-10-31 Matevz Tadel <matevz.tadel@cern.ch>
306 Started to work on reimplementation of the quad-set, renamed the
307 old one to OldQuadSet; i'm checking this in because another change is
308 needed for the new muon code and i already changed several things.
310 2006-10-27 Matevz Tadel <matevz.tadel@cern.ch>
314 In Line render-mode really render boxes as lines to allow
315 selection to proceed through the box walls; removed pre-processor
316 ifs for old root version.
318 2006-10-26 Matevz Tadel <matevz.tadel@cern.ch>
321 Fixed operator+ functions for exceptions (forgot to change them
322 when migrated from std::string to TString as exception base-class).
324 2006-10-25 Matevz Tadel <matevz.tadel@cern.ch>
328 Changed inheritance to include Reve::RenderElement;
329 use ZTrans to store transformation matrix;
330 added render-mode state (to force line/fill drawing).
332 In class Box added ctor and function MakeAxisAlignedBox() to
333 facilitate creation of regular boxes.
336 Support different render modes.
341 New class Reve::RGBAPalette: allow easier creation of color
342 paletts mapped to integer-value range.
348 Added parameter 'Width_t fWidth' to TrackRnrStyle and a method to
349 change width of all tracks in TrackList.
353 Added method method GenerateZNormalColors() that uses
354 Reve::RGBAPalette to set-up triangle color based on z-component of
357 2006-10-18 Matevz Tadel <matevz.tadel@cern.ch>
363 New files: implementation of homogeneous transformation matrix
364 with accompanying geditor.
368 * TriangleSetEditor.cxx:
369 * TriangleSetEditor.h:
372 New files: arbitrary triangulated surface.
375 Create a dummy event directory if none exists on AddRenderElement.
379 Added class RGTriVecValuator, a composite widget for editing
380 three-vectors. Used by ZTransEditor.
385 2006-10-13 Matevz Tadel <matevz.tadel@cern.ch>
389 Added contructor from TPartice.
391 2006-10-12 Matevz Tadel <matevz.tadel@cern.ch>
396 Fix wrong numerical constant in transformation assignment.
399 Added comment about problems with getting context-menu for
404 Added data-members for important GUI elements (master-frame,
405 master-tab); added method 'AddCanvasTab(const char* name)'.
409 Use TString as exception base instead of std::string.
413 Brought in sync with changes in render-element
414 management/conventions.
416 2006-10-04 Matevz Tadel <matevz.tadel@cern.ch>
422 Made RenderElement::ExportToCINT() virtual and reimplemented it in
427 Added optional TrackRnrStyle* argument to TrackList constructors;
428 renamed mRnrStyle to fRnrStyle.
430 2006-10-02 Matevz Tadel <matevz.tadel@cern.ch>
439 Changes for new geditor and gl two-level selection; added
440 delarations of private copy-ctor and assignment-op.
443 Added method GetRnrElement().
448 Added RGTopFrame::PreDeleteRenderElement() and calls to it; so far
449 it checks if the object is being displayed in the editor but can
450 in principle check other things as well.
452 * RenderElementEditor.cxx:
453 Assgined RenderElementEditor fPriority 0 (to appear on top).
455 2006-09-27 Matevz Tadel <matevz.tadel@cern.ch>
460 Made GLCanvas un-editable to prevent users from drawing things
461 over 3D scene; renamed the canvas data member from fCC to
462 fGLCanvas. Renamed local variables not to dress-up as
465 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
468 Hack to fix RenderElementObjPtr's colors in tree-view is no longer
473 Properly update items of render-elements; call gReve::Redraw3D()
474 instead of pad modified/update. Added separate method
475 DisplayRenderElement() that caches the render-element in a
476 data-member to update it on change (needed for RenderElementObjPtr).
479 Use RGEditor::DisplayRenderElement() instead of
480 DisplayObject(). Removed some never-used static structures.
483 Removed Redraw3D() from UpdateItems() as it can now be called from
484 RGEditor::Update(); optimized item-updates in SetRnrElement() and
487 * PointSetArrayEditor.cxx:
489 Added call to Update() in SetRange() methods.
491 2006-09-26 Matevz Tadel <matevz.tadel@cern.ch>
496 Use new functionality from TGedEditor.
498 * PointSetArrayEditor.cxx:
499 * PointSetArrayEditor.h:
500 * RGeoNodeEditors.cxx:
502 * RenderElementEditor.cxx:
503 * RenderElementEditor.h:
506 Conform to new TGedFrame paradigm in ROOT.
508 2006-09-04 Matevz Tadel <matevz.tadel@cern.ch>
511 Fix effc++ warnings and most blatant coding-convention violations.
513 2006-08-30 Matevz Tadel <matevz.tadel@cern.ch>
519 * PointSetArrayEditor.cxx:
520 * PointSetArrayEditor.h:
526 * RGeoNodeEditors.cxx:
530 * RenderElementEditor.cxx:
531 * RenderElementEditor.h:
549 Removed code for gled-like object editors (obsolete, somewhat
550 decayed); fix effc++ warnings.
552 2006-08-29 Matevz Tadel <matevz.tadel@cern.ch>
558 Added ifdefs for post root-5.11.0 prototype of SetModelCheckClass().
561 In Reset: added call to PointSet3D::ClearIds().
565 Added support for control of camera-reset to Redraw3D(); when
566 opening GL window disable automatic camera reset on update and on
569 2006-08-04 Matevz Tadel <matevz.tadel@cern.ch>
573 Commented-out info print statements.
575 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
579 Bypass buggy TMacro ctor (caused problems on paths including '.',
582 2006-07-11 Matevz Tadel <matevz.tadel@cern.ch>
586 Added method RenderElementListBase::DestroyElements().
588 2006-07-10 Matevz Tadel <matevz.tadel@cern.ch>
592 Removed files: the contents moved to VSDEvent and renamed
597 New files: common base class for an event object (VSDEvent and
602 New files: rename of class Reve::Event, now subclassed from
606 Reflect changes in event classes.
609 Added include TError.h.
613 Changed current-event pointer from TObject to EventBase; made
614 global-store and event-stores render elements; improved interface
615 for adding/removing render-elements.
619 Implemented proper reference management accross render-elements,
620 render-element-lists and tree-items; implemented methods for
621 removal and destruction of render-elements.
627 * RGeoNodeEditors.cxx:
630 Proper management of dependent render-elements, renamed
631 FullUpdate() to UpdateItems() and changed inheritance order
632 (derive RenderElement first).
634 2006-07-03 Matevz Tadel <matevz.tadel@cern.ch>
639 Added new classes TPointSelector and TPointSelectorConsumer
640 allowing more natural extraction of point-data from trees.
644 Implemented the TPointSelectorConsumer interface for PointSet and
645 PointSetArray; in PointSetArray removed obsolete methods
646 MakeScrollbar() and HandleScrollEvent().
648 2006-06-27 Matevz Tadel <matevz.tadel@cern.ch>
651 Skip render-state initialization if no boxes present.
655 Added option to render GeoTopNodeRnrEl at a given global position
656 (requires ROOT > 5.11.7).
661 Fixed creation of editor frame so that it uses X client's
662 SetRoot() functionality. This should (finally) close the issue.
665 Check for macro via full-path (fTitle); save macro as '.C' not
669 In CheckMacro() use TInterpreter::IsLoaded(mac) instead of
670 searching the list of global functions.
673 Fixed code for hit and cluster import to work with 'new' render
674 element registration mechanism.
676 2006-06-21 Matevz Tadel <matevz.tadel@cern.ch>
681 New class Reve::RMacro: a sub-class of TMacro that tries to unload
682 the macros properly before/after the operation.
686 Provide TFoler fMacroFolder to all consumers, register
687 Reve::RMacro mime type on start-up.
691 Added global function Bool_t Reve:CheckMacro().
693 2006-06-20 Matevz Tadel <matevz.tadel@cern.ch>
697 In TrackList: added ImportHits/Clusters(); removed obsolete
700 2006-06-19 Matevz Tadel <matevz.tadel@cern.ch>
704 In PointSetArray: added member for default daughter PointSet
705 capacity (fDefPointSetCapacity) and method DeleteBins(). Set
706 daughter polymarker stuff in InitBins() instead of CloseBins().
710 Consistently use nuber of slider positions in RGValuator.
713 Added method RenderElementListBase::RemoveElements().
715 2006-06-14 Matevz Tadel <matevz.tadel@cern.ch>
718 Added non-protected wrapper Render() for DirectDraw().
722 Subclassed point-set-array from TAttMarker, propagate changes to
725 * PointSetArrayEditor.cxx:
726 Removed stale printout.
729 Print exceptions to terminal also.
731 2006-06-13 Matevz Tadel <matevz.tadel@cern.ch>
734 Draw charged tracks as straight lines when magnetic field is near
737 2006-06-12 Matevz Tadel <matevz.tadel@cern.ch>
744 Renamed RenderElement::SetMainColorByPixel(Pixel_t) back to
745 RenderElement::SetMainColor(Pixel_t); there seemed to be a problem
746 when dependencies were not generated properly.
750 Added methods Track::ImportHits() and Track::ImportClusters();
751 fixed a charge value inconsistency yielding reconstructed
752 track charge to be 1/3.
754 2006-06-09 Matevz Tadel <matevz.tadel@cern.ch>
757 Added friend PointSetArrayEditor.
759 * PointSetArrayEditor.cxx:
760 * PointSetArrayEditor.h:
763 Use RGDoubleValuator for range-selection widget.
766 Accept -mode cmd-line option as an alias for -revemode.
769 Added some padding for labels.
771 2006-06-02 Matevz Tadel <matevz.tadel@cern.ch>
775 Added method UndrawRenderElement().
779 Implemented dtor for RenderElement removing all instances from
784 Added method RGValuator::SetEnabled().
786 2006-06-01 Matevz Tadel <matevz.tadel@cern.ch>
793 Added preprocessor conditionals to support ROOT > 5.11.2.
795 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
802 New valuator widget classes RGValuator and RGDoubleValuator.
804 2006-05-31 Matevz Tadel <matevz.tadel@cern.ch>
809 Added method ArrTrans().
812 Added setup of macro/include paths into function
815 * reve_main/reve_main.cxx:
816 Removed macro/include path setup.
818 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
824 Use RenderElement* as user-data of list-tree entries (it was
830 Added class RenderElementObjPtr to allow display and control of
831 pure TObjects (see alice-macros/region_marker.C for an
832 example). This is not perfect as there is no way to get
833 color-change updates from the editor (can fix this when i get
834 control over TGedEditor::Update()). RenderElement::GetObject() is
839 Added function FindColorVar() to allow RenderElementObjPtr objects
840 to peek into appropriate color.
842 2006-05-23 Matevz Tadel <matevz.tadel@cern.ch>
848 Do not initialize bbox in ctor. Moved ctor to cxx file, removed
853 Fix for editor window not appearing under some window
854 managers. For me it was working OK under fvwm and KDE (any focus
855 policy) but not at all under Gnome. This fixed my gnome problem
856 but it's quite likely the problem is not completely solved.
858 2006-05-18 Matevz Tadel <matevz.tadel@cern.ch>
863 Added missing initializations. In particular, fCurrentEvent,
864 fCurrentEventLTI and fGeometryLTI were not initialized and this
865 caused segvs for usage without bootstrap with alieve_init.C macro.
867 2006-05-17 Matevz Tadel <matevz.tadel@cern.ch>
873 New class Reve::ReferenceCount; to be used as secondary base class.
875 2006-05-15 Matevz Tadel <matevz.tadel@cern.ch>
881 New function ColorFromIdx().
887 New files: a set of boxes with direct GL rendering.
890 Pragmas for BoxSet/GL.