ROOT logo
ROOT » GRAF3D » G3D » TNode

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

                    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.

Function Members (Methods)

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()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBrowse(TBrowser* b)
virtual voidTObject::Browse(TBrowser* b)
virtual voidBuildListOfNodes()
virtual voidcd(const char* path = 0)MENU
static TClass*Class()
static TClass*TAtt3D::Class()
static TClass*TAttFill::Class()
static TClass*TAttLine::Class()
static TClass*TNamed::Class()
static TClass*TObject::Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidDraw(Option_t* option = "")MENU
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidDrawOnly(Option_t* option = "")
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*GetListOfNodes() const
virtual TRotMatrix*GetMatrix() const
virtual const char*TNamed::GetName() const
virtual const char*TObject::GetName() const
virtual TNode*GetNode(const char* name) const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*GetOption() const
virtual TNode*GetParent() const
TShape*GetShape() const
virtual const char*TNamed::GetTitle() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Int_tGetVisibility() const
virtual Double_tGetX() const
virtual Double_tGetY() const
virtual Double_tGetZ() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidImportShapeAttributes()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual TClass*TAtt3D::IsA() const
virtual TClass*TAttFill::IsA() const
virtual TClass*TAttLine::IsA() const
virtual TClass*TNamed::IsA() const
virtual TClass*TObject::IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTObject::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidLocal2Master(const Double_t* local, Double_t* master)
virtual voidLocal2Master(const Float_t* local, Float_t* master)
virtual voidls(Option_t* option = "2") constMENU
virtual voidTNamed::ls(Option_t* option = "") const
virtual voidTObject::ls(Option_t* option = "") const
virtual voidMaster2Local(const Double_t* master, Double_t* local)
virtual voidMaster2Local(const Float_t* master, Float_t* local)
voidTObject::MayNotUse(const char* method) const
virtual voidTAttFill::Modify()
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TNamed&TNamed::operator=(const TNamed& rhs)
TObject&TObject::operator=(const TObject& rhs)
virtual voidPaint(Option_t* option = "")
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidRecursiveRemove(TObject* obj)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidSetMatrix(TRotMatrix* matrix = 0)
virtual voidSetName(const char* name)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidSetNameTitle(const char* name, const char* title)
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidSetParent(TNode* parent)
virtual voidSetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVisibility(Int_t vis = 1)MENU
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTAtt3D::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTAttFill::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTAttLine::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTNamed::ShowMembers(TMemberInspector& insp, char* parent)
virtual voidTObject::ShowMembers(TMemberInspector& insp, char* parent)
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() const
virtual voidTAtt3D::Sizeof3D() const
virtual voidStreamer(TBuffer& b)
virtual voidTAtt3D::Streamer(TBuffer& b)
virtual voidTAttFill::Streamer(TBuffer& b)
virtual voidTAttLine::Streamer(TBuffer& b)
virtual voidTNamed::Streamer(TBuffer& b)
virtual voidTObject::Streamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTAtt3D::StreamerNVirtual(TBuffer& b)
voidTAttFill::StreamerNVirtual(TBuffer& b)
voidTAttLine::StreamerNVirtual(TBuffer& b)
voidTNamed::StreamerNVirtual(TBuffer& b)
voidTObject::StreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidUpdateMatrix()
virtual voidUpdateTempMatrix(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)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TNode(const TNode&)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
TNode&operator=(const TNode&)

Data Members

private:
enum { kSonsInvisible
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TRotMatrix*fMatrixPointer to rotation matrix
TStringTNamed::fNameobject identifier
TList*fNodesList of son nodes (if any)
TStringfOptionList of options if any
TNode*fParentPointer to parent positioned volume
TShape*fShapePointer to shape definition
TStringTNamed::fTitleobject title
Int_tfVisibilityVisibility flag
Double_tfXX offset with respect to parent object
Double_tfYY offset with respect to parent object
Double_tfZZ offset with respect to parent object

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

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& )
copy constructor
TNode& operator=(const TNode& )
assignement operator
~TNode()
 Node default destructor.
void Browse(TBrowser* b)
void BuildListOfNodes()
 Create the list to support sons of this node.
void cd(const char* path = 0)
 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 event, Int_t px, Int_t py)
 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 px, Int_t py) const
 Get object info.
void ImportShapeAttributes()
 Copy shape attributes as node attributes.
Bool_t IsFolder() const
 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 = "2") const
 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 = 1)
 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(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)
 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
TList * GetListOfNodes() const
{return fNodes;}
TRotMatrix * GetMatrix() const
{return fMatrix;}
const Option_t * GetOption() const
{ return fOption.Data();}
TNode * GetParent() const
{return fParent;}
TShape * GetShape() const
{return fShape;}
Int_t GetVisibility() const
{return fVisibility;}
Double_t GetX() const
{return fX;}
Double_t GetY() const
{return fY;}
Double_t GetZ() const
{return fZ;}
void SetMatrix(TRotMatrix* matrix = 0)
{fMatrix = matrix;}
void SetPosition(Double_t x = 0, Double_t y = 0, Double_t z = 0)
{fX=x; fY=y; fZ=z;}