18#include <nlohmann/json.hpp>
40REveBox::REveBox(
const char*
n,
const char* t) :
92 for (
Int_t i=0; i<8; ++i)
118 fRenderData = std::make_unique<REveRenderData>(
"makeBox",
N*3);
119 for (
Int_t i = 0; i <
N; ++i)
131 return TClass::GetClass<REveBoxProjected>();
147 fDebugCornerPoints(false)
205 for (
Int_t i = 0; i < 8; ++i)
232 if ( ! pp[0].empty())
236 if ( ! pp[1].empty())
267 fRenderData = std::make_unique<REveRenderData>(
"makeBoxProjected",
N*3);
winID h TVirtualViewer3D TVirtualGLPainter p
Bool_t fDebugCornerPoints
void BuildRenderData() override
Crates 3D point array for rendering.
Bool_t GetDebugCornerPoints()
Get state of fgDebugCornerPoints static.
~REveBoxProjected() override
Destructor.
void SetDepthLocal(Float_t d) override
This is virtual method from base-class REveProjected.
void UpdateProjection() override
Re-project the box.
void SetDebugCornerPoints(Bool_t d)
Set state of fgDebugCornerPoints static.
void ComputeBBox() override
Compute bounding-box, virtual from TAttBBox.
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
REveBoxProjected(const REveBoxProjected &)=delete
~REveBox() override
Destructor.
void SetVertex(Int_t i, Float_t x, Float_t y, Float_t z)
Set vertex 'i'.
TClass * ProjectedClass(const REveProjection *p) const override
Virtual from REveProjectable, return REveBoxProjected class.
void ComputeBBox() override
Compute bounding-box of the data.
void BuildRenderData() override
Crates 3D point array for rendering.
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
void SetVertices(const Float_t *vs)
Set vertices.
virtual Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset)
Write core json.
std::unique_ptr< REveRenderData > fRenderData
Externally assigned and controlled user data.
virtual void SetProjection(REveProjectionManager *mng, REveProjectable *model)
Sets projection manager and reference in the projectable object.
void SetDepthCommon(Float_t d, REveElement *el, Float_t *bbox)
Utility function to update the z-values of the bounding-box.
REveProjectable * fProjectable
REveProjectionManager * fManager
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveProjection * GetProjection()
REveProjection Base for specific classes that implement non-linear projections.
void ProjectPointfv(Float_t *v, Float_t d)
Project float array.
virtual Int_t SubSpaceId(const REveVector &) const
static Int_t FindConvexHull(const vVector2_t &pin, vVector2_t &pout, REveElement *caller=nullptr)
Determines the convex-hull of points in pin.
Color_t GetLineColor() const
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
std::vector< REveVector2 > vVector2_t
static void CheckAndFixBoxOrientationFv(Float_t box[8][3])
Make sure box orientation is consistent with standard arrangement.
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
Color_t GetFillColor() const
REveVector2T A two-vector template without TObject inheritance and virtual functions.
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
void BBoxInit(Float_t infinity=1e6)
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
TClass instances represent classes, structs and namespaces in the ROOT type system.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)