class TEveProjection

 TEveProjection

 Base-class for non-linear projections.

 Enables to define an external center of distortion and a scale to
 fixate a bounding box of a projected point.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TEveProjection()
virtual Bool_tAcceptSegment(TEveVector&, TEveVector&, Float_t)
static TClass*Class()
Float_tGetDistortion()
Float_tGetFixedRadius()
TEveProjection::EGeoMode_eGetGeoMode()
Float_tGetLimit(Int_t i, Bool_t pos)
const char*GetName()
virtual Float_t*GetProjectedCenter()
virtual Float_tGetScreenVal(Int_t ax, Float_t value)
TEveProjection::EPType_eGetType()
virtual Float_tGetValForScreenPos(Int_t ax, Float_t value)
virtual TClass*IsA() const
TEveProjection&operator=(const TEveProjection&)
virtual voidProjectPoint(Float_t&, Float_t&, Float_t&, TEveProjection::EPProc_e p = kPP_Full)
virtual voidProjectPointFv(Float_t* v)
virtual voidProjectVector(TEveVector& v)
virtual voidSetCenter(TEveVector& v)
virtual voidSetDirectionalVector(Int_t screenAxis, TEveVector& vec)
voidSetDistortion(Float_t d)
voidSetFixedRadius(Float_t x)
voidSetGeoMode(TEveProjection::EGeoMode_e m)
voidSetName(const char* txt)
voidSetType(TEveProjection::EPType_e t)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidUpdateLimit()

Data Members

public:
enum EPType_e { kPT_Unknown
kPT_CFishEye
kPT_RhoZ
};
enum EPProc_e { kPP_Plane
kPP_Distort
kPP_Full
};
enum EGeoMode_e { kGM_Unknown
kGM_Polygons
kGM_Segments
};
public:
static Float_tfgEpsresolution of projected points
protected:
TEveVectorfCentercenter of distortion
Float_tfDistortiondistortion
Float_tfFixedRadiusprojected radius independent of distortion
TEveProjection::EGeoMode_efGeoModeway of polygon reconstruction
TEveVectorfLowLimitconvergence of point -infinity
TStringfNamename
Float_tfScalescale factor to keep projected radius fixed
TEveProjection::EPType_efTypetype
TEveVectorfUpLimitconvergence of point +infinity
TEveVectorfZeroPosValprojected origin (0, 0, 0)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void ProjectVector(TEveVector& v)
 Project TEveVector.
void UpdateLimit()
 Update convergence in +inf and -inf.
void SetDistortion(Float_t d)
 Set distortion.
void SetFixedRadius(Float_t x)
 Set fixed radius.
void SetDirectionalVector(Int_t screenAxis, TEveVector& vec)
 Get vector for axis in a projected space.
Float_t GetValForScreenPos(Int_t ax, Float_t value)
 Inverse projection.
Float_t GetScreenVal(Int_t ax, Float_t value)
 Project point on given axis and return projected value.
virtual ~TEveProjection()
{}
void ProjectPoint(Float_t& , Float_t& , Float_t& , TEveProjection::EPProc_e p = kPP_Full)
void ProjectPointFv(Float_t* v)
{ ProjectPoint(v[0], v[1], v[2]); }
const char* GetName()
{ return fName.Data(); }
void SetName(const char* txt)
{ fName = txt; }
void SetCenter(TEveVector& v)
{ fCenter = v; UpdateLimit(); }
Float_t* GetProjectedCenter()
{ return fCenter.Arr(); }
void SetType(TEveProjection::EPType_e t)
{ fType = t; }
EPType_e GetType()
{ return fType; }
void SetGeoMode(TEveProjection::EGeoMode_e m)
{ fGeoMode = m; }
EGeoMode_e GetGeoMode()
{ return fGeoMode; }
Float_t GetDistortion()
{ return fDistortion; }
Float_t GetFixedRadius()
{ return fFixedRadius; }
Bool_t AcceptSegment(TEveVector& , TEveVector& , Float_t )
{ return kTRUE; }
Float_t GetLimit(Int_t i, Bool_t pos)
{ return pos ? fUpLimit[i] : fLowLimit[i]; }

Last update: root/eve:$Id: TEveProjections.h 21246 2007-12-06 17:55:44Z matevz $
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

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.