]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/Reve/PointSet.h
Added nested class RedrawDisabler allowing exception-safe disabling of 3d-redraw.
[u/mrichter/AliRoot.git] / EVE / Reve / PointSet.h
index e694573a716c005318b0280d8dfbb0654840d899..7718df5f25c248478cf7986666ce9eab9ef68052 100644 (file)
@@ -5,6 +5,7 @@
 
 #include <Reve/PODs.h>
 #include <Reve/RenderElement.h>
+#include <Reve/TTreeTools.h>
 
 #include <TPointSet3D.h>
 
@@ -14,25 +15,22 @@ class TGListTreeItem;
 
 namespace Reve {
 
-class PointSet : public TPointSet3D, public RenderElement
+class PointSet : public RenderElement,
+                 public TPointSet3D,
+                 public TPointSelectorConsumer
 {
   friend class PointSetArray;
 
-private:
-  void Init();
-
 protected:
   TString fTitle;
 
 public:
-  enum TreeVarType_e { TVT_XYZ, TVT_RPhiZ };
-
-  PointSet(Int_t n_points=0);
-  PointSet(const Text_t* name, Int_t n_points=0);
-  PointSet(const Text_t* name, TTree* tree,
-                   TreeVarType_e tv_type=TVT_XYZ);
+  PointSet(Int_t n_points=0, TreeVarType_e tv_type=TVT_XYZ);
+  PointSet(const Text_t* name, Int_t n_points=0, TreeVarType_e tv_type=TVT_XYZ);
+  PointSet(const Text_t* name, TTree* tree, TreeVarType_e tv_type=TVT_XYZ);
 
-  void Reset(Int_t n_points=0);
+  void  Reset(Int_t n_points=0);
+  Int_t GrowFor(Int_t n_points);
 
   virtual const Text_t* GetTitle() const          { return fTitle; }
   virtual void          SetTitle(const Text_t* t) { fTitle = t; }
@@ -42,40 +40,59 @@ public:
 
   virtual void Paint(Option_t* option="");
 
+  virtual void TakeAction(TSelectorDraw*);
+
   ClassDef(PointSet, 1);
-}; // endclass GuiPointSet
+}; // endclass PointSet
 
 /**************************************************************************/
 
-class PointSetArray : public TNamed, public RenderElementListBase
+class PointSetArray : public RenderElementListBase,
+                      public TNamed,
+                      public TAttMarker,
+                      public TPointSelectorConsumer
 {
   friend class PointSetArrayEditor;
 
+  PointSetArray(const PointSetArray&);            // Not implemented
+  PointSetArray& operator=(const PointSetArray&); // Not implemented
+
 protected:
   PointSet**   fBins;
+  Int_t        fDefPointSetCapacity;
   Int_t        fNBins;
   Double_t     fMin, fCurMin;
   Double_t     fMax, fCurMax;
   Double_t     fBinWidth;
   TString      fQuantName;
 
-  Color_t      fColor;
-
 public:
-  enum TreeVarType_e { TVT_XYZ, TVT_RPhiZ };
-
-  PointSetArray(const Text_t* name="PointSetArray",
-                       const Text_t* title="");
+  PointSetArray(const Text_t* name="PointSetArray", const Text_t* title="");
   virtual ~PointSetArray();
 
-  virtual Bool_t CanEditMainColor()           { return true; }
-  virtual void   Paint(Option_t* option = "") { PaintElements(option); }
+  virtual void RemoveElementLocal(RenderElement* el);
+  virtual void RemoveElements();
+
+  virtual void Paint(Option_t* option="") { PaintElements(option); }
 
-  void InitBins(TGListTreeItem* tree_item, const Text_t* quant_name,
-               Int_t nbins, Double_t min, Double_t max);
-  void Fill(Double_t quant, Double_t x, Double_t y, Double_t z);
-  void Fill(TF3* formula, TTree* tree, TreeVarType_e tv_type=TVT_XYZ);
-  void CloseBins(Int_t mark_style, Float_t mark_size);
+  virtual void SetMarkerColor(Color_t tcolor=1);
+  virtual void SetMarkerStyle(Style_t mstyle=1);
+  virtual void SetMarkerSize(Size_t msize=1);
+
+  virtual void TakeAction(TSelectorDraw*);
+
+
+  void InitBins(const Text_t* quant_name, Int_t nbins, Double_t min, Double_t max,
+               Bool_t addRe=kTRUE);
+  void Fill(Double_t x, Double_t y, Double_t z, Double_t quant);
+
+  void CloseBins();
+
+  Int_t GetDefPointSetCapacity() const  { return fDefPointSetCapacity; }
+  void  SetDefPointSetCapacity(Int_t c) { fDefPointSetCapacity = c; }
+
+  Int_t     GetNBins()        const { return fNBins; }
+  PointSet* GetBin(Int_t bin) const { return fBins[bin]; }
 
   Double_t GetMin()    const { return fMin; }
   Double_t GetCurMin() const { return fCurMin; }
@@ -84,9 +101,6 @@ public:
 
   void SetRange(Double_t min, Double_t max);
 
-  void MakeScrollbar(); // *MENU*
-  void HandleScrollEvent();
-
   ClassDef(PointSetArray, 1);
 };