TNode
class description - source file - inheritance tree
public:
TNode TNode()
TNode TNode(const char* name, const char* title, const char* shapename, Double_t x = 0, Double_t y = 0, Double_t z = 0, const char* matrixname, Option_t* option)
TNode TNode(const char* name, const char* 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(const char* path = 0)
static 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() const
virtual TRotMatrix* GetMatrix() const
virtual TNode* GetNode(const char* name) const
virtual char* GetObjectInfo(Int_t px, Int_t py) const
const Option_t* GetOption() const
virtual TNode* GetParent() const
TShape* GetShape() const
Int_t GetVisibility() const
virtual Double_t GetX() const
virtual Double_t GetY() const
virtual Double_t GetZ() const
virtual void ImportShapeAttributes()
virtual TClass* IsA() const
virtual Bool_t IsFolder() const
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) const
virtual void Master2Local(Double_t* master, Double_t* local)
virtual void Master2Local(Float_t* master, Float_t* local)
virtual void Paint(Option_t* option)
virtual void RecursiveRemove(TObject* obj)
virtual void SetMatrix(TRotMatrix* matrix = 0)
virtual void SetName(const char* name)
virtual void SetObject(const char* name, const char* title)
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() const
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(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
public:
static const enum TObject:: kSonsInvisible
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 char *name, const char *title, const char *shapename, Double_t x, Double_t y, Double_t z, const char *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 char *name, const char *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 char *)
*-*-*-*-*-*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 char *name) const
*-*-*-*-*-*-*Return pointer to node with name in the node tree*-*-*-*-*
*-* =================================================
char* GetObjectInfo(Int_t, Int_t) const
void ImportShapeAttributes()
*-*-*-*-*-*-*Copy shape attributes as node attributes*-*-*-*-*--*-*-*-*-*-*
*-* ========================================
Bool_t IsFolder() const
*-*-*-*-*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) const
*-*-*-*-*-*-*-*-*-*-*-*List Referenced object with current parameters*-*-*-*
*-* ===============================================
void Master2Local(Double_t *master, Double_t *local)
*-*-*-*-*Convert one point from master system to local 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 Master2Local(Float_t *master, Float_t *local)
*-*-*-*-*Convert one point from master system to local 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 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 char *name)
Change the name of this Node
void SetObject(const char *name, const char *title)
Change the name and title 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() const
TRotMatrix* GetMatrix() const
const Option_t* GetOption() const
TNode* GetParent() const
TShape* GetShape() const
Int_t GetVisibility() const
Double_t GetX() const
Double_t GetY() const
Double_t GetZ() const
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() const
void ShowMembers(TMemberInspector& insp, char* parent)
void StreamerNVirtual(TBuffer& b)
TNode TNode(TNode&)
Author: Rene Brun 14/09/95
Last update: root/g3d:$Name: $:$Id: TNode.cxx,v 1.5 2000/12/13 15:13:48 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
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.