#ifndef ROOT_TEvePointSet
#define ROOT_TEvePointSet
#include "TEveVSDStructs.h"
#include "TEveElement.h"
#include "TEveProjectionBases.h"
#include "TEveTreeTools.h"
#include "TArrayI.h"
#include "TPointSet3D.h"
#include "TQObject.h"
class TTree;
class TF3;
class TGListTreeItem;
class TEvePointSet : public TEveElement,
                     public TPointSet3D,
                     public TEvePointSelectorConsumer,
                     public TEveProjectable,
                     public TQObject
{
   friend class TEvePointSetArray;
protected:
   TString  fTitle;           
   TArrayI *fIntIds;          
   Int_t    fIntIdsPerPoint;  
   void AssertIntIdsSize();
public:
   TEvePointSet(Int_t n_points=0, ETreeVarType_e tv_type=kTVT_XYZ);
   TEvePointSet(const Text_t* name, Int_t n_points=0, ETreeVarType_e tv_type=kTVT_XYZ);
   virtual ~TEvePointSet();
   virtual void ComputeBBox();
   void  Reset(Int_t n_points=0, Int_t n_int_ids=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; }
   Int_t  GetIntIdsPerPoint() const { return fIntIdsPerPoint; }
   Int_t* GetPointIntIds(Int_t p) const;
   Int_t  GetPointIntId(Int_t p, Int_t i) const;
   void   SetPointIntIds(Int_t* ids);
   void   SetPointIntIds(Int_t n, Int_t* ids);
   virtual void SetRnrElNameTitle(const Text_t* name, const Text_t* title);
   virtual void SetMarkerColor(Color_t col)
   { SetMainColor(col); }
   virtual void Paint(Option_t* option="");
   virtual void InitFill(Int_t subIdNum);
   virtual void TakeAction(TEvePointSelector*);
   virtual const TGPicture* GetListTreeIcon();
   virtual TClass* ProjectedClass() const;
   ClassDef(TEvePointSet, 1); 
};
class TEvePointSetArray : public TEveElement,
                          public TNamed,
                          public TAttMarker,
                          public TEvePointSelectorConsumer
{
   friend class TEvePointSetArrayEditor;
   TEvePointSetArray(const TEvePointSetArray&);            
   TEvePointSetArray& operator=(const TEvePointSetArray&); 
protected:
   TEvePointSet**   fBins;                 
   Int_t        fDefPointSetCapacity;  
   Int_t        fNBins;                
   Int_t        fLastBin;              
   Double_t     fMin, fCurMin;         
   Double_t     fMax, fCurMax;         
   Double_t     fBinWidth;             
   TString      fQuantName;            
public:
   TEvePointSetArray(const Text_t* name="TEvePointSetArray", const Text_t* title="");
   virtual ~TEvePointSetArray();
   virtual void RemoveElementLocal(TEveElement* el);
   virtual void RemoveElementsLocal();
   virtual void Paint(Option_t* option="");
   virtual void SetMarkerColor(Color_t tcolor=1);
   virtual void SetMarkerStyle(Style_t mstyle=1);
   virtual void SetMarkerSize(Size_t msize=1);
   virtual void TakeAction(TEvePointSelector*);
   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 SetPointId(TObject* id);
   void CloseBins();
   void SetOwnIds(Bool_t o);
   Int_t GetDefPointSetCapacity() const  { return fDefPointSetCapacity; }
   void  SetDefPointSetCapacity(Int_t c) { fDefPointSetCapacity = c; }
   Int_t     GetNBins()        const { return fNBins; }
   TEvePointSet* GetBin(Int_t bin) const { return fBins[bin]; }
   Double_t GetMin()    const { return fMin; }
   Double_t GetCurMin() const { return fCurMin; }
   Double_t GetMax()    const { return fMax; }
   Double_t GetCurMax() const { return fCurMax; }
   void SetRange(Double_t min, Double_t max);
   ClassDef(TEvePointSetArray, 1); 
};
class TEvePointSetProjected : public TEvePointSet,
                              public TEveProjected
{
private:
   TEvePointSetProjected(const TEvePointSetProjected&);            
   TEvePointSetProjected& operator=(const TEvePointSetProjected&); 
public:
   TEvePointSetProjected();
   virtual ~TEvePointSetProjected() {}
   virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
   virtual void UpdateProjection();
   ClassDef(TEvePointSetProjected, 1); 
};
#endif
Last update: Thu Jan 17 08:48:55 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.