Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TH3GL.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/gl:$Id$
0002 // Author: Matevz Tadel 2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TH3GL
0013 #define ROOT_TH3GL
0014 
0015 #include "TGLPlot3D.h"
0016 #include <TGLUtil.h>
0017 #include <TGLAxisPainter.h>
0018 
0019 class TPolyMarker3D;
0020 class TGLRnrCtx;
0021 class TH3;
0022 class TAxis;
0023 
0024 class TH3;
0025 
0026 class TH3GL : public TGLPlot3D
0027 {
0028 private:
0029    TH3GL(const TH3GL&) = delete;
0030    TH3GL& operator=(const TH3GL&) = delete;
0031 
0032 protected:
0033    TH3                *fM;  // Model object dynamic-casted to TH3.
0034 
0035 public:
0036    TH3GL();
0037    TH3GL(TH3 *h, TPolyMarker3D *pm);
0038    ~TH3GL() override;
0039 
0040    Bool_t SetModel(TObject* obj, const Option_t *opt = nullptr) override;
0041    void   SetBBox() override;
0042 
0043    void DirectDraw(TGLRnrCtx & rnrCtx) const override;
0044 
0045    // To support two-level selection
0046    // virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
0047    // virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec);
0048 
0049    ClassDefOverride(TH3GL, 0); // GL renderer class for TH3.
0050 };
0051 
0052 #endif