library: libTable #include "TPolyLineShape.h" |
TPolyLineShape
class description - 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
-------------------------------
TPolyLineShape()
TPolyLineShape(TPoints3DABC *points,Option_t* option)
fShape = new TTUBE("tube","tube","void",0.5,0.5);
~TPolyLineShape()
void Create()
Size3D* CreateX3DSize(Bool_t marker)
Int_t SetConnection(EShapeTypes connection)
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 *)
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
forward the ExecuteEvent call to the decorated object
Color_t GetColorAttribute() const
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
Style_t GetStyleAttribute() const
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)
void PaintPoints(Int_t n, Float_t *, Option_t *)
*-*-*-*-*-*-*-*-*Draw this 3-D polyline with new coordinates*-*-*-*-*-*-*-*-*-*
*-* ===========================================
void PaintPolyMarker(Int_t n, Float_t *, Marker_t, Option_t *)
*-*-*-*-*-*-*-*-*Paint polymarker in CurrentPad World coordinates*-*-*-*-*-*-*-*
*-* ================================================
void Paint3d(Option_t *opt)
void PaintX3DLine(Option_t *)
void PaintX3DMarker(Option_t *)
Float_t Product(Float_t *v1, Float_t *v2,Int_t ndim)
Double_t Product(Double_t *v1, Double_t *v2,Int_t ndim)
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 *
************************************************************************
Color_t SetColorAttribute(Color_t color)
Size_t SetSizeAttribute(Size_t size)
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)
Int_t Size() const
void Sizeof3D() const
*-*-*-*-*-*-*Return total X3D size of this shape with its attributes*-*-*-*-*-*
*-* =======================================================
Inline Functions
TShape* GetConnection() const
TPoints3DABC* GetMarker() const
TPoints3DABC* GetPoints() const
TShape* GetShape() const
Bool_t GetSmooth() const
Float_t GetWidthFactor() const
Int_t SetConnection(EShapeTypes connection = kBrik)
void SetSmooth(Bool_t smooth = kTRUE)
void SetWidthFactor(Float_t fact = 1.0)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
TPolyLineShape TPolyLineShape(const TPolyLineShape&)
TPolyLineShape& operator=(const TPolyLineShape&)
Author:
Last update: root/star:$Name: $:$Id: TPolyLineShape.cxx,v 1.4 2005/09/08 05:33:41 brun Exp $
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.