19#include "TGLIncludes.h"
144 prev = i; i = next; ++next;
164 ++next;
if (next >=
NP) next = 0;
193 return fC !=
nullptr;
206 struct less_eve_vec_phi_t
209 {
return a.Phi() <
b.Phi(); }
224 switch (
proj->GetType())
232 for (
Int_t i = 0; i < 3; ++i)
249 fP.reserve(
fP.size() + 1);
256 fP.reserve(
fP.size() + 1);
265 std::sort(
fP.begin() + 1,
fP.end(), less_eve_vec_phi_t());
271 throw kEH +
"Unsupported projection type.";
311 if (
rnrCtx.IsDrawPassOutlineLine())
float Float_t
Float 4 bytes (float)
const char Option_t
Option string (const char)
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
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.
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
! Also plays the role of ID.
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()