117 const Int_t nn = 3 *
e.fN;
119 for (
Int_t i = 0; i < nn; i++)
fP[i] =
e.fP[i];
149 delete []
fP;
fP =
nullptr;
172 Int_t new_size = old_size + n_points;
186 if (
fIntIds->GetSize() < exp_size)
242 static const TEveException eh(
"TEvePointSet::SetMarkerStyle ");
250 pt->SetMarkerStyle(mstyle);
263 static const TEveException eh(
"TEvePointSet::SetMarkerSize ");
271 pt->SetMarkerSize(msize);
316 throw(eh +
"selector is <null>.");
330 p[0] = *vx; p[1] = *vy; p[2] = *vz;
343 throw(eh +
"unknown tree variable type.");
350 if (subarr[i] ==
nullptr) {
352 throw(eh +
"sub-id array not available.");
376 TAttMarker::operator=(*
m);
407 Emit(
"PointSelected(Int_t)",
id);
465 if (
fBins[i] == el) {
485 static const TEveException eh(
"TEvePointSetArray::SetMarkerColor ");
490 m->SetMarkerColor(tcolor);
500 static const TEveException eh(
"TEvePointSetArray::SetMarkerStyle ");
505 m->SetMarkerStyle(mstyle);
515 static const TEveException eh(
"TEvePointSetArray::SetMarkerSize ");
520 m->SetMarkerSize(msize);
532 static const TEveException eh(
"TEvePointSetArray::TakeAction ");
535 throw eh +
"selector is <null>.";
545 throw eh +
"requires 4-d varexp.";
553 Fill(*vx, *vy, *vz, *qq);
554 ++vx; ++vy; ++vz; ++qq;
563 ++vx; ++vy; ++vz; ++qq;
569 throw eh +
"unknown tree variable type.";
582 const Int_t min = under ? 0 : 1;
584 for (
Int_t i = min; i < max; ++i)
600 static const TEveException eh(
"TEvePointSetArray::InitBins ");
602 if (nbins < 1)
throw eh +
"nbins < 1.";
603 if (min > max)
throw eh +
"min > max.";
627 fBins[0]->SetName(
"Underflow");
682 if (
fBins[i] !=
nullptr)
685 fBins[i]->ComputeBBox();
698 if (
fBins[i] !=
nullptr)
699 fBins[i]->SetOwnIds(o);
710 using namespace TMath;
718 if (
fBins[i] !=
nullptr)
719 fBins[i]->SetRnrSelf(i>=low_b && i<=high_b);
757 for (
Int_t i = 0; i <
n; ++i, p+=3)
775 for (
Int_t i = 0; i <
n; ++i, o+=3, p+=3)
size_t size(const MatrixT &matrix)
retrieve the size of a square matrix
int Int_t
Signed integer 4 bytes (int).
float Size_t
Attribute size (float).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
short Color_t
Color number (short).
short Style_t
Style number (short).
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Array of integers (32 bits per element).
Float_t * fBBox
! Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Color_t fMarkerColor
Marker color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
Size_t fMarkerSize
Marker size.
Style_t fMarkerStyle
Marker style.
virtual void SaveMarkerAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1)
TClass instances represent classes, structs and namespaces in the ROOT type system.
virtual TEveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
virtual void AddElement(TEveElement *el)
Add el to the list of children.
virtual void RemoveElements()
Remove all elements.
void SetMainColorPtr(Color_t *color)
TEveElement()
Default constructor.
virtual void CopyVizParams(const TEveElement *el)
Copy visualization parameters from element el.
static const TGPicture * fgListTreeIcons[9]
virtual void WriteVizParams(std::ostream &out, const TString &var)
Write-out visual parameters for this object.
virtual void PaintStandard(TObject *id)
Paint object – a generic implementation for EVE elements.
Exception class thrown by TEve classes and macros.
TEvePointSelectorConsumer(ETreeVarType_e cs=kTVT_XYZ)
TEvePointSelector is a sub-class of TSelectorDraw for direct extraction of point-like data from a Tre...
void SetRange(Double_t min, Double_t max)
Set active range of the separating quantity.
void SetMarkerSize(Size_t msize=1) override
Set marker size, propagate to children.
void TakeAction(TEvePointSelector *) override
Called from TEvePointSelector when internal arrays of the tree-selector are filled up and need to be ...
Int_t fLastBin
! Index of the last filled TEvePointSet.
void CloseBins()
Call this after all the points have been filled.
~TEvePointSetArray() override
Destructor: deletes the fBins array.
void RemoveElementsLocal() override
Virtual from TEveElement, provide bin management.
void SetMarkerColor(Color_t tcolor=1) override
Set marker color, propagate to children.
void InitBins(const char *quant_name, Int_t nbins, Double_t min, Double_t max)
Initialize internal point-sets with given binning parameters.
virtual Int_t Size(Bool_t under=kFALSE, Bool_t over=kFALSE) const
Get the total number of filled points.
TEvePointSetArray(const TEvePointSetArray &)
void SetPointId(TObject *id)
Set external object id of the last added point.
void RemoveElementLocal(TEveElement *el) override
Virtual from TEveElement, provide bin management.
Bool_t Fill(Double_t x, Double_t y, Double_t z, Double_t quant)
Add a new point.
Int_t fDefPointSetCapacity
void SetMarkerStyle(Style_t mstyle=1) override
Set marker style, propagate to children.
void SetOwnIds(Bool_t o)
Propagate id-object ownership to children.
void UpdateProjection() override
Re-apply the projection.
void PointSelected(Int_t id) override
Virtual method of base class TPointSet3D.
void SetProjection(TEveProjectionManager *proj, TEveProjectable *model) override
Set projection manager and projection model.
void SetDepthLocal(Float_t d) override
Set depth (z-coordinate) of the projected points.
TEvePointSetProjected()
Default contructor.
TEvePointSet is a render-element holding a collection of 3D points with optional per-point TRef and a...
void Paint(Option_t *option="") override
Paint point-set.
void AssertIntIdsSize()
Assert that size of IntId array is compatible with the size of the point array.
const TGPicture * GetListTreeIcon(Bool_t open=kFALSE) override
Return pointset icon.
~TEvePointSet() override
Destructor.
void CopyVizParams(const TEveElement *el) override
Copy visualization parameters from element el.
void SetPointIntIds(Int_t *ids)
Set integer ids for the last point that was registered (most probably via TPolyMarker3D::SetNextPoint...
virtual void ClonePoints(const TEvePointSet &e)
Clone points and all point-related information from point-set 'e'.
TClass * ProjectedClass(const TEveProjection *p) const override
Virtual from TEveProjectable, returns TEvePointSetProjected class.
Int_t GetPointIntId(Int_t p, Int_t i) const
Return i-th integer id of point with index p.
void Reset(Int_t n_points=0, Int_t n_int_ids=0)
Drop all data and set-up the data structures to recive new data.
Int_t GrowFor(Int_t n_points)
Resizes internal array to allow additional n_points to be stored.
TEvePointSet(Int_t n_points=0, ETreeVarType_e tv_type=kTVT_XYZ)
Constructor.
void SetMarkerStyle(Style_t mstyle=1) override
Set marker style, propagate to projecteds.
void WriteVizParams(std::ostream &out, const TString &var) override
Write visualization parameters.
void SetMarkerSize(Size_t msize=1) override
Set marker size, propagate to projecteds.
void PointSelected(Int_t id) override
Virtual method of base class TPointSet3D.
Int_t * GetPointIntIds(Int_t p) const
Return a pointer to integer ids of point with index p.
void TakeAction(TEvePointSelector *) override
Called from TEvePointSelector when internal arrays of the tree-selector are filled up and need to be ...
void InitFill(Int_t subIdNum) override
Initialize point-set for new filling.
ProjList_t fProjectedList
TEveProjectable(const TEveProjectable &)
TEveProjectable * fProjectable
TEveProjectionManager * fManager
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
Sets projection manager and reference in the projectable object.
TEveProjected(const TEveProjected &)
void SetDepthCommon(Float_t d, TEveElement *el, Float_t *bbox)
Utility function to update the z-values of the bounding-box.
Manager class for steering of projections and managing projected objects.
Base-class for non-linear projections.
void ProjectPointfv(Float_t *v, Float_t d)
Project float array.
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
TObject()
TObject constructor.
virtual void PointSelected(Int_t n)
This virtual method is called from TPointSet3DGL when a point is selected.
void ClearIds()
Clears the id-array. If ids are owned the TObjects are deleted.
void CopyIds(const TPointSet3D &t)
Copy id objects from point-set 't'.
void SetPoint(Int_t n, Double_t x, Double_t y, Double_t z)
Set point n to x, y, z.
virtual Int_t Size() const
virtual Int_t GetN() const
virtual void SetName(const char *name)
Change (i.e.
virtual Float_t * GetP() const
TQObject(const TQObject &)=delete
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
virtual Double_t * GetV4() const
See TSelectorDraw::GetVal.
virtual Double_t * GetV2() const
See TSelectorDraw::GetVal.
virtual Double_t * GetV1() const
See TSelectorDraw::GetVal.
virtual Int_t GetDimension() const
virtual Double_t * GetVal(Int_t i) const
Return the last values corresponding to the i-th component of the formula being processed (where the ...
virtual Double_t * GetV3() const
See TSelectorDraw::GetVal.
virtual Int_t GetNfill() const
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
Int_t FloorNint(Double_t x)
Returns the nearest integer of TMath::Floor(x).
Int_t CeilNint(Double_t x)
Returns the nearest integer of TMath::Ceil(x).
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.