3 #ifndef REVE_BoxSetGL_H
4 #define REVE_BoxSetGL_H
7 #include <Reve/BoxSet.h>
11 class BoxSetGL : public TGLObject
13 BoxSetGL(const BoxSetGL&); // Not implemented
14 BoxSetGL& operator=(const BoxSetGL&); // Not implemented
17 BoxSet* fM; // Model object.
19 mutable UInt_t fBoxDL; // Display-list id for a box atom.
21 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
23 Int_t PrimitiveType() const;
24 Bool_t SetupColor(const DigitSet::DigitBase& q) const;
25 void MakeOriginBox(Float_t p[24], Float_t dx, Float_t dy, Float_t dz) const;
26 void RenderBox(const Float_t p[24]) const;
27 void MakeDisplayList() const;
33 virtual Bool_t ShouldDLCache(const TGLRnrCtx & rnrCtx) const;
34 virtual void DLCacheDrop();
35 virtual void DLCachePurge();
37 virtual Bool_t SetModel(TObject* obj, const Option_t* opt=0);
38 virtual void SetBBox();
40 virtual Bool_t SupportsSecondarySelect() const { return kTRUE; }
41 virtual void ProcessSelection(TGLRnrCtx & rnrCtx, TGLSelectRecord & rec);
43 virtual void Render(TGLRnrCtx & rnrCtx);
45 ClassDef(BoxSetGL, 0); // GL rendering class for BoxSet.
46 }; // endclass BoxSetGL