TNode
class description - source file - inheritance tree
public:
TNode TNode()
TNode TNode(Text_t* name, Text_t* title, Text_t* shapename, Double_t x = 0, Double_t y = 0, Double_t z = 0, Text_t* matrixname, Option_t* option)
TNode TNode(Text_t* name, Text_t* title, TShape* shape, Double_t x = 0, Double_t y = 0, Double_t z = 0, TRotMatrix* matrix = 0, Option_t* option)
TNode TNode(TNode&)
virtual void ~TNode()
virtual void Browse(TBrowser* b)
virtual void BuildListOfNodes()
virtual void cd(Text_t* path = 0)
TClass* Class()
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
virtual void Draw(Option_t* option)
virtual void DrawOnly(Option_t* option)
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py)
TList* GetListOfNodes()
virtual TRotMatrix* GetMatrix()
virtual TNode* GetNode(Text_t* name)
virtual Text_t* GetObjectInfo(Int_t px, Int_t py)
virtual const Option_t* GetOption()
virtual TNode* GetParent()
TShape* GetShape()
Int_t GetVisibility()
virtual Double_t GetX()
virtual Double_t GetY()
virtual Double_t GetZ()
virtual void ImportShapeAttributes()
virtual Bool_t Is3D()
virtual TClass* IsA()
virtual Bool_t IsFolder()
virtual void Local2Master(Double_t* local, Double_t* master)
virtual void Local2Master(Float_t* local, Float_t* master)
virtual void ls(Option_t* option = 2)
virtual void Paint(Option_t* option)
virtual void RecursiveRemove(TObject* obj)
virtual void SetMatrix(TRotMatrix* matrix = 0)
virtual void SetName(Text_t* name)
virtual void SetParent(TNode* parent)
virtual void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
virtual void SetVisibility(Int_t vis = 1)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Sizeof3D()
virtual void Streamer(TBuffer& b)
virtual void UpdateMatrix()
virtual void UpdateTempMatrix(Double_t* dx1, Double_t* rmat1, Double_t x, Double_t y, Double_t z, Double_t* matrix, Double_t* dxnew, Double_t* rmatnew)
protected:
Double_t fX X offset with respect to parent object
Double_t fY Y offset with respect to parent object
Double_t fZ Z offset with respect to parent object
TRotMatrix* fMatrix Pointer to rotation matrix
TShape* fShape Pointer to shape definition
TNode* fParent Pointer to parent positioned volume
TList* fNodes List of son nodes (if any)
TString fOption List of options if any
Int_t fVisibility Visibility flag
See also
-
TNodeDiv
*-*-*-*-*-*-*-*-*-*-*-* T N O D E description *-*-*-*-*-*-*-*-*-*-*-*-*
*-* =======================
*-*
*-* A TNode object is used to build the geometry hierarchy (see TGeometry).
*-* A node may contain other nodes.
*-*
*-* A geometry node has attributes:
*-* - name and title
*-* - pointer to the referenced shape (see TShape).
*-* - x,y,z offset with respect to the mother node.
*-* - pointer to the rotation matrix (see TRotMatrix).
*-*
*-* A node can be drawn.
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TNode()
*-*-*-*-*-*-*-*-*-*-*Node default constructor*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ========================
TNode(const Text_t *name, const Text_t *title, const Text_t *shapename, Double_t x, Double_t y, Double_t z, const Text_t *matrixname, Option_t *option)
:TNamed(name,title),TAttLine(), TAttFill()
*-*-*-*-*-*-*-*-*-*-*Node normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ======================
*-*
*-* name is the name of the node
*-* title is title
*-* shapename is the name of the referenced shape
*-* x,y,z are the offsets of the volume with respect to his mother
*-* matrixname is the name of the rotation matrix
*-*
*-* This new node is added into the list of sons of the current node
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TNode(const Text_t *name, const Text_t *title, TShape *shape, Double_t x, Double_t y, Double_t z, TRotMatrix *matrix, Option_t *option)
:TNamed(name,title),TAttLine(),TAttFill()
*-*-*-*-*-*-*-*-*-*-*Node normal constructor*-*-*-*-*-*-*-*-*-*-*
*-* ================================
*-*
*-* name is the name of the node
*-* title is title
*-* shape is the pointer to the shape definition
*-* x,y,z are the offsets of the volume with respect to his mother
*-* matrix is the pointer to the rotation matrix
*-*
*-* This new node is added into the list of sons of the current node
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* The color "1" - default produces a very bad 3D image with OpenGL
~TNode()
*-*-*-*-*-*-*-*-*-*-*Node default destructor*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ======================
void Browse(TBrowser *b)
void BuildListOfNodes()
*-*-*-*-*-*Create the list to support sons of this node*-*-*-*-*-*-*-*-*-*-*
*-* ============================================
void cd(const Text_t *)
*-*-*-*-*-*Change Current Reference node to this*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =====================================
Int_t DistancetoPrimitive(Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*-*-*Compute distance from point px,py to a Node*-*-*-*-*-*
*-* ===========================================
*-* Compute the closest distance of approach from point px,py to this node.
*-* The distance is computed in pixels units.
*-*
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void Draw(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Draw Referenced node with current parameters*-*-*-*
*-* =============================================
void DrawOnly(Option_t *option)
*-*-*-*-*-*-*-*-*-*Draw only Sons of this node*-*-*-*-*-*-*-*-*-*-*-*-*
*-* ===========================
void ExecuteEvent(Int_t, Int_t, Int_t)
*-*-*-*-*-*-*-*-*-*-*Execute action corresponding to one event*-*-*-*
*-* =========================================
*-* This member function must be implemented to realize the action
*-* corresponding to the mouse click on the object in the window
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
TNode* GetNode(const Text_t *name)
*-*-*-*-*-*-*Return pointer to node with name in the node tree*-*-*-*-*
*-* =================================================
Text_t* GetObjectInfo(Int_t, Int_t)
void ImportShapeAttributes()
*-*-*-*-*-*-*Copy shape attributes as node attributes*-*-*-*-*--*-*-*-*-*-*
*-* ========================================
Bool_t IsFolder()
*-*-*-*-*Return TRUE if node contains nodes, FALSE otherwise*-*
*-* ======================================================
void Local2Master(Double_t *local, Double_t *master)
*-*-*-*-*Convert one point from local system to master reference system*-*-*
*-* ==============================================================
Note that before invoking this function, the global rotation matrix
and translation vector for this node must have been computed.
This is automatically done by the Paint functions.
Otherwise TNode::UpdateMatrix should be called before.
void Local2Master(Float_t *local, Float_t *master)
*-*-*-*-*Convert one point from local system to master reference system*-*-*
*-* ==============================================================
Note that before invoking this function, the global rotation matrix
and translation vector for this node must have been computed.
This is automatically done by the Paint functions.
Otherwise TNode::UpdateMatrix should be called before.
void ls(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*List Referenced object with current parameters*-*-*-*
*-* ===============================================
void Paint(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Paint Referenced node with current parameters*-*-*-*
*-* ==============================================
*-*
*-* vis = 1 (default) shape is drawn
*-* vis = 0 shape is not drawn but its sons may be not drawn
*-* vis = -1 shape is not drawn. Its sons are not drawn
*-* vis = -2 shape is drawn. Its sons are not drawn
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void RecursiveRemove(TObject *obj)
*-*-*-*-*Recursively remove object from the list of nodes of this node*-*-*-*
*-* =============================================================
void SetName(const Text_t *name)
*-*-*-*-*-*-*-*-*-*-*Change the name of this Node*-*-*-*-*-*-*-*-*-*-*
*-* ============================
void SetVisibility(Int_t vis)
*-*-*-*-*-*-*Set visibility for this node and its sons*-*-*-*-*--*-*-*-*-*-*
*-* =========================================
*-* vis = 3 node is drawn and its sons are drawn
*-* vis = 2 node is not drawn but its sons are drawn
*-* vis = 1 (default) node is drawn
*-* vis = 0 node is not drawn
*-* vis = -1 node is not drawn. Its sons are not drawn
*-* vis = -2 node is drawn. Its sons are not drawn
*-* vis = -3 Only node leaves are drawn
*-* vis = -4 Node is not drawn. Its immediate sons are drawn
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
void Sizeof3D() const
*-*-*-*-*-*-*Return total size of this 3-D Node with its attributes*-*-*
*-* ==========================================================
void Streamer(TBuffer &b)
*-*-*-*-*-*-*-*-*Stream a class object*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-* =========================================
void UpdateMatrix()
Update global rotation matrix/translation vector for this node
this function must be called before invoking Local2Master
void UpdateTempMatrix(Double_t *dx,Double_t *rmat
, Double_t x, Double_t y, Double_t z, Double_t *matrix
, Double_t *dxnew, Double_t *rmatnew)
*-*-*-*-*-*-*Compute new translation vector and global matrix*-*-*-*-*-*-*-*
*-* ================================================
*-*
*-* dx old translation vector
*-* rmat old global matrix
*-* x,y,z offset of new local system with respect to mother
*-* dxnew new translation vector
*-* rmatnew new global rotation matrix
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Inline Functions
TList* GetListOfNodes()
TRotMatrix* GetMatrix()
const Option_t* GetOption()
TNode* GetParent()
TShape* GetShape()
Int_t GetVisibility()
Double_t GetX()
Double_t GetY()
Double_t GetZ()
Bool_t Is3D()
void SetMatrix(TRotMatrix* matrix = 0)
void SetParent(TNode* parent)
void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
TClass* Class()
TClass* IsA()
void ShowMembers(TMemberInspector& insp, char* parent)
TNode TNode(TNode&)
Author: Rene Brun 14/09/95
Last update: 2.22/01 17/04/99 07.50.09 by Rene Brun
Copyright (c) 1995-1999, The ROOT System, All rights reserved. *
ROOT page - Class index - 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.