98 fRefObject(m3d.fRefObject)
109 TAttLine::operator=(m3d);
110 TAttFill::operator=(m3d);
111 TAtt3D::operator=(m3d);
141 const Int_t numPoints = 8;
146 if (!view)
return dist;
147 const Int_t seg1[12] = {0,1,2,3,4,5,6,7,0,1,2,3};
148 const Int_t seg2[12] = {1,2,3,0,5,6,7,4,4,5,6,7};
152 Int_t i, i1, i2, dsegment;
155 for (i = 0; i < 12; i++) {
166 if (dsegment < dist) dist = dsegment;
184 if (
gPad->GetView())
gPad->GetView()->ExecuteRotateView(event, px, py);
201 buffer.
fID =
nullptr;
212 if (!viewer3D)
return;
222 if (!buffer.
SetRawSizes(nbPnts, 3*nbPnts, nbSegs, 3*nbSegs, nbPols, 6*nbPols)) {
237 dlocal[0] = buffer.
fPnts[3*j];
238 dlocal[1] = buffer.
fPnts[3*j+1];
239 dlocal[2] = buffer.
fPnts[3*j+2];
241 buffer.
fPnts[3*j] = dmaster[0];
242 buffer.
fPnts[3*j+1] = dmaster[1];
243 buffer.
fPnts[3*j+2] = dmaster[2];
295 TAxis *xaxis =
h->GetXaxis();
296 TAxis *yaxis =
h->GetYaxis();
297 TAxis *zaxis =
h->GetZaxis();
299 wmin =
h->GetMinimum();
300 wmax =
h->GetMaximum();
305 gPad->Range(-1,-1,1,1);
326 xmin =
h->GetXaxis()->GetBinLowEdge(ix);
327 xmax =
xmin +
h->GetXaxis()->GetBinWidth(ix);
329 ymin =
h->GetYaxis()->GetBinLowEdge(iy);
330 ymax =
ymin +
h->GetYaxis()->GetBinWidth(iy);
332 zmin =
h->GetZaxis()->GetBinLowEdge(iz);
333 zmax = zmin +
h->GetZaxis()->GetBinWidth(iz);
334 bin =
h->GetBin(ix,iy,iz);
335 w =
h->GetBinContent(bin);
336 if (
w <
wmin)
continue;
339 if (scale == 0)
continue;
357 out<<
" TMarker3DBox *";
359 out<<
"marker3DBox = new TMarker3DBox("<<
fX<<
","
366 <<
fPhi<<
");"<<std::endl;
371 out<<
" marker3DBox->Draw();"<<std::endl;
429 m[0] = costh * cosfi;
m[1] = -sinfi;
m[2] = sinth*cosfi;
430 m[3] = costh * sinfi;
m[4] = cosfi;
m[5] = sinth*sinfi;
431 m[6] = -sinth;
m[7] = 0;
m[8] = costh;
432 for (
Int_t i = 0; i < 8; i++) {
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t wmin
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t points
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t wmax
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TGeometry * gGeometry
Use this attribute class when an object should have 3D capabilities.
virtual void Streamer(TBuffer &)
Fill Area Attributes class.
virtual void Streamer(TBuffer &)
virtual void Modify()
Change current fill area attributes if necessary.
virtual void SaveFillAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
Save fill attributes as C++ statement(s) on output stream out.
virtual void Streamer(TBuffer &)
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void Modify()
Change current line attributes if necessary.
Int_t DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
Compute distance from point px,py to a line.
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.
Class to manage histogram axis.
virtual Double_t GetBinLowEdge(Int_t bin) const
Return low edge of bin.
Int_t GetLast() const
Return last bin on the axis i.e.
virtual Double_t GetBinUpEdge(Int_t bin) const
Return up edge of bin.
Int_t GetFirst() const
Return first bin on the axis i.e.
Generic 3D primitive description class.
Bool_t SectionsValid(UInt_t mask) const
void ClearSectionsValid()
Clear any sections marked valid.
void SetSectionsValid(UInt_t mask)
Bool_t SetRawSizes(UInt_t reqPnts, UInt_t reqPntsCapacity, UInt_t reqSegs, UInt_t reqSegsCapacity, UInt_t reqPols, UInt_t reqPolsCapacity)
Set kRaw tessellation section of buffer with supplied sizes.
Buffer base class used for serializing objects.
virtual Version_t ReadVersion(UInt_t *start=nullptr, UInt_t *bcnt=nullptr, const TClass *cl=nullptr)=0
virtual Int_t CheckByteCount(UInt_t startpos, UInt_t bcnt, const TClass *clss)=0
virtual Int_t ReadClassBuffer(const TClass *cl, void *pointer, const TClass *onfile_class=nullptr)=0
virtual Int_t WriteClassBuffer(const TClass *cl, void *pointer)=0
virtual void Local2Master(Double_t *local, Double_t *master)
Convert one point from local system to master reference system.
TH1 is the base class of all histogram classes in ROOT.
A special 3-D marker designed for event display.
virtual void SetPoints(Double_t *buff) const
Set points.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
virtual void SetSize(Float_t dx, Float_t dy, Float_t dz)
Set size.
TMarker3DBox & operator=(const TMarker3DBox &)
assignment operator
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a Marker3DBox.
static void PaintH3(TH1 *h, Option_t *option)
Paint 3-d histogram h with marker3dboxes.
~TMarker3DBox() override
Marker3DBox shape default destructor.
TClass * IsA() const override
void Paint(Option_t *option) override
Paint marker 3D box.
virtual void SetDirection(Float_t theta, Float_t phi)
Set direction.
virtual void SetPosition(Float_t x, Float_t y, Float_t z)
Set position.
TMarker3DBox()
Marker3DBox default constructor.
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
virtual void SetRefObject(TObject *obj=nullptr)
void Streamer(TBuffer &) override
Stream an object of class TMarker3DBox.
Mother of all ROOT objects.
TObject & operator=(const TObject &rhs)
TObject assignment operator.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
virtual void Streamer(TBuffer &)
Stream an object of class TObject.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void WCtoNDC(const Float_t *pw, Float_t *pn)=0
static TView * CreateView(Int_t system=1, const Double_t *rmin=nullptr, const Double_t *rmax=nullptr)
Create a concrete default 3-d view via the plug-in manager.
virtual void PadRange(Int_t rback)=0
virtual void SetRange(const Double_t *min, const Double_t *max)=0
Abstract 3D shapes viewer.
virtual Int_t AddObject(const TBuffer3D &buffer, Bool_t *addChildren=nullptr)=0
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
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.