Logo ROOT  
Reference Guide
REveBox.hxx
Go to the documentation of this file.
1// @(#)root/eve:$Id$
2// Author: Matevz Tadel, 2010
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_REveBox
13#define ROOT_REveBox
14
15#include "ROOT/REveShape.hxx"
16
17namespace ROOT {
18namespace Experimental {
19
20//------------------------------------------------------------------------------
21// REveBox
22//------------------------------------------------------------------------------
23
24class REveBox : public REveShape,
25 public REveProjectable
26{
27private:
28 REveBox(const REveBox&) = delete;
29 REveBox& operator=(const REveBox&) = delete;
30
31protected:
33
34public:
35 REveBox(const char* n="REveBox", const char* t="");
36 virtual ~REveBox();
37
39 void SetVertex(Int_t i, const Float_t* v);
40 void SetVertices(const Float_t* vs);
41
42 const Float_t* GetVertex(Int_t i) const { return fVertices[i]; }
43
44 // For TAttBBox:
45 virtual void ComputeBBox() override;
46
47 Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
48 void BuildRenderData() override;
49 // Projectable:
50 virtual TClass* ProjectedClass(const REveProjection* p) const override;
51};
52
53
54//------------------------------------------------------------------------------
55// REveBoxProjected
56//------------------------------------------------------------------------------
57
59 public REveProjected
60{
61private:
64
65protected:
69
71
72 virtual void SetDepthLocal(Float_t d) override;
73
74public:
75 REveBoxProjected(const char* n="REveBoxProjected", const char* t="");
76 virtual ~REveBoxProjected();
77
78 void BuildRenderData() override;
79 Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
80
81 // For TAttBBox:
82 void ComputeBBox() override;
83
86
87 // Projected:
88 void SetProjection(REveProjectionManager* mng, REveProjectable* model) override;
89 void UpdateProjection() override;
90
91 REveElement* GetProjectedAsElement() override { return this; }
92};
93
94} // namespace Experimental
95} // namespace ROOT
96#endif
#define d(i)
Definition: RSha256.hxx:102
int Int_t
Definition: RtypesCore.h:45
bool Bool_t
Definition: RtypesCore.h:63
float Float_t
Definition: RtypesCore.h:57
void BuildRenderData() override
Crates 3D point array for rendering.
Definition: REveBox.cxx:264
Bool_t GetDebugCornerPoints()
Get state of fgDebugCornerPoints static.
Definition: REveBox.cxx:246
virtual ~REveBoxProjected()
Destructor.
Definition: REveBox.cxx:154
virtual void SetDepthLocal(Float_t d) override
This is virtual method from base-class REveProjected.
Definition: REveBox.cxx:171
void UpdateProjection() override
Re-project the box.
Definition: REveBox.cxx:192
void SetDebugCornerPoints(Bool_t d)
Set state of fgDebugCornerPoints static.
Definition: REveBox.cxx:256
void ComputeBBox() override
Compute bounding-box, virtual from TAttBBox.
Definition: REveBox.cxx:161
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
Definition: REveBox.cxx:279
REveBoxProjected & operator=(const REveBoxProjected &)=delete
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
Definition: REveBox.cxx:179
REveBoxProjected(const REveBoxProjected &)=delete
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
Definition: REveBox.hxx:91
Float_t fVertices[8][3]
Definition: REveBox.hxx:32
REveBox & operator=(const REveBox &)=delete
void SetVertex(Int_t i, Float_t x, Float_t y, Float_t z)
Set vertex 'i'.
Definition: REveBox.cxx:55
REveBox(const REveBox &)=delete
virtual TClass * ProjectedClass(const REveProjection *p) const override
Virtual from REveProjectable, return REveBoxProjected class.
Definition: REveBox.cxx:129
virtual ~REveBox()
Destructor.
Definition: REveBox.cxx:48
virtual void ComputeBBox() override
Compute bounding-box of the data.
Definition: REveBox.cxx:87
const Float_t * GetVertex(Int_t i) const
Definition: REveBox.hxx:42
void BuildRenderData() override
Crates 3D point array for rendering.
Definition: REveBox.cxx:115
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
Definition: REveBox.cxx:102
void SetVertices(const Float_t *vs)
Set vertices.
Definition: REveBox.cxx:77
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveProjection Base for specific classes that implement non-linear projections.
std::vector< REveVector2 > vVector2_t
Definition: REveShape.hxx:37
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
const Int_t n
Definition: legend1.C:16
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...