#ifndef ROOT_TEveStraightLineSet
#define ROOT_TEveStraightLineSet
#include "TEveUtil.h"
#include <Gtypes.h>
#include "TNamed.h"
#include "TQObject.h"
#include "TAtt3D.h"
#include "TAttMarker.h"
#include "TAttLine.h"
#include "TAttBBox.h"
#include "TEveUtil.h"
#include "TEveElement.h"
#include "TEveProjectionBases.h"
#include "TEveChunkManager.h"
#include "TEveTrans.h"
class TRandom;
class TEveStraightLineSet : public TEveElement,
public TEveProjectable,
public TNamed,
public TQObject,
public TAtt3D,
public TAttLine,
public TAttMarker,
public TAttBBox
{
private:
TEveStraightLineSet(const TEveStraightLineSet&);
TEveStraightLineSet& operator=(const TEveStraightLineSet&);
public:
struct Line_t
{
Float_t fV1[3];
Float_t fV2[3];
TRef fRef;
Line_t(Float_t x1, Float_t y1, Float_t z1,
Float_t x2, Float_t y2, Float_t z2)
{
fV1[0] = x1, fV1[1] = y1, fV1[2] = z1;
fV2[0] = x2, fV2[1] = y2, fV2[2] = z2;
}
};
struct Marker_t
{
Int_t fLineID;
Float_t fPos;
TRef fRef;
Marker_t(Int_t lineID, Float_t pos) : fLineID(lineID), fPos(pos) {};
};
protected:
TEveChunkManager fLinePlex;
TEveChunkManager fMarkerPlex;
Bool_t fOwnLinesIds;
Bool_t fOwnMarkersIds;
Bool_t fRnrMarkers;
Bool_t fRnrLines;
Line_t* fLastLine;
public:
TEveStraightLineSet(const Text_t* n="StraightLineSet", const Text_t* t="");
virtual ~TEveStraightLineSet() {}
virtual void SetLineColor(Color_t col) { SetMainColor(col); }
void AddLine(Float_t x1, Float_t y1, Float_t z1, Float_t x2, Float_t y2, Float_t z2);
void AddMarker(Int_t lineID, Float_t pos);
TEveChunkManager& GetLinePlex() { return fLinePlex; }
TEveChunkManager& GetMarkerPlex() { return fMarkerPlex; }
virtual Bool_t GetRnrMarkers() { return fRnrMarkers; }
virtual Bool_t GetRnrLines() { return fRnrLines; }
virtual void SetRnrMarkers(Bool_t x) { fRnrMarkers = x; }
virtual void SetRnrLines(Bool_t x) { fRnrLines = x; }
virtual void CopyVizParams(const TEveElement* el);
virtual void WriteVizParams(ostream& out, const TString& var);
virtual TClass* ProjectedClass() const;
virtual void ComputeBBox();
virtual void Paint(Option_t* option="");
ClassDef(TEveStraightLineSet, 1);
};
class TEveStraightLineSetProjected : public TEveStraightLineSet,
public TEveProjected
{
private:
TEveStraightLineSetProjected(const TEveStraightLineSetProjected&);
TEveStraightLineSetProjected& operator=(const TEveStraightLineSetProjected&);
public:
TEveStraightLineSetProjected();
virtual ~TEveStraightLineSetProjected() {}
virtual void SetProjection(TEveProjectionManager* mng, TEveProjectable* model);
virtual void SetDepth(Float_t d);
virtual void UpdateProjection();
ClassDef(TEveStraightLineSetProjected, 1);
};
#endif
Last change: Wed Jun 25 08:38:07 2008
Last generated: 2008-06-25 08:38
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.