#ifndef ROOT_TEveTrackProjected
#define ROOT_TEveTrackProjected
#include "TEveTrack.h"
#include "TEveProjectionBases.h"
class TEveTrackProjected : public TEveTrack,
public TEveProjected
{
friend class TEveTrackProjectedGL;
private:
TEveTrackProjected(const TEveTrackProjected&);
TEveTrackProjected& operator=(const TEveTrackProjected&);
Int_t GetBreakPointIdx(Int_t start);
void GetBreakPoint(Int_t N, Bool_t back, Float_t& x, Float_t& y, Float_t& z);
TEveVector* fOrigPnts;
protected:
std::vector<Int_t> fBreakPoints;
virtual void SetDepthLocal(Float_t d);
public:
TEveTrackProjected();
virtual ~TEveTrackProjected() {}
virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
virtual void UpdateProjection();
virtual TEveElement* GetProjectedAsElement() { return this; }
virtual void MakeTrack(Bool_t recurse=kTRUE);
void PrintLineSegments();
virtual void SecSelected(TEveTrack*);
ClassDef(TEveTrackProjected, 1);
};
class TEveTrackListProjected : public TEveTrackList,
public TEveProjected
{
private:
TEveTrackListProjected(const TEveTrackListProjected&);
TEveTrackListProjected& operator=(const TEveTrackListProjected&);
protected:
virtual void SetDepthLocal(Float_t d);
public:
TEveTrackListProjected();
virtual ~TEveTrackListProjected() {}
virtual void SetProjection(TEveProjectionManager* proj, TEveProjectable* model);
virtual void UpdateProjection() {}
virtual TEveElement* GetProjectedAsElement() { return this; }
virtual void SetDepth(Float_t d);
virtual void SetDepth(Float_t d, TEveElement* el);
ClassDef(TEveTrackListProjected, 1);
};
#endif