18#include <nlohmann/json.hpp>
134 if (
fSize == 0)
return;
156 std::vector<REveVector> vvec;
159 for (
Int_t i = bL; i <= bR; i++)
190 sign_y = vvec.front().fY;
196 sign_y = vvec.back().fY;
225 printf(
"%s LineSegments:\n",
GetCName());
236 printf(
"seg %d size %d start %d ::(%f, %f, %f) (%f, %f, %f)\n",
238 bPnt.
fX, bPnt.
fY, bPnt.
fZ);
288 Warning(
"SetDepthLocal",
"This function only exists to fulfill an abstract interface.");
320 j[
"render_data"][
"break_point_size"] =
fBreakPoints.size();
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
const char * GetCName() const
std::unique_ptr< REveRenderData > fRenderData
! Vertex / normal / triangle index information for rendering.
virtual REveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
void ReduceSegmentLengths(Float_t max)
Make sure that no segment is longer than max.
virtual void ClonePoints(const REvePointSet &e)
Clone points and all point-related information from point-set 'e'.
REveVector & RefPoint(int n)
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.
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.
REveProjected(const REveProjected &)=delete
virtual void SetDepth(Float_t d)
Set depth coordinate for the element.
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.
void ProjectPointdv(Double_t *v, Float_t d)
Project double array.
virtual Bool_t HasSeveralSubSpaces() const
virtual Bool_t AcceptSegment(REveVector &, REveVector &, Float_t) const
virtual void BisectBreakPoint(REveVector &vL, REveVector &vR, Float_t eps_sqr)
Find break-point on both sides of the discontinuity.
Float_t GetMaxTrackStep() const
void SetDepthLocal(Float_t d) override
This is not needed for functionality as SetDepth(Float_t d) is overriden – but SetDepthLocal() is abs...
void SetProjection(REveProjectionManager *proj, REveProjectable *model) override
This is virtual method from base-class REveProjected.
void SetDepth(Float_t d) override
Set depth of all children inheriting from REveTrackProjected.
REveTrackListProjected()
Default constructor.
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
REveTrackList(const REveTrackList &)=delete
void SetPropagator(REveTrackPropagator *prop)
Set default propagator for tracks.
REveTrackPropagator * GetPropagator()
REveTrackProjected Projected copy of a REveTrack.
void SecSelected(REveTrack *) override
Virtual method from from base-class REveTrack.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
void BuildRenderData() override
Creates client rendering info.
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Creates client representation.
void UpdateProjection() override
Virtual method from base-class REveProjected.
Int_t GetBreakPointIdx(Int_t start)
Find index of the last point that lies within the same segment of projected space.
void MakeTrack(Bool_t recurse=kTRUE) override
Calculate the points of the track for drawing.
~REveTrackProjected() override
std::vector< UInt_t > fBreakPoints
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
void PrintLineSegments()
Print line segments info.
Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override
Fill core part of JSON representation.
virtual void SecSelected(REveTrack *)
Emits "SecSelected(REveTrack*)" signal.
REveTrackPropagator * fPropagator
Int_t fLastPMIdx
! Last path-mark index tried in track-propagation.
virtual void SetTrackParams(const REveTrack &t)
Copy track parameters from t.
Int_t GetLastPMIdx() const
virtual void MakeTrack(Bool_t recurse=kTRUE)
Calculate track representation based on track data and current settings of the propagator.
Bool_t GetLockPoints() const
REveTrack()
Default constructor.
virtual void SetPathMarks(const REveTrack &t)
Copy path-marks from t.
void BuildRenderData() override
Crates 3D point array for rendering.
void SetLockPoints(Bool_t l)
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
void MultiplyIP(TVector3 &v, Double_t w=1) const
Multiply vector in-place.
Float_t * fBBox
! Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
Namespace for ROOT features in testing.
REveVectorT< Float_t > REveVector
T1 Sign(T1 a, T2 b)
Returns a value with the magnitude of a and the sign of b.