Log of /trunk/core/base/inc/TVirtualPad.h
Parent Directory
Revision
41086 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 30 21:27:53 2011 UTC (3 years, 3 months ago) by
pcanal
File length: 12729 byte(s)
Diff to
previous 29712
Introduce TThreadSlots.h to centralize and formalize the use of the TThread local memory slots amongst the ROOT packages.
Move the definition of gThreadTsd to TROOT.cxx.
Revision
26760 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 9 15:56:43 2008 UTC (6 years, 1 month ago) by
brun
File length: 12708 byte(s)
Diff to
previous 22961
From Axel, Matevz and me:
Added several methods to be able to properly generate pictures from macros (for html):
- Added Bool_t HasViewer3D() to TVirtualPad/TPad
- Added Bool_t HasEditor() HasMenuBar() HasStatusBar() HasToolBar() to TCanvasImp /TRootCanvas
Revision
22961 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by
rdm
File length: 12654 byte(s)
Diff to
previous 20877
move the directories:
base clib cont meta metautils newdelete pcre rint thread unix utils
winnt zip
under the new core meta directory.
Revision
18024 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 19 18:51:48 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12716 byte(s)
Diff to
previous 18004
Undo all the changes excluding functions from the abstract interface
to be visible from CINT.
Too many side-effects and not enough energy to solve the problem.
a real pity: we are waisting 1 MByte of real memory with ROOT Core.
Revision
17996 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 18 14:56:42 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12763 byte(s)
Diff to
previous 17763
For abstract interfaces, generate the CINT stub functions only for
the strict minimum of functions.
Keep only one pure function known to CINT such that CINT can
recognize that the class is abstract and has pure functions.
This optimization gains about one megabyte of generated code.
Revision
14580 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12612 byte(s)
Diff to
previous 13274
From Matevz Tadel:
Introduce a new set of classes dedicated to event visualisation.
TGLObject: base-class for direct GL renderers
TAttBBox: interface, helps maintain/calculate bounding-box
needed for TGLObject (see TPointSet3D and TPointSet3DGL)
TPointSet3D: a demo class for direct GL rendering
TPointSet3DGL:
Mods in existing classes to interface the new classes
Revision
11272 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12449 byte(s)
Diff to
previous 9665
From Richard Maunder:
Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:
i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.
Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.
All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.
TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.
Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).
For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.
Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.
3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).
NOTE:
1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.
2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.
Revision
9665 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12593 byte(s)
Diff to
previous 9620
From Olivier, Timur Pocheptsov , Andrei Gheata and Rene
Mega patch to introduce the new 3-d interface (to be described later).
The new interface has been tested with both X3D and OpenGL under Linux.
Being tested under Windows.
Note that several changes are expected in these classes (OpenGL in particular)
in the coming days.
Revision
9620 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 30 01:13:51 2004 UTC (10 years, 5 months ago) by
rdm
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12334 byte(s)
Diff to
previous 8233
From Philippe:
his patch updates TVirtualPad::cd() (and all the implementations)
so that they return the new current pad if any.
So that the following now works:
currendPad = c1->cd(3);
if (currentPad==0) Error("we have a problem");
Revision
8233 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 18 20:13:43 2004 UTC (10 years, 11 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 13025 byte(s)
Diff to
previous 5658
The following mega patch is from Ilka. She has integrated and further
developed the original classes from Marek Biskup (summer student last year)..
Valeriy Onuchin has also contributed by extending/adapting existing
GUI classes.
Very first prototype of the new pad editor is available for testing and
feedbacks. It was started by Marek Biskup as his project during the
Summer Student Program 2003.
The new pad editor helps ROOT GUI to become closer to the well known
application GUIs; to be user friendly, having easier and faster access
to the ROOT graphics, to be more intuitive. It is embedded in the
TCanvas window every canvas has an editor.
The editor frame is on the left side of the canvas window. The user can
show it via Edit/Editor menu selection. The editor frame contains a set
of picture buttons for selecting well known graphical primitives for
drawing; below them there are widgets for attribute changing. When an
object is selected its name appears with a set of options available for
changing: fill style and color; line style, width and color; text font,
size and style; marker style, size and color.
New Classes:
TGFontTypeComboBox - a combo box with fonts for a choice;
TGLineWidthComboBox - a combo box with line widths;
TGLineWidthLBEntry - list box entry for different line widths
TGLineStyleComboBox - a combo box with line styles;
TGLineStyleLBEntry - list box entry for a line style
TGedEditor - the new editor containing tool-box and attribute frames of
the selected object;
TGedToolBox - frame with picture buttons for a primitive drawing
TGedAttFrame - a base class for all attribute frames
TGedAttNameFrame - a frame showing the selected object name (if exists)
TGedAttFillFrame - a frame showing the fill attributes
TGedAttLineFrame - a frame showing the line attributes
TGedAttTextFrame - a frame showing the text attributes
TGedAttMarkerFrame - a frame showing the marker attributes
TGedPatternFrame - popup window for fill pattern selection
TGedPatternSelector - a button for pattern selection
TGedSelect - service class for selecting
TGedPopup - service class for popup attribute window
TGPatternSelect - a button for selected pattern
TGedMarkerPopup - popup window for marker selection
TGedMarkerSelect - a button for selected marker
Several changes are made in TCanvas, TPad, TRootCanvas to adapt them for
the new GUI interface. The old GUI interface is kept and it can be used
too. The class TPadEditorOld provides its functionality.
Revision
5293 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 14 11:12:47 2002 UTC (12 years, 4 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12895 byte(s)
Diff to
previous 3597
Add the following new functions in TVirtualPad and TPad:
virtual void UpdateFillAttributes(Int_t col, Int_t sty);
virtual void UpdateLineAttributes(Int_t col, Int_t sty, Int_t width);
virtual void UpdateMarkerAttributes(Int_t col, Int_t sty, Float_t msiz);
virtual void UpdateTextAttributes(Int_t align,Float_t angle,Int_t col,Int_t font,Float_t tsize);
Simplify the code in functions like TAttLine::SetLineAttributes.
Instead of invoking the dialog canvas via CINT, use the abstract
interface of TVirtualPad with the above functions.
Revision
3134 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 29 19:47:53 2001 UTC (13 years, 2 months ago) by
rdm
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12452 byte(s)
Diff to
previous 1959
support fixed aspect ratio. New methods SetFixedAspectRatio() and
HasFixedAspectRatio(). After fixing the aspect ratio the pad mouse
resize functions will maintain the current aspect ratio. SetFixedAspectRatio()
is avaible as toggle via the context menu.
Revision
1205 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 12238 byte(s)
Diff to
previous 915
W A R N I N G !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
virtual TObject *Clone() const;
virtual Int_t Compare(const TObject *obj) const;
virtual void Delete(Option_t *option=""); // *MENU*
virtual void DrawClass() const; // *MENU*
virtual void DrawClone(Option_t *option="") const; // *MENU*
virtual void Dump() const; // *MENU*
virtual TObject *FindObject(const TObject *obj) const;
virtual char *GetObjectInfo(Int_t px, Int_t py) const;
virtual ULong_t Hash() const;
virtual void Inspect() const; // *MENU*
virtual Bool_t IsEqual(const TObject *obj) const;
virtual void ls(Option_t *option="") const;
virtual void Print(Option_t *option="") const;
A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.
Revision
676 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 29 07:23:49 2000 UTC (14 years, 3 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 11804 byte(s)
Diff to
previous 183
Add new virtual functions:
virtual void DrawCrosshair();
Int_t GetCrosshair() {return fCrosshair;}
virtual Bool_t HasCrosshair() {return (Bool_t)fCrosshair;}
virtual void SetCrosshair(Int_t crhair=1); // *TOGGLE*
Revision
183 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 13 12:32:57 2000 UTC (14 years, 7 months ago) by
brun
Original Path:
trunk/base/inc/TVirtualPad.h
File length: 11713 byte(s)
Diff to
previous 3
Many functions modified when upgrading from Float_t to Double_t:
TVirtualPad(const char *name, const char *title, Double_t xlow,
Double_t ylow, Double_t xup, Double_t yup,
Color_t color=19, Short_t bordersize=4, Short_t bordermode=1);
virtual Double_t AbsPixeltoX(Int_t px) = 0;
virtual Double_t AbsPixeltoY(Int_t py) = 0;
virtual TH1F *DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char *title="") = 0;
virtual void DrawLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2) = 0;
virtual void DrawLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2) = 0;
virtual void DrawText(Double_t x, Double_t y, const char *text) = 0;
virtual void DrawTextNDC(Double_t u, Double_t v, const char *text) = 0;
virtual void GetRange(Double_t &x1, Double_t &y1, Double_t &x2, Double_t &y2) = 0;
virtual void GetRangeAxis(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) = 0;
virtual void GetPadPar(Double_t &xlow, Double_t &ylow, Double_t &xup, Double_t &yup) = 0;
virtual Double_t GetXlowNDC() = 0;
virtual Double_t GetYlowNDC() = 0;
virtual Double_t GetWNDC() = 0;
virtual Double_t GetHNDC() = 0;
virtual Double_t GetAbsXlowNDC() = 0;
virtual Double_t GetAbsYlowNDC() = 0;
virtual Double_t GetAbsWNDC() = 0;
virtual Double_t GetAbsHNDC() = 0;
virtual Double_t GetPhi() = 0;
virtual Double_t GetTheta() = 0;
virtual Double_t GetUxmin() = 0;
virtual Double_t GetUymin() = 0;
virtual Double_t GetUxmax() = 0;
virtual Double_t GetUymax() = 0;
virtual Double_t GetX1() const = 0;
virtual Double_t GetX2() const = 0;
virtual Double_t GetY1() const = 0;
virtual Double_t GetY2() const = 0;
virtual Double_t PadtoX(Double_t x) const = 0;
virtual Double_t PadtoY(Double_t y) const = 0;
virtual void PaintBorderPS(Double_t xl,Double_t yl,Double_t xt,Double_t yt,Int_t bmode,Int_t bsize,Int_t dark,Int_t light) = 0;
virtual void PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t *option="") = 0;
virtual void PaintFillArea(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
virtual void PaintFillArea(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
virtual void PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) = 0;
virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2) = 0;
virtual void PaintLineNDC(Double_t u1, Double_t v1,Double_t u2, Double_t v2) = 0;
virtual void PaintLine3D(Float_t *p1, Float_t *p2) = 0;
virtual void PaintLine3D(Double_t *p1, Double_t *p2) = 0;
virtual void PaintPolyLine(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
virtual void PaintPolyLine(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
virtual void PaintPolyLine3D(Int_t n, Double_t *p) = 0;
virtual void PaintPolyLineNDC(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
virtual void PaintPolyMarker(Int_t n, Float_t *x, Float_t *y, Option_t *option="") = 0;
virtual void PaintPolyMarker(Int_t n, Double_t *x, Double_t *y, Option_t *option="") = 0;
virtual void PaintModified() = 0;
virtual void PaintText(Double_t x, Double_t y, const char *text) = 0;
virtual void PaintTextNDC(Double_t u, Double_t v, const char *text) = 0;
virtual Double_t PixeltoX(Int_t px) = 0;
virtual Double_t PixeltoY(Int_t py) = 0;
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2) = 0;
virtual void RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax) = 0;
virtual void SetPad(const char *name, const char *title,
Double_t xlow, Double_t ylow, Double_t xup,
Double_t yup, Color_t color=35,
Short_t bordersize=5, Short_t bordermode=-1) = 0;
virtual void SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup) = 0;
virtual Int_t UtoAbsPixel(Double_t u) const = 0;
virtual Int_t VtoAbsPixel(Double_t v) const = 0;
virtual Int_t UtoPixel(Double_t u) const = 0;
virtual Int_t VtoPixel(Double_t v) const = 0;
virtual Int_t XtoAbsPixel(Double_t x) const = 0;
virtual Int_t YtoAbsPixel(Double_t y) const = 0;
virtual Double_t XtoPad(Double_t x) const = 0;
virtual Double_t YtoPad(Double_t y) const = 0;
virtual Int_t XtoPixel(Double_t x) const = 0;
virtual Int_t YtoPixel(Double_t y) const = 0;
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.