ROOT logo
(UNKNOWN PRODUCT) » INCLUDE » TSplineX

class TSplineX: public TPolyLine

Function Members (Methods)

public:
TSplineX()
TSplineX(Int_t npoints, Double_t* x = 0, Double_t* y = 0, Float_t* sf = 0, Float_t prec = 0.2, Bool_t closed = kFALSE)
virtual~TSplineX()
voidTObject::AbstractMethod(const char* method) const
voidAddArrow(Int_t where = 1, Double_t size = 10, Double_t angle = 30, Double_t indent_angle = 0, Int_t filled = 0)MENU
ParallelGraph*AddParallelGraph(Double_t dist = 2, Color_t color = 0, Width_t width = 0, Style_t style = 0)MENU
voidAddText(TObject* hprtext)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
voidControlGraphMixer()MENU
virtual voidTPolyLine::Copy(TObject& polyline) const
voidCRButtonPressed(Int_t, Int_t)
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual voidTPolyLine::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
voidDrawControlPoints(Style_t marker = 24, Size_t size = 1)MENU
voidDrawParallelGraphs()
virtual voidTPolyLine::DrawPolyLine(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetArrowAngle()
Int_tGetArrowFill()
Double_tGetArrowIndentAngle()
Double_tGetArrowLength()
ControlGraph*GetControlGraph()
voidGetControlPoint(Int_t ip, Double_t* x, Double_t* y, Float_t* sf)
Double_t*GetCornersX()MENU
Double_t*GetCornersY()MENU
Bool_tGetCPDrawn()
TList*GetDPolyLines()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetEmptyLength()
virtual Color_tTAttFill::GetFillColor() const
Double_tGetFilledLength()
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
Bool_tGetIsClosed()
virtual Int_tTPolyLine::GetLastPoint() const
Double_tGetLengthOfSpline()
Double_tGetLengthOfText(HprText* t, Double_t csep, Int_t start, Int_t end, Int_t step, Double_t s0)
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
Size_tGetMSize()
Style_tGetMStyle()
Int_tTPolyLine::GetN() const
virtual const char*TObject::GetName() const
Int_tGetNofControlPoints()
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TPolyLine::GetOption() const
Bool_tGetPaintArrowAtEnd()
Bool_tGetPaintArrowAtStart()
Int_tGetParallelFill()
TObjArray*GetParallelGraphs()
Double_tGetPhiXY(Double_t s, Double_t& x, Double_t& y)
Double_tGetRailwayGage()MENU
Int_tGetResult(Double_t*& x, Double_t*& y)
TList*GetTextList()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*TPolyLine::GetX() const
Double_t*TPolyLine::GetY() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
Int_tInsertPoint()MENU
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Int_tIsRailwaylike()
virtual Bool_tTObject::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTPolyLine::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Int_tTPolyLine::Merge(TCollection* list)
virtual voidTAttLine::Modify()
voidNeedReCompute()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidPaint(Option_t* option = " ")
voidPaintArrow(Int_t where)
virtual voidTPolyLine::PaintPolyLine(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
virtual voidTPolyLine::PaintPolyLineNDC(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
voidPaintText()
virtual voidPop()
virtual voidPrint(Option_t*) constMENU
voidPrintAddress()MENU
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidRemoveControlPoints()MENU
Int_tRemovePoint()MENU
voidRemovePolyLines()
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidSavePrimitive(ostream&, Option_t*)
voidSetAllControlPoints(Int_t npoints, Double_t* x, Double_t* y)
voidSetArrowAngle(Double_t angle)MENU
voidSetArrowFill(Bool_t filled)MENU
voidSetArrowIndentAngle(Double_t a)MENU
voidSetArrowLength(Double_t length)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetControlPoint(Int_t ip, Double_t x, Double_t y, Float_t sf)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEmptyLength(Double_t elen)MENU
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
voidSetFilledLength(Double_t flen)MENU
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
voidSetIsClosed(Bool_t isclosed = kTRUE)MENU
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineColorAlpha(Color_t lcolor, Float_t lalpha)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
voidSetMSize(Size_t size)
voidSetMStyle(Style_t type)
virtual voidTPolyLine::SetNDC(Bool_t isNDC = kTRUE)
virtual Int_tTPolyLine::SetNextPoint(Double_t x, Double_t y)MENU
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTPolyLine::SetOption(Option_t* option = "")
voidSetPaintArrowAtEnd(Bool_t ok)
voidSetPaintArrowAtStart(Bool_t ok)
voidSetParallelFill(Int_t sf)MENU
virtual voidTPolyLine::SetPoint(Int_t point, Double_t x, Double_t y)MENU
virtual voidTPolyLine::SetPolyLine(Int_t n)
virtual voidTPolyLine::SetPolyLine(Int_t n, Float_t* x, Float_t* y, Option_t* option = "")
virtual voidTPolyLine::SetPolyLine(Int_t n, Double_t* x, Double_t* y3, Option_t* option = "")
voidSetRailwayGage(Double_t gage)MENU
voidSetRailwaylike(Double_t gage = 4)MENU
voidSetShapeFactors(Int_t npoints, Float_t* sf)
voidSetSleeperColor(Color_t color)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTPolyLine::Size() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
Int_tComputeSpline()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidEndpoint(Double_t phi, Double_t x, Double_t y, Double_t dist, Double_t* a, Double_t* b)
Double_tGetArrowLength(Double_t dist, Double_t al, Double_t aa, Double_t aia)
Double_tLength(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
voidTObject::MakeZombie()
voidMidpoint(Double_t phi1, Double_t phi2, Double_t x, Double_t y, Double_t dist, Double_t* a, Double_t* b)
voidNextpoint(Double_t phi, Double_t x, Double_t y, Double_t dist, Double_t* a, Double_t* b)
TPolyLine&TPolyLine::operator=(const TPolyLine&)
Double_tPhiOfLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
private:
Int_tadd_closepoint()
Int_tadd_point(Double_t x, Double_t y)
Int_tcl_spline(ControlPoint* cpoints, ShapeFactor* sfactors, Float_t precision)
voidCopyControlPoints()
voidDelete_ControlPoints()
voidDelete_ShapeFactors()
Double_tf_blend(Double_t numerator, Double_t denominator)
Double_tg_blend(Double_t u, Double_t q)
Double_th_blend(Double_t u, Double_t q)
voidnegative_s1_influence(Double_t t, Double_t s1, Double_t* A0, Double_t* A2)
voidnegative_s2_influence(Double_t t, Double_t s2, Double_t* A1, Double_t* A3)
Int_top_spline(ControlPoint* cpoints, ShapeFactor* sfactors, Float_t precision)
voidpoint_adding(Double_t* A_blend, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3)
voidpoint_computing(Double_t* A_blend, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3, Double_t* xs, Double_t* ys)
voidpositive_s1_influence(Int_t k, Double_t t, Double_t s1, Double_t* A0, Double_t* A2)
voidpositive_s2_influence(Int_t k, Double_t t, Double_t s2, Double_t* A1, Double_t* A3)
voidSetGraph()
voidspline_segment_computing(Float_t step, Int_t k, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3, Double_t s1, Double_t s2)
Float_tstep_computing(int k, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3, Double_t s1, Double_t s2, Float_t precision)
voidtoo_many_points()

Data Members

protected:
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Int_tTPolyLine::fLastPointThe index of the last filled point
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Int_tTPolyLine::fNNumber of points
TStringTPolyLine::fOptionoptions
Double_t*TPolyLine::fX[fN] Array of X coordinates
Double_t*TPolyLine::fY[fN] Array of Y coordinates
private:
Double_tfArrowAngle
PolyLineNoEdit*fArrowAtEnd!
PolyLineNoEdit*fArrowAtStart!
Int_tfArrowFill
Double_tfArrowIndentAngle
Double_tfArrowLength
Bool_tfCPDrawn!
ControlGraphfCPGraphControlpoints
Bool_tfClosed
Bool_tfComputeDone!
ControlPoint*fControlPointList!
Double_tfCornersX[3][3]!
Double_tfCornersY[3][3]!
TListfDPolyLines!
Double_tfEmptyLengthspace in between
Double_tfFilledLengthdraw like railway in maps
Color_tfLineColor
Style_tfLineStyle
Width_tfLineWidth
Size_tfMSizemarkersize for ControlGraph
Style_tfMStylemarkertype for ControlGraph
Int_tfNofControlPoints
Int_tfNpoints! number of used points
TObjArrayfPGraphspointer list to parallel lines
Bool_tfPaintArrowAtEnd
Bool_tfPaintArrowAtStart
Int_tfParallelFill
Float_tfPrec
ParallelGraph*fRailLpointer to left rail, if railwaylike
ParallelGraph*fRailRpointer to right rail
Double_tfRailwayGage
Int_tfRailwaylike
Double_tfRatioXY
ShapeFactor*fShapeFactorList! pointer to linked list
TList*fTextList
TArrayDfX! result X
TArrayDfY! result Y

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Int_t DistancetoPrimitive(Int_t px, Int_t py)
{return 9999;}
void SavePrimitive(ostream& , Option_t* )
{}
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
void SetControlPoint(Int_t ip, Double_t x, Double_t y, Float_t sf)
{ipoint=>fSelectedPoint,x=>fSelectedX,y=>fSelectedY,sfactor=>fSelectedShapeFactor}
void GetControlPoint(Int_t ip, Double_t* x, Double_t* y, Float_t* sf)
Int_t InsertPoint()
Int_t RemovePoint()
void ControlGraphMixer()
   virtual void EditControlGraph();    // *MENU*
void SetIsClosed(Bool_t isclosed = kTRUE)
{ fClosed = cl; }
Bool_t GetIsClosed()
{ return fClosed; }
void Paint(Option_t* option = " ")
void Pop()
Double_t f_blend(Double_t numerator, Double_t denominator)
Double_t g_blend(Double_t u, Double_t q)
Double_t h_blend(Double_t u, Double_t q)
void negative_s1_influence(Double_t t, Double_t s1, Double_t* A0, Double_t* A2)
void negative_s2_influence(Double_t t, Double_t s2, Double_t* A1, Double_t* A3)
void positive_s1_influence(Int_t k, Double_t t, Double_t s1, Double_t* A0, Double_t* A2)
void positive_s2_influence(Int_t k, Double_t t, Double_t s2, Double_t* A1, Double_t* A3)
void point_computing(Double_t* A_blend, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3, Double_t* xs, Double_t* ys)
Float_t step_computing(int k, ControlPoint* p0, ControlPoint* p1, ControlPoint* p2, ControlPoint* p3, Double_t s1, Double_t s2, Float_t precision)
Int_t op_spline(ControlPoint* cpoints, ShapeFactor* sfactors, Float_t precision)
Int_t cl_spline(ControlPoint* cpoints, ShapeFactor* sfactors, Float_t precision)
Int_t add_point(Double_t x, Double_t y)
Int_t add_closepoint()
void too_many_points()
void Delete_ShapeFactors()
void Delete_ControlPoints()
void SetGraph()
void CopyControlPoints()
Int_t ComputeSpline()
Double_t Length(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Double_t PhiOfLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
void Nextpoint(Double_t phi, Double_t x, Double_t y, Double_t dist, Double_t* a, Double_t* b)
void Midpoint(Double_t phi1, Double_t phi2, Double_t x, Double_t y, Double_t dist, Double_t* a, Double_t* b)
TSplineX()
TSplineX(Int_t npoints, Double_t* x = 0, Double_t* y = 0, Float_t* sf = 0, Float_t prec = 0.2, Bool_t closed = kFALSE)
void RemovePolyLines()
void Print(Option_t* ) const
void DrawControlPoints(Style_t marker = 24, Size_t size = 1)
{marker=>fMStyle, size=>fMSize}
void RemoveControlPoints()
Style_t GetMStyle()
{return fMStyle;}
Size_t GetMSize()
{return fMSize;}
void SetMStyle(Style_t type)
{fMStyle = type;}
void SetMSize(Size_t size)
{fMSize = size;}
void SetAllControlPoints(Int_t npoints, Double_t* x, Double_t* y)
void SetShapeFactors(Int_t npoints, Float_t* sf)
Int_t GetNofControlPoints()
{return fCPGraph.GetN();}
Bool_t GetCPDrawn()
{return fCPDrawn;}
Int_t GetResult(Double_t*& x, Double_t*& y)
ControlGraph* GetControlGraph()
{return &fCPGraph;}
TList* GetDPolyLines()
{return &fDPolyLines;}
void PaintArrow(Int_t where)
void DrawParallelGraphs()
ParallelGraph* AddParallelGraph(Double_t dist = 2, Color_t color = 0, Width_t width = 0, Style_t style = 0)
{return &fPGraphs;}
void SetRailwaylike(Double_t gage = 4)
Int_t IsRailwaylike()
{return fRailwaylike;}
void SetRailwayGage(Double_t gage)
Double_t GetRailwayGage()
{return fRailwayGage;}
void SetFilledLength(Double_t flen)
{fFilledLength = flen;}
void SetEmptyLength(Double_t elen)
{fEmptyLength = elen;}
Double_t GetFilledLength()
{return fFilledLength;}
Double_t GetEmptyLength()
{return fEmptyLength;}
void NeedReCompute()
void SetSleeperColor(Color_t color)
Int_t GetParallelFill()
{return fParallelFill;}
void SetParallelFill(Int_t sf)
void AddArrow(Int_t where = 1, Double_t size = 10, Double_t angle = 30, Double_t indent_angle = 0, Int_t filled = 0)
{fArrowLength = length;}
void SetArrowAngle(Double_t angle)
{fArrowAngle = angle;}
void SetArrowIndentAngle(Double_t a)
Double_t GetArrowLength()
{return fArrowLength;}
Double_t GetArrowAngle()
{return fArrowAngle;}
Double_t GetArrowIndentAngle()
void SetPaintArrowAtStart(Bool_t ok)
void SetPaintArrowAtEnd(Bool_t ok)
Bool_t GetPaintArrowAtStart()
Bool_t GetPaintArrowAtEnd()
Int_t GetArrowFill()
{return fArrowFill;}
void SetArrowFill(Bool_t filled)
void AddText(TObject* hprtext)
TList * GetTextList()
{return fTextList;}
void PaintText()
Double_t GetLengthOfText(HprText* t, Double_t csep, Int_t start, Int_t end, Int_t step, Double_t s0)
Double_t GetLengthOfSpline()
Double_t GetPhiXY(Double_t s, Double_t& x, Double_t& y)
Double_t * GetCornersX()
{return &fCornersX[0][0]; }
Double_t * GetCornersY()
{return &fCornersY[0][0]; }
void PrintAddress()
{std::cout << "TSplineX *sp = (TSplineX*)" << this << std::endl;}
void CRButtonPressed(Int_t , Int_t )
{}