10 #include <Reve/RenderElement.h>
11 #include <Reve/Reve.h>
27 Box(Color_t col, Float_t* p);
28 Box(Color_t col, Float_t x, Float_t y, Float_t z,
29 Float_t dx, Float_t dy, Float_t dz);
31 Box(TRandom& rnd, Float_t origin, Float_t size);
35 void MakeAxisAlignedBox(Float_t x, Float_t y, Float_t z,
36 Float_t dx, Float_t dy, Float_t dz);
41 /**************************************************************************/
43 class BoxSet: public RenderElement,
48 friend class BoxSetGL;
51 enum RenderMode_e { RM_AsIs, RM_Line, RM_Fill };
54 Color_t fDefaultColor;
55 RenderMode_e fRenderMode;
59 std::vector<Box> fBoxes;
61 BoxSet(const Text_t* n="BoxSet", const Text_t* t="");
64 void AddBox(const Box& b) { fBoxes.push_back(b); }
65 void ClearSet() { fBoxes.clear(); }
67 virtual Bool_t CanEditMainColor() { return kTRUE; }
69 virtual void ComputeBBox();
70 virtual void Paint(Option_t* option = "");
72 RenderMode_e GetRenderMode() const { return fRenderMode; }
73 void SetRenderMode(RenderMode_e rm) { fRenderMode = rm; }
75 ZTrans& RefHMTrans() { return fHMTrans; }
76 void SetTransMatrix(Double_t* carr) { fHMTrans.SetFrom(carr); }
77 void SetTransMatrix(const TGeoMatrix& mat) { fHMTrans.SetFrom(mat); }
79 void Test(Int_t nboxes);