ROOT » MISC » TABLE » TPolyLineShape

class TPolyLineShape: public TShape, public TAttMarker


STAR 3D geometry Object Model


TDataSet            Legend:
|                  "classA"
                              |                     |     "classB" is derived from
v                     v       the "classA"
TVolume               "classB"
^
|                  "classQ"
|                      ^     "classQ" has a pointer
TShape                   |       to "classT"
|                   "classT"
v

|
|     .    .    .
|
V               v      v                     v      v
TPolyLineShape     TBRIK  TTUBE                 TPCON  TTRD1
|        ^
|        |       
R O O T S H A P E S
V        |       (see 
GEANT 3.21 shapes
 as well)
St_PolyLine3D  |
|
TPoints3DABC
|
|
v




V                 v                 v                  v
StHits3DPoints   StHelix3DPoints   TTable3Points          TPoints3D               



StObjArray    StTrack / StHelixD  TTableSorter       flat floating
^              point array
|        (see St_PolyLine3D as well)
|
TTable


S  T  A  R    S  H  A  P  E  S



Function Members (Methods)

public:
virtual~TPolyLineShape()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
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 voidDraw(Option_t* opt = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual const TBuffer3D&TShape::GetBuffer3D(Int_t reqSections) const
virtual Color_tGetColorAttribute() const
virtual TShape*GetConnection() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
virtual TPoints3DABC*GetMarker() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
TMaterial*TShape::GetMaterial() const
virtual const char*GetName() const
virtual Int_tTShape::GetNumber() const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TPoints3DABC*GetPoints() const
virtual TShape*GetShape() const
virtual Size_tGetSizeAttribute() const
virtual Bool_tGetSmooth() const
virtual Style_tGetStyleAttribute() const
virtual const char*GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Int_tTShape::GetVisibility() const
virtual Float_tGetWidthFactor() const
static Double_t*Gyrot(Double_t* dirc, Double_t cosang, Double_t sinang, Double_t[3][3] trans)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
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
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
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)
TPolyLineShape&operator=(const TPolyLineShape&)
virtual voidPaint(Option_t* opt)
virtual voidPaint3d(Option_t* opt)
virtual voidPaintNode(Float_t* start, Float_t* end, Option_t* option)
virtual voidPaintPoints(Int_t n, Float_t* p = 0, Option_t* opt = "")
virtual voidPaintPolyMarker(Int_t n, Float_t* p = 0, Marker_t m = 0, Option_t* opt = "")
virtual voidPaintX3DLine(Option_t* opt = "")
virtual voidPaintX3DMarker(Option_t* opt = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
static Float_tProduct(Float_t* v1, Float_t* v2, Int_t ndim = 3)
static Double_tProduct(Double_t* v1, Double_t* v2, Int_t ndim = 3)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
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 voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual Color_tSetColorAttribute(Color_t color)
virtual Int_tSetConnection(EShapeTypes connection = kBrik)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
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)
virtual voidTAttMarker::SetMarkerAttributes()MENU
virtual voidTAttMarker::SetMarkerColor(Color_t mcolor = 1)
virtual voidTAttMarker::SetMarkerColorAlpha(Color_t mcolor, Float_t malpha)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
virtual voidTShape::SetName(const char* name)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTShape::SetPoints(Double_t* points) const
virtual voidSetShape(TShape* shape)
virtual Size_tSetSizeAttribute(Size_t size)
virtual voidSetSmooth(Bool_t smooth = kTRUE)
virtual Style_tSetStyleAttribute(Style_t style)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTShape::SetVisibility(Int_t vis)MENU
virtual voidSetWidthFactor(Float_t fact = 1.)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tSize() const
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() 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
TPolyLineShape()
TPolyLineShape(const TPolyLineShape&)
TPolyLineShape(TPoints3DABC* points, Option_t* option = "P")
voidTShape::TransformPoints(Double_t* points, UInt_t NbPnts) 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:
virtual voidCreate()
virtual Size3D*CreateX3DSize(Bool_t marker = kFALSE)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidTShape::FillBuffer3D(TBuffer3D& buffer, Int_t reqSections) const
Int_tTShape::GetBasicColor() const
voidTObject::MakeZombie()
virtual Int_tPointDistancetoPrimitive(Int_t px, Int_t py)
virtual voidSetConnection(TShape* connection)
Int_tTShape::ShapeDistancetoPrimitive(Int_t numPoints, Int_t px, Int_t py)

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
TShape*fConnectionshape to represent the each "end" of the polyline
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Bool_tfHasDrawnflag to avoid multiply plots
Color_tTAttLine::fLineColorline color
Bool_tfLineFlagFlag whether we should connect the points with "line" (option "L")
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttMarker::fMarkerColorMarker color index
Size_tTAttMarker::fMarkerSizeMarker size
Style_tTAttMarker::fMarkerStyleMarker style
TMaterial*TShape::fMaterialPointer to material
TStringTNamed::fNameobject identifier
Int_tTShape::fNumberShape number
Bool_tfPointFlagFlag whether we should paint "points" (option "P")
TPoints3DABC*fPointsPolyLine itself
TShape*fShapeshape for draw each segment of the polylins
EShapeTypesfShapeTypeshape of the segment connections
Size3D*fSizeX3D! the X3D buffer sizes
Bool_tfSmoothMake smooth connections
TStringTNamed::fTitleobject title
Int_tTShape::fVisibilityVisibility flag
Float_tfWidthFactorfactor to calculate the the tube diameters

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TPolyLineShape()
to be documented
TPolyLineShape(TPoints3DABC* points, Option_t* option = "P")
  fShape       = new TTUBE("tube","tube","void",0.5,0.5);
~TPolyLineShape()
to be documented
void Create()
to be documented
Size3D * CreateX3DSize(Bool_t marker = kFALSE)
to be documented
Int_t SetConnection(EShapeTypes connection = kBrik)
to be documented
Int_t DistancetoPrimitive(Int_t px, Int_t py)
-*Compute distance from point px,py to a 3-D polyline
*-*            ===================================================
-
*-*  Compute the closest distance of approach from point px,py to each segment
*-*  of the polyline.
*-*  Returns when the distance found is below DistanceMaximum.
*-*  The distance is computed in pixels units.
-
Int_t PointDistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a 3-D points 
*-*          =====================================================
-
*-*  Compute the closest distance of approach from point px,py to each segment
*-*  of the polyline.
*-*  Returns when the distance found is below DistanceMaximum.
*-*  The distance is computed in pixels units.
-
-
void Draw(Option_t* opt = "")
to be documented
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 forward the ExecuteEvent call to the decorated object
Color_t GetColorAttribute() const
to be documented
const char * GetName() const
 forward the GetName call to the decorated object
char * GetObjectInfo(Int_t px, Int_t py) const
 forward the GetObjectInfo call to the decorated object
Size_t GetSizeAttribute() const
to be documented
Style_t GetStyleAttribute() const
to be documented
const char * GetTitle() const
 forward the GetObjectInfo call to the decorated object
void PaintNode(Float_t* start, Float_t* end, Option_t* option)
 Double_t *start - coordinate of the start point of the current segment
 Double_t *end   - coordinate of the end   point of the current segment
void Paint(Option_t* opt)
to be documented
void PaintPoints(Int_t n, Float_t* p = 0, Option_t* opt = "")
Draw this 3-D polyline with new coordinates*-
*-*              ===========================================
void PaintPolyMarker(Int_t n, Float_t* p = 0, Marker_t m = 0, Option_t* opt = "")
-*Paint polymarker in CurrentPad World coordinates
*-*              ================================================
void Paint3d(Option_t* opt)
to be documented
void PaintX3DLine(Option_t* opt = "")
to be documented
void PaintX3DMarker(Option_t* opt = "")
to be documented
Float_t Product(Float_t* v1, Float_t* v2, Int_t ndim = 3)
to be documented
Double_t Product(Double_t* v1, Double_t* v2, Int_t ndim = 3)
to be documented
Double_t * Gyrot(Double_t* dirc, Double_t cosang, Double_t sinang, Double_t[3][3] trans)

call gyrot(dirc,angp,trans,ntrans)                       vp 880722
revised              vp 921009
revised (f->c++)     vf 981006
routine for filling rotation transformation matrix
from axis and rotation angle around

arguments:
dirc    direct cosinuses (may be not normalised)
cosang, sinang - cos and sin of the rotation angle
tranz   rotation & shift matrix 3*3  (input/output)

This code is provided by Victor Perevoztchikov

Color_t SetColorAttribute(Color_t color)
to be documented
Size_t SetSizeAttribute(Size_t size)
to be documented
Style_t SetStyleAttribute(Style_t style)
 SetStyleAttribute(Style_t style) - set new style for this line
 Returns:
          previous value of the line style

void SetShape(TShape* shape)
to be documented
Int_t Size() const
to be documented
void Sizeof3D() const
-*Return total X3D size of this shape with its attributes
*-*          =======================================================
void SetConnection(TShape* connection)
{ fConnection = connection;}
TPolyLineShape()
TShape * GetConnection() const
{ return fConnection;}
TPoints3DABC * GetMarker() const
{ return fPoints;}
TPoints3DABC * GetPoints() const
{ return fPoints;}
TShape * GetShape() const
{ return fShape;}
Bool_t GetSmooth() const
{ return fSmooth;}
Float_t GetWidthFactor() const
{ return fWidthFactor;}
void SetSmooth(Bool_t smooth = kTRUE)
{ fSmooth=smooth;}
void SetWidthFactor(Float_t fact = 1.)
{fWidthFactor = fact;}