18#include <nlohmann/json.hpp>
33REveLine::REveLine(
const std::string &
name,
const std::string &title,
Int_t n_points) :
37 fSmooth (fgDefaultSmooth)
49 fRnrLine (
l.fRnrLine),
50 fRnrPoints (
l.fRnrPoints),
177 std::vector<REveVector>
q;
181 for (
Int_t i = 1; i < s; ++i)
183 a =
b;
b.Set(&p[3*i]);
d =
b -
a;
190 for (
Int_t j = 0; j <
n; ++j)
250 TAttLine::operator=(*
m);
278 return TClass::GetClass<REveLineProjected>();
359 for (
Int_t i = 0; i <
n; ++i, p+=3)
378 for (
Int_t i = 0; i <
n; ++i, o+=3, p+=3)
std::unique_ptr< REveRenderData > fRenderData
Externally assigned and controlled user data.
virtual REveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
static const std::string & ToString(Bool_t b)
Convert Bool_t to string - kTRUE or kFALSE.
REveLineProjected()
Default constructor.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
Set projection manager and projection model.
void UpdateProjection() override
Re-apply the projection.
REveLine An arbitrary polyline with fixed line and marker attributes.
REveVector GetLineEnd() const
Return the last point of the line.
void ReduceSegmentLengths(Float_t max)
Make sure that no segment is longer than max.
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
void SetSmooth(Bool_t r)
Set smooth rendering. Propagate to projected lines.
void SetMarkerColor(Color_t col) override
Set marker color. Propagate to projected lines.
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
REveVector GetLineStart() const
Return the first point of the line.
REveLine(const std::string &name="", const std::string &title="", Int_t n_points=0)
Constructor.
void SetLineWidth(Width_t lwidth) override
Set line-style of the line.
static Bool_t GetDefaultSmooth()
Get default value for smooth-line drawing flag.
static void SetDefaultSmooth(Bool_t r)
Set default value for smooth-line drawing flag (default kFALSE).
static Bool_t fgDefaultSmooth
void SetLineStyle(Style_t lstyle) override
Set line-style of the line.
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Write core json.
void SetRnrLine(Bool_t r)
Set rendering of line. Propagate to projected lines.
Float_t CalculateLineLength() const
Sum-up lengths of individual segments.
void SetRnrPoints(Bool_t r)
Set rendering of points. Propagate to projected lines.
TClass * ProjectedClass(const REveProjection *p) const override
Virtual from REveProjectable, returns REvePointSetProjected class.
void BuildRenderData() override
Virtual from REveElement. Prepares render data for binary streaming to client.
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
REveVector & RefPoint(int n)
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Write core json.
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
std::vector< REveVector > fPoints
int SetNextPoint(float x, float y, float z)
void Reset(Int_t n_points=0)
Drop all data and set-up the data structures to recive new data.
ProjList_t fProjectedList
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.
void Set(const Float_t *v)
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual Width_t GetLineWidth() const
Return the line width.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual Style_t GetLineStyle() const
Return the line style.
Color_t fLineColor
Line color.
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Color_t fMarkerColor
Marker color.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Int_t FloorNint(Double_t x)
Double_t Sqrt(Double_t x)
basic_json< std::map, std::vector, std::string, bool, std::int64_t, std::uint64_t, double, std::allocator, adl_serializer, std::vector< std::uint8_t > > json
static uint64_t sum(uint64_t i)