#ifndef ROOT_TEveDigitSet
#define ROOT_TEveDigitSet
#include "TNamed.h"
#include "TQObject.h"
#include "TAtt3D.h"
#include "TAttBBox.h"
#include "TEveUtil.h"
#include "TEveElement.h"
#include "TEveFrameBox.h"
#include "TEveRGBAPalette.h"
#include "TEveChunkManager.h"
#include "TEveTrans.h"
#include "TObject.h"
class TEveDigitSet : public TEveElement,
                     public TNamed, public TQObject,
                     public TAtt3D,
                     public TAttBBox
{
   friend class TEveDigitSetEditor;
   TEveDigitSet(const TEveDigitSet&);            
   TEveDigitSet& operator=(const TEveDigitSet&); 
public:
   enum ERenderMode_e { kRM_AsIs, kRM_TEveLine, kRM_Fill };
protected:
   struct DigitBase_t
   {
      
      Int_t fValue; 
      TRef  fId;    
      DigitBase_t(Int_t v=0) : fValue(v), fId() {}
   };
   Int_t             fDefaultValue;   
   Bool_t            fValueIsColor;   
   Bool_t            fOwnIds;         
   TEveChunkManager  fPlex;           
   DigitBase_t*      fLastDigit;      
   TEveFrameBox*     fFrame;          
   TEveRGBAPalette*  fPalette;        
   ERenderMode_e     fRenderMode;     
   Bool_t            fDisableLigting; 
   Bool_t            fEmitSignals;    
   Bool_t            fHistoButtons;   
   TEveTrans         fHMTrans;        
   DigitBase_t* NewDigit();
   void       ReleaseIds();
public:
   TEveDigitSet(const Text_t* n="TEveDigitSet", const Text_t* t="");
   virtual ~TEveDigitSet();
   virtual Bool_t CanEditMainColor() { return kTRUE; }
   virtual void   SetMainColor(Color_t color);
   
   
   void RefitPlex();
   void ScanMinMaxValues(Int_t& min, Int_t& max);
   
   void DigitValue(Int_t value);
   void DigitColor(Color_t ci);
   void DigitColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
   void DigitColor(UChar_t* rgba);
   void DigitId(TObject* id);
   Bool_t GetOwnIds() const     { return fOwnIds; }
   void   SetOwnIds(Bool_t o)   { fOwnIds = o; }
   DigitBase_t* GetDigit(Int_t n) { return (DigitBase_t*) fPlex.Atom(n);   }
   TObject*     GetId(Int_t n)    { return GetDigit(n)->fId.GetObject(); }
   
   
   
   virtual void Paint(Option_t* option="");
   virtual void DigitSelected(Int_t idx);
   virtual void CtrlClicked(TEveDigitSet* qs, Int_t idx); 
   
   TEveChunkManager* GetPlex() { return &fPlex; }
   TEveFrameBox* GetFrame() const { return fFrame; }
   void          SetFrame(TEveFrameBox* b);
   Bool_t GetValueIsColor()  const { return fValueIsColor; }
   TEveRGBAPalette* GetPalette() const { return fPalette; }
   void             SetPalette(TEveRGBAPalette* p);
   TEveRGBAPalette* AssertPalette();
   ERenderMode_e  GetRenderMode()           const { return fRenderMode; }
   void           SetRenderMode(ERenderMode_e rm) { fRenderMode = rm; }
   Bool_t GetEmitSignals() const   { return fEmitSignals; }
   void   SetEmitSignals(Bool_t f) { fEmitSignals = f; }
   Bool_t GetHistoButtons() const   { return fHistoButtons; }
   void   SetHistoButtons(Bool_t f) { fHistoButtons = f; }
   TEveTrans& RefHMTrans()                    { return fHMTrans; }
   void SetTransMatrix(Double_t* carr)        { fHMTrans.SetFrom(carr); }
   void SetTransMatrix(const TGeoMatrix& mat) { fHMTrans.SetFrom(mat);  }
   ClassDef(TEveDigitSet, 1); 
};
#endif
Last update: Thu Jan 17 08:48:17 2008
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.