22#include <nlohmann/json.hpp> 
   88   return TClass::GetClass<REveEllipsoidProjected>();
 
 
   99   j[
"fSecondarySelect"] = 
false;
 
 
  167   return  (
p1-
p0).Mag2()+ (
p2-
p0).Mag2();
 
 
  209      printf(
"REveEllipsoidProjected::OutlineProjected, printing axes %s\n", 
GetCName());
 
 
  251   if (
proj.HasSeveralSubSpaces())
 
  255   for (
size_t i = 0; i <
fArchPnts.size(); i+=2 )
 
  260      if (
proj.AcceptSegment(
p1, 
p2, 0.1f))
 
  277   if (
proj.HasSeveralSubSpaces())
 
 
  300   j[
"fSecondarySelect"] = 
false;
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
void Reset(Int_t atom_size, Int_t chunk_size)
Empty the container and reset it with given atom and chunk sizes.
 
void Refit()
Refit the container so that all current data fits into a single chunk.
 
const char * GetCName() const
 
virtual void BuildRenderData()
Write transformation Matrix to render data.
 
virtual void OutlineProjected()
Find longest projection of axes and draw an arch.
 
std::vector< REveVector > fArchPnts
 
void SetProjection(REveProjectionManager *mng, REveProjectable *model) override
This is virtual method from base-class REveProjected.
 
float GetEllipseSurface(const REveVector &v1, const REveVector &v2)
Get surface size of projected ellipse.
 
~REveEllipsoidProjected() override
Destructor.
 
REveEllipsoidProjected(const REveEllipsoidProjected &)=delete
 
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
 
void DrawArchProjected(float phiStart, float phiEnd, float phiStep, REveVector &v0, REveVector &v1, REveVector &v2)
Draw archade around base vectors.
 
void BuildRenderData() override
Crates 3D point array for rendering.
 
void UpdateProjection() override
Callback that actually performs the projection.
 
void SetBaseVectors(REveVector &v0, REveVector &v1, REveVector &v3)
Three defining base vectors of ellipse.
 
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
 
void DrawArch(float phiStart, float phiEnd, float phiStep, REveVector &v0, REveVector &v1, REveVector &v2)
Draw archade as straight line set.
 
TClass * ProjectedClass(const REveProjection *p) const override
Virtual from REveProjectable, returns REveEllipsoidProjected class.
 
virtual void Outline()
Draw archade around base vectors.
 
void SetPhiStep(float ps)
Set size of phi step in archade drawing.
 
REveEllipsoid(const REveEllipsoid &)=delete
 
virtual void SetProjection(REveProjectionManager *mng, REveProjectable *model)
Sets projection manager and reference in the projectable object.
 
REveProjectable * fProjectable
 
REveProjectionManager * fManager
 
REveProjectionManager Manager class for steering of projections and managing projected objects.
 
REveProjection * GetProjection()
 
REveProjection Base for specific classes that implement non-linear projections.
 
REveStraightLineSetProjected Projected copy of a REveStraightLineSet.
 
REveStraightLineSet Set of straight lines with optional markers along the lines.
 
Line_t * AddLine(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2)
Add a line.
 
Marker_t * AddMarker(Float_t x, Float_t y, Float_t z, Int_t line_id=-1)
Add a marker with given position.
 
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
 
REveChunkManager fMarkerPlex
 
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
 
REveChunkManager fLinePlex
 
void GetPos(Double_t &x, Double_t &y, Double_t &z) const
Get position (base-vec 4).
 
void MultiplyIP(TVector3 &v, Double_t w=1) const
Multiply vector in-place.
 
void Dump() const
Dump to stdout as "(x, y, z)\n".
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
 
constexpr Double_t TwoPi()