19#include "TGLIncludes.h"
145 prev = i; i = next; ++next;
165 ++next;
if (next >=
NP) next = 0;
195 return fC !=
nullptr;
208 struct less_eve_vec_phi_t
211 {
return a.Phi() <
b.Phi(); }
226 switch (
proj->GetType())
234 for (
Int_t i = 0; i < 3; ++i)
251 fP.reserve(
fP.size() + 1);
258 fP.reserve(
fP.size() + 1);
267 std::sort(
fP.begin() + 1,
fP.end(), less_eve_vec_phi_t());
273 throw kEH +
"Unsupported projection type.";
313 if (
rnrCtx.IsDrawPassOutlineLine())
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint angle
TRObject operator()(const T1 &t1) const
Exception class thrown by TEve classes and macros.
OpenGL renderer class for TEveJetCone.
void SetBBox() override
Set bounding box.
virtual void CalculatePoints() const
Calculate points for drawing.
std::vector< TEveVector > fP
void DLCacheClear() override
Clear DL cache and reset internal point array.
TEveJetConeGL()
Constructor.
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Render with OpenGL.
void Draw(TGLRnrCtx &rnrCtx) const override
Draw the cone.
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
Set model object.
OpenGL renderer class for TEveJetConeProjected.
void RenderOutline() const
Draw jet outline.
void RenderPolygon() const
Draw jet surface.
TEveJetConeProjected * fM
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Render with OpenGL.
void Draw(TGLRnrCtx &rnrCtx) const override
Draw the cone.
void SetBBox() override
Set bounding box.
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
Set model object.
void CalculatePoints() const override
Calculate points for drawing.
TEveJetConeProjectedGL()
Constructor.
Projection of TEveJetCone.
Draws a jet cone with leading particle is specified in (eta,phi) and cone radius is given.
TEveVector CalcBaseVec(Float_t eta, Float_t phi) const
Returns point on the base of the cone with given eta and phi.
TEveProjectionManager * GetManager() const
TEveProjectable * GetProjectable() const
TEveProjection * GetProjection()
Base-class for non-linear projections.
virtual void Draw(TGLRnrCtx &rnrCtx) const
Draw the GL drawable, using draw flags.
TObject * fExternalObj
first replica
virtual void DLCacheClear()
Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved...
Base-class for direct OpenGL renderers.
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Set axis-aligned bounding-box.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
static void Color(const TGLColor &color)
Set color from TGLColor.
static Float_t LineWidth()
Get the line-width, taking the global scaling into account.
Mother of all ROOT objects.
constexpr Double_t PiOver2()
T * Cross(const T v1[3], const T v2[3], T out[3])
Calculates the Cross Product of two vectors: out = [v1 x v2].
constexpr Double_t TwoPi()