library: libGraf3d
#include "TNode.h"

TNode


class description - header file - source file - inheritance tree (.pdf)

class TNode : public TNamed, public TAttLine, public TAttFill, public TAtt3D

Inheritance Chart:
TObject
<-
TNamed
TAttLine
TAttFill
TAtt3D
<-
TNode
<-
G3Node
TNodeDiv

    protected:
TNode(const TNode&) TNode& operator=(const TNode&) public:
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(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 = "") virtual ~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 virtual 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(const Double_t* local, Double_t* master) virtual void Local2Master(const Float_t* local, Float_t* master) virtual void ls(Option_t* option = "2") const virtual void Master2Local(const Double_t* master, Double_t* local) virtual void Master2Local(const 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 SetNameTitle(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(const Double_t* dx1, const Double_t* rmat1, Double_t x, Double_t y, Double_t z, Double_t* matrix, Double_t* dxnew, Double_t* rmatnew)

Data Members


    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 TNode:: kSonsInvisible

Class Description

______________________________________________________________________________
                    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)
 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)
 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
TNode(const TNode& no)
copy constructor
TNode& operator=(const TNode& no)
assignement operator
~TNode()
 Node default destructor.
void Browse(TBrowser *b)
 Browse.
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)
 Return pointer to node with name in the node tree.
char * GetObjectInfo(Int_t, Int_t)
 Get object info.
void ImportShapeAttributes()
 Copy shape attributes as node attributes.
Bool_t IsFolder()
 Return TRUE if node contains nodes, FALSE otherwise.
void Local2Master(const 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(const 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 Master2Local(const 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(const 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 SetNameTitle(const char *name, const char *title)
 Change the name and title of this Node
void SetParent(TNode *parent)
 Set the pointer to the parent, keep parents informed about who they have
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()
 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(const Double_t *dx,const 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
Int_t GetVisibility()
Double_t GetX()
Double_t GetY()
Double_t GetZ()
void SetMatrix(TRotMatrix *matrix=0)
void SetPosition( Double_t x=0, Double_t y=0, Double_t z=0)

Author: Rene Brun 14/09/95
Last update: root/g3d:$Name: $:$Id: TNode.cxx,v 1.31 2006/05/24 15:31:40 brun 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.