]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Reve/FrameBox.h
Getting rid of effC++ warnings about missing copy constructor and assignment operator.
[u/mrichter/AliRoot.git] / EVE / Reve / FrameBox.h
1 // $Header$
2
3 #ifndef REVE_FrameBox_H
4 #define REVE_FrameBox_H
5
6 #include <Reve/Reve.h>
7
8 #include <TObject.h>
9
10 namespace Reve {
11
12 class FrameBox : public TObject, public ReferenceBackPtr
13 {
14   friend class FrameBoxGL;
15
16 public:
17   enum FrameType_e  { FT_None, FT_Quad, FT_Box };
18
19 private:
20   FrameBox(const FrameBox&);            // Not implemented
21   FrameBox& operator=(const FrameBox&); // Not implemented
22
23 protected:
24   FrameType_e  fFrameType;
25   Int_t        fFrameSize;
26   Float_t     *fFramePoints;  //[fFrameSize]
27
28   Color_t      fFrameColor;
29   UChar_t      fFrameRGBA[4];
30
31 public:
32   FrameBox();
33   virtual ~FrameBox();
34
35   void SetAAQuadXY(Float_t x, Float_t y, Float_t z, Float_t dx, Float_t dy);
36   void SetAAQuadXZ(Float_t x, Float_t y, Float_t z, Float_t dx, Float_t dz);
37
38   void SetAABox(Float_t x,  Float_t y,  Float_t z,
39                 Float_t dx, Float_t dy, Float_t dz);
40
41   void SetAABoxCenterHalfSize(Float_t x,  Float_t y,  Float_t z,
42                               Float_t dx, Float_t dy, Float_t dz);
43
44   // ----------------------------------------------------------------
45
46   FrameType_e  GetFrameType()   const { return fFrameType; }
47   Int_t        GetFrameSize()   const { return fFrameSize; }
48   Float_t*     GetFramePoints() const { return fFramePoints; }
49
50   Color_t  GetFrameColor() const { return fFrameColor; }
51   Color_t* PtrFrameColor() { return &fFrameColor; }
52   UChar_t* GetFrameRGBA()  { return fFrameRGBA;  }
53
54   void SetFrameColor(Color_t ci);
55   void SetFrameColor(Pixel_t pix);
56   void SetFrameColor(UChar_t r, UChar_t g, UChar_t b, UChar_t a=255);
57
58   ClassDef(FrameBox, 1);
59 }; // endclass FrameBox
60
61 }
62
63 #endif