12 #ifndef ROOT7_REveShape
13 #define ROOT7_REveShape
22 namespace Experimental {
29 class REveShape :
public REveElement,
33 REveShape(
const REveShape &);
34 REveShape &operator=(
const REveShape &);
37 typedef std::vector<REveVector2> vVector2_t;
45 Bool_t fHighlightFrame;
49 REveShape(
const std::string &n =
"REveShape",
const std::string &t =
"");
52 Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset)
override;
55 void SetMainColor(Color_t color)
override;
57 virtual Color_t GetFillColor()
const {
return fFillColor; }
58 virtual Color_t GetLineColor()
const {
return fLineColor; }
59 virtual Float_t GetLineWidth()
const {
return fLineWidth; }
60 virtual Bool_t GetDrawFrame()
const {
return fDrawFrame; }
61 virtual Bool_t GetHighlightFrame()
const {
return fHighlightFrame; }
62 virtual Bool_t GetMiniFrame()
const {
return fMiniFrame; }
64 virtual void SetFillColor(Color_t c) { fFillColor = c; }
65 virtual void SetLineColor(Color_t c) { fLineColor = c; }
66 virtual void SetLineWidth(Float_t lw) { fLineWidth = lw; }
67 virtual void SetDrawFrame(Bool_t f) { fDrawFrame = f; }
68 virtual void SetHighlightFrame(Bool_t f) { fHighlightFrame = f; }
69 virtual void SetMiniFrame(Bool_t r) { fMiniFrame = r; }
73 void CopyVizParams(
const REveElement *el)
override;
74 void WriteVizParams(std::ostream &out,
const TString &var)
override;
83 static Int_t FindConvexHull(
const vVector2_t &pin, vVector2_t &pout, REveElement *caller =
nullptr);
85 static Bool_t IsBoxOrientationConsistentEv(
const REveVector box[8]);
86 static Bool_t IsBoxOrientationConsistentFv(
const Float_t box[8][3]);
88 static void CheckAndFixBoxOrientationEv(REveVector box[8]);
89 static void CheckAndFixBoxOrientationFv(Float_t box[8][3]);