library: libTable #include "TPolyLineShape.h" |
TPolyLineShape
class description - header file - source file - inheritance tree (.pdf)
protected:
virtual void Create()
virtual _x3d_sizeof_* CreateX3DSize(Bool_t marker = kFALSE)
virtual Int_t PointDistancetoPrimitive(Int_t px, Int_t py)
virtual void SetConnection(TShape* connection)
public:
TPolyLineShape()
TPolyLineShape(TPoints3DABC* points, Option_t* option = "P")
TPolyLineShape(const TPolyLineShape&)
virtual ~TPolyLineShape()
static TClass* Class()
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual void Draw(Option_t* opt = "")
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual Color_t GetColorAttribute() const
virtual TShape* GetConnection() const
virtual TPoints3DABC* GetMarker() const
virtual const char* GetName() const
virtual char* GetObjectInfo(Int_t px, Int_t py) const
virtual TPoints3DABC* GetPoints() const
virtual TShape* GetShape() const
virtual Size_t GetSizeAttribute() const
virtual Bool_t GetSmooth() const
virtual Style_t GetStyleAttribute() const
virtual const char* GetTitle() const
virtual Float_t GetWidthFactor() const
static Double_t* Gyrot(Double_t* dirc, Double_t cosang, Double_t sinang, Double_t** trans)
virtual TClass* IsA() const
TPolyLineShape& operator=(const TPolyLineShape&)
virtual void Paint(Option_t* opt)
virtual void Paint3d(Option_t* opt)
virtual void PaintNode(Float_t* start, Float_t* end, Option_t* option)
virtual void PaintPoints(Int_t n, Float_t* p = 0, Option_t* opt = "")
virtual void PaintPolyMarker(Int_t n, Float_t* p = 0, Marker_t m = 0, Option_t* opt = "")
virtual void PaintX3DLine(Option_t* opt = "")
virtual void PaintX3DMarker(Option_t* opt = "")
static Float_t Product(Float_t* v1, Float_t* v2, Int_t ndim = 3)
static Double_t Product(Double_t* v1, Double_t* v2, Int_t ndim = 3)
virtual Color_t SetColorAttribute(Color_t color)
virtual Int_t SetConnection(EShapeTypes connection = kBrik)
virtual void SetShape(TShape* shape)
virtual Size_t SetSizeAttribute(Size_t size)
virtual void SetSmooth(Bool_t smooth = kTRUE)
virtual Style_t SetStyleAttribute(Style_t style)
virtual void SetWidthFactor(Float_t fact = 1.0)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual Int_t Size() const
virtual void Sizeof3D() const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
protected:
Bool_t fPointFlag Flag whether we should paint "points" (option "P")
Bool_t fLineFlag Flag whether we should connect the points with "line" (option "L")
EShapeTypes fShapeType shape of the segment connections
TShape* fShape shape for draw each segment of the polylins
TShape* fConnection shape to represent the each "end" of the polyline
TPoints3DABC* fPoints PolyLine itself
Float_t fWidthFactor factor to calculate the the tube diameters
Bool_t fHasDrawn flag to avoid multiply plots
Bool_t fSmooth Make smooth connections
_x3d_sizeof_* fSizeX3D ! the X3D buffer sizes
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
-------------------------------
void Create()
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.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
const char * GetName()
forward the GetName call to the decorated object
void PaintPoints(Int_t n, Float_t *, Option_t *)
*-*-*-*-*-*-*-*-*Draw this 3-D polyline with new coordinates*-*-*-*-*-*-*-*-*-*
*-* ===========================================
Double_t * Gyrot(Double_t *dirc, Double_t cosang, Double_t sinang, Double_t trans[3][3])
************************************************************************
* *
* 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 *
************************************************************************
void Sizeof3D()
*-*-*-*-*-*-*Return total X3D size of this shape with its attributes*-*-*-*-*-*
*-* =======================================================
Author: Valeri Fine 1999
Last update: root/table:$Name: $:$Id: TPolyLineShape.cxx,v 1.8 2006/07/11 09:05:02 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
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.