#include "TVolumeView.h"

TVolumeView


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

class TVolumeView : public TObjectSet, public TAtt3D

Inheritance Chart:
TObject
<-
TNamed
<-
TDataSet
<-
TObjectSet
TAtt3D
<-
TVolumeView

    protected:
TVolumeView(TVolumeView& viewNode) virtual void PaintShape(Option_t* option) public:
TVolumeView() TVolumeView(TVolumeView* viewNode, TVolumePosition* nodePosition = 0) TVolumeView(TVolumeView* viewNode, const Char_t* NodeName1, const Char_t* NodeName2 = "0") TVolumeView(TVolumeView* viewNode, TVolumeView* topNode) TVolumeView(TVolumeView* viewNode, const TVolumeView* node1, const TVolumeView* node2) TVolumeView(TVolume& pattern, Int_t maxDepLevel = 0, const TVolumePosition* nodePosition = 0, TDataSet::EDataSetPass iopt = kMarked, TVolumeView* root = 0) TVolumeView(Double_t* translate, Double_t* rotate, UInt_t positionId, TVolume* thisNode, const Char_t* thisNodePath, const Char_t* matrixName = "0", Int_t matrixType = 0) TVolumeView(TVolume* thisNode, TVolumePosition* nodePosition) virtual ~TVolumeView() virtual void Add(TDataSet* dataset) virtual void Add(TVolumeView* node) virtual void Add(TShape* shape, Bool_t IsMaster = kFALSE) virtual TVolume* AddNode(TVolume* node) virtual void Browse(TBrowser* b) static TClass* Class() virtual Int_t DistancetoPrimitive(Int_t px, Int_t py) virtual void Draw(Option_t* depth = "3") virtual Int_t GetGlobalRange(const TVolumeView* rootNode, Float_t* min, Float_t* max) virtual TList* GetListOfShapes() const virtual void GetLocalRange(Float_t* min, Float_t* max) virtual TVolume* GetNode() const virtual Text_t* GetObjectInfo(Int_t px, Int_t py) const virtual TVolumePosition* GetPosition() const virtual TShape* GetShape() const virtual Int_t GetVisibility() const virtual Bool_t Is3D() const virtual TClass* IsA() const virtual Bool_t IsMarked() const virtual TVolumePosition* Local2Master(const TVolumeView* localNode, const TVolumeView* masterNode = 0) virtual TVolumePosition* Local2Master(const Char_t* localName, const Char_t* masterName = "0") virtual Float_t* Local2Master(const Float_t* local, Float_t* master, const Char_t* localName, const Char_t* masterName = "0", Int_t nVector = 1) virtual Float_t* Local2Master(const Float_t* local, Float_t* master, const TVolumeView* localNode, const TVolumeView* masterNode = 0, Int_t nVector = 1) virtual TList* Nodes() virtual void Paint(Option_t* option) virtual TString PathP() const virtual void SavePrimitive(ofstream& out, Option_t* option) virtual void SetLineAttributes() 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)

Data Members


    protected:
TList* fListOfShapes Pointer to the list of the "extra" shape definitions

Class Description


TVolumeView(TVolumeView *viewNode,TVolumePosition *nodePosition) : TObjectSet(viewNode->GetName(),(TObject *)nodePosition),fListOfShapes(0) // ,fListOfAttributes(0)
 This ctor creates a TVolumeView structure from the "marked" nodes
 of the "viewNode" input structure
 It re-calculates all positions according of the new topology
 All new TVolume became UNMARKED though


TVolumeView(TVolumeView *viewNode,TVolumeView *topNode) : TObjectSet(viewNode->GetName(),(TObject *)0),fListOfShapes(0) // ,fListOfAttributes(0)
 This ctor creates a TVolumeView structure containing:

   - viewNode on the top
   - skip ALL node from the original viewNode untill topNode found
   - include all "marked" node below "topNode" if any
     topNode is always included

 It re-calculates all positions according of the new topology


TVolumeView(TVolumeView *viewNode,const Char_t *nodeName1,const Char_t *nodeName2) : TObjectSet(viewNode->GetName(),(TObject *)0),fListOfShapes(0) // ,fListOfAttributes(0)
 This ctor creates a TVolumeView structure containing:

   - viewNode on the top
   - skip ALL node from the original viewNode untill topNodeName found
   - include all "marked" node below "topNodename" if any
     topNodeName is always included

 It re-calculates all positions according of the new topology


TVolumeView(TVolumeView *viewNode,const TVolumeView *node1,const TVolumeView *node2) : TObjectSet(viewNode->GetName(),(TObject *)0),fListOfShapes(0) // ,fListOfAttributes(0)
 This ctor creates a TVolumeView structure containing:

   - viewNode on the top
   - skip ALL node from the original viewNode untill topNodeName found
   - include all "marked" node below "topNodename" if any
     topNodeName is always included

 It re-calculates all positions according of the new topology


TVolumeView(TVolume &pattern,Int_t maxDepLevel, const TVolumePosition *nodePosition,EDataSetPass iopt, TVolumeView *rootVolume) : TObjectSet(pattern.GetName(),(TObject *)nodePosition),fListOfShapes(0)
 Creates TVolumeView (view) with a topology similar with TVolume *pattern

  Parameters:
  -----------
  pattern        - the pattern dataset
  iopt = kStruct - clone only my structural links
         kAll    - clone all links
         kRefs   - clone only refs
         kMarked - clone marked (not implemented yet) only

   All new-created sets become the structural ones anyway.

  cout << "ctor for " << GetName() << " - " << GetTitle() << endl;

TVolumeView(TVolumeView &viewNode): TObjectSet(viewNode.GetName(),(TObject *)viewNode.GetPosition()) ,TAtt3D() ,fListOfShapes(viewNode.GetListOfShapes())

TVolumeView(Double_t *translate, Double_t *rotate, UInt_t positionId, TVolume *topNode, const Char_t *thisNodePath, const Char_t *matrixName, Int_t matrixType) // : fListOfAttributes(0)
 Special ctor to back TVolumeView::SavePrimitive() method

TVolumeView(TVolume *thisNode,TVolumePosition *nodePosition) : TObjectSet(thisNode?thisNode->GetName():"",(TObject *)nodePosition),fListOfShapes(0)

~TVolumeView()
 default dtor (empty for this class)

TVolume* AddNode(TVolume *node)
 Add the TVolume in the Tnode data-structure refered
 by this TVolumeView object
 Return TVolume * the input TVolume * was attached to

void Add(TShape *shape, Bool_t IsMaster)

void Browse(TBrowser *b)

Int_t DistancetoPrimitive(Int_t px, Int_t py)
*-*-*-*-*-*-*-*-*Compute distance from point px,py to a TVolumeView*-*-*-*-*-*
*-*                  ===========================================
*-*  Compute the closest distance of approach from point px,py to the position of
*-*  this node.
*-*  The distance is computed in pixels units.
*-*
*-*  It is restricted by 2 levels of TVolumes
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

void Draw(Option_t *option)
*-*-*-*-*-*-*-*-*-*-*-*Draw Referenced node with current parameters*-*-*-*
*-*                   =============================================

TVolume* GetNode() const

Int_t GetGlobalRange(const TVolumeView *rootNode,Float_t *globalMin,Float_t *globalMax)
 Calculate the position of the vertrex of the outlined cube in repect
 of the given TVolumeView object


void GetLocalRange(Float_t *min, Float_t *max)
  GetRange

  Calculates the size of 3 box the node occupies.
  Return:
    two floating point arrays with the bound of box
     surroundind all shapes of this TModeView


Text_t* GetObjectInfo(Int_t px, Int_t py) const

TVolumePosition* Local2Master(const Char_t *localName, const Char_t *masterName)

TVolumePosition* Local2Master(const TVolumeView *localNode,const TVolumeView *masterNode)

Float_t* Local2Master(const Float_t *local, Float_t *master, const Char_t *localName, const Char_t *masterName, Int_t nVector)
 calculate  transformation  master = (M-local->master )*local + (T-local->master )
  where
     M-local->master - rotation matrix 3 x 3 from the master node to the local node
     T-local->master - trasport vector 3 from the master node to the local node

 returns a "master" pointer if transformation has been found
        otherwise 0;


Float_t* Local2Master(const Float_t *local, Float_t *master, const TVolumeView *localNode, const TVolumeView *masterNode, Int_t nVector)
 calculate  transformation  master = (M-local->master )*local + (T-local->master )
  where
     M-local->master - rotation matrix 3 x 3 from the master node to the local node
     T-local->master - trasport vector 3 from the master node to the local node

 returns a "master" pointer if transformation has been found
        otherwise 0;


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
*-*
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

 It draw the TVolumeView layers from the iFirst one (form the zero) till
 iLast one reached.

 restrict the levels for "range" option

void PaintShape(Option_t *option)
 Paint shape of the node
 To be called from the TObject::Paint method only

TString PathP() const
 return the full path of this data set

void SavePrimitive(ofstream &out, Option_t *)

void SetLineAttributes()

void SetVisibility(Int_t vis)

void Sizeof3D() const
*-*-*-*-*-*-*Return total size of this 3-D Node with its attributes*-*-*
*-*          ==========================================================



Inline Functions


             TVolumeView TVolumeView(TVolume* thisNode, TVolumePosition* nodePosition)
                    void Add(TVolumeView* node)
                    void Add(TShape* shape, Bool_t IsMaster = kFALSE)
        TVolumePosition* GetPosition() const
                  TList* GetListOfShapes() const
                 TShape* GetShape() const
                   Int_t GetVisibility() const
                  Bool_t IsMarked() const
                  Bool_t Is3D() const
                  TList* Nodes()
                 TClass* Class()
                 TClass* IsA() const
                    void ShowMembers(TMemberInspector& insp, char* parent)
                    void Streamer(TBuffer& b)
                    void StreamerNVirtual(TBuffer& b)


Author: Valery Fine(fine@bnl.gov) 25/12/98
Last update: root/star:$Name: $:$Id: TVolumeView.cxx,v 1.11 2005/05/02 17:53:58 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.