18#include <nlohmann/json.hpp>
91 for (
Int_t i=0; i<8; ++i)
117 fRenderData = std::make_unique<REveRenderData>(
"makeBox",
N*3);
118 for (
Int_t i = 0; i <
N; ++i)
204 for (
Int_t i = 0; i < 8; ++i)
231 if ( ! pp[0].empty())
235 if ( ! pp[1].empty())
266 fRenderData = std::make_unique<REveRenderData>(
"makeBoxProjected",
N*3);
int Int_t
Signed integer 4 bytes (int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
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'.
REveBox(const REveBox &)=delete
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
! Vertex / normal / triangle index information for rendering.
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 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.
REveShape(const REveShape &)=delete
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
Color_t GetFillColor() const
TT SquareDistance(const REveVector2T &v) const
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
void BBoxInit(Float_t infinity=1e6)
Allocate and prepare for incremental filling.
Float_t * fBBox
! 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.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
void box(Int_t pat, Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Namespace for ROOT features in testing.
REveVector2T< Float_t > REveVector2
REveVectorT< Float_t > REveVector