ROOT logo
ROOT » MISC » TABLE » TVolumeView

class TVolumeView: public TObjectSet, public TAtt3D


TVolumeView

TVolumeView class is a special kind of TDataSet with one extra
pointer to wrap any TObject onto TDataSet object

BE CAREFUL !!!
One has to use it carefully no control over that extra object
  is performed. This means: the object m_Obj data-member points to can
be destroyed with no this kbject notifying.
There is no tool /protection to check whether m_Obj is till alive.
It is one's  code responsilitiy


Function Members (Methods)

public:
TVolumeView()
TVolumeView(TVolumeView* viewNode, TVolumePosition* nodePosition = 0)
TVolumeView(TVolumeView* viewNode, TVolumeView* topNode)
TVolumeView(TVolume* thisNode, TVolumePosition* nodePosition)
TVolumeView(TVolumeView* viewNode, const Char_t* NodeName1, const Char_t* NodeName2 = 0)
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)
virtual~TVolumeView()
voidTObject::AbstractMethod(const char* method) const
virtual voidAdd(TDataSet* dataset)
virtual voidAdd(TVolumeView* node)
virtual voidAdd(TShape* shape, Bool_t IsMaster = kFALSE)
virtual voidTDataSet::AddAt(TDataSet* dataset, Int_t idx = 0)
virtual voidTDataSet::AddAtAndExpand(TDataSet* dataset, Int_t idx = 0)
virtual voidTDataSet::AddFirst(TDataSet* dataset)
virtual voidTDataSet::AddLast(TDataSet* dataset)
virtual TVolume*AddNode(TVolume* node)
virtual TObject*TObjectSet::AddObject(TObject* obj, Bool_t makeOwner = kTRUE)
virtual voidTObject::AppendPad(Option_t* option = "")
TDataSet*TDataSet::At(Int_t idx) const
virtual voidBrowse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TDataSet::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObjectSet::Delete(Option_t* opt = "")
virtual Int_tDistancetoPrimitive(Int_t px, Int_t py)
virtual Bool_tTObjectSet::DoOwner(Bool_t done = kTRUE)
virtual voidDraw(Option_t* depth = "3")MENU
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
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 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 TDataSet*TDataSet::Find(const char* path) const
virtual TDataSet*TDataSet::FindByName(const char* name, const char* path = "", Option_t* opt = "") const
virtual TDataSet*TDataSet::FindByPath(const char* path) const
virtual TDataSet*TDataSet::FindByTitle(const char* title, const char* path = "", Option_t* opt = "") const
virtual TObject*TDataSet::FindObject(const char* name) const
virtual TObject*TDataSet::FindObject(const TObject* o) const
virtual TDataSet*TDataSet::First() const
virtual TSeqCollection*TDataSet::GetCollection() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetGlobalRange(const TVolumeView* rootNode, Float_t* min, Float_t* max)
virtual const char*TObject::GetIconName() const
TList*TDataSet::GetList() const
virtual TList*GetListOfShapes() const
virtual Int_tTDataSet::GetListSize() const
virtual voidGetLocalRange(Float_t* min, Float_t* max)
static TDataSet*TDataSet::GetMainSet()
TObject*TDataSet::GetMother() const
virtual const char*TNamed::GetName() const
virtual TVolume*GetNode() const
TObjArray*TDataSet::GetObjArray() const
virtual TObject*TObjectSet::GetObject() const
virtual char*GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TDataSet*TDataSet::GetParent() const
virtual TVolumePosition*GetPosition() const
virtual TShape*GetShape() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Int_tGetVisibility() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Long_tTObjectSet::HasData() const
virtual ULong_tTNamed::Hash() const
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
virtual TDataSet*TObjectSet::Instance() const
static TObjectSet*TObjectSet::instance()
voidTDataSet::InvertAllMarks()MENU
voidTObject::InvertBit(UInt_t f)
virtual Bool_tIs3D() const
virtual TClass*IsA() const
virtual Bool_tTDataSet::IsEmpty() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTDataSet::IsFolder() const
virtual Bool_tIsMarked() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObjectSet::IsOwner() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTDataSet::IsThisDir(const char* dirname, int len = -1, int ignorecase = 0) const
Bool_tTObject::IsZombie() const
virtual TDataSet*TDataSet::Last() 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 voidTDataSet::ls(Option_t* option = "") const
virtual voidTDataSet::ls(Int_t depth) const
voidTDataSet::Mark()MENU
voidTDataSet::Mark(UInt_t flag, TDataSet::EBitOpt reset = kSet)
voidTDataSet::MarkAll()MENU
voidTObject::MayNotUse(const char* method) const
virtual TDataSet*TDataSet::Next() const
virtual TList*Nodes()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
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)
virtual voidPaint(Option_t* option = "")
virtual TDataSet::EDataSetPassTDataSet::Pass(void callback, Int_t depth = 0)
virtual TDataSet::EDataSetPassTDataSet::Pass(void callback, void* user, Int_t depth = 0)
virtual TStringTDataSet::Path() const
virtual TStringPathP() const
virtual voidTObject::Pop()
virtual TDataSet*TDataSet::Prev() const
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidTDataSet::PrintContents(Option_t* opt = "") const
virtual Int_tTDataSet::Purge(Option_t* opt = "")
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTDataSet::Remove(TDataSet* set)
virtual TDataSet*TDataSet::RemoveAt(Int_t idx)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidSavePrimitive(ostream& 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 voidSetLineAttributes()MENU
virtual voidTDataSet::SetMother(TDataSet* parent = 0)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
virtual voidTObjectSet::SetObject(TObject* obj)
virtual TObject*TObjectSet::SetObject(TObject* obj, Bool_t makeOwner)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTDataSet::SetParent(TDataSet* parent = 0)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidSetVisibility(Int_t vis = 1)MENU
virtual voidTDataSet::SetWrite()
virtual voidShowMembers(TMemberInspector& insp)
virtual voidTDataSet::Shunt(TDataSet* newParent = 0)
virtual Int_tTNamed::Sizeof() const
virtual voidSizeof3D() const
virtual voidTDataSet::Sort()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(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
voidTDataSet::UnMark()MENU
voidTDataSet::UnMarkAll()MENU
virtual voidTDataSet::Update()
virtual voidTDataSet::Update(TDataSet* set, UInt_t opt = 0)
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTDataSet::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTDataSet::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TVolumeView(TVolumeView& viewNode)
voidTDataSet::AddMain(TDataSet* set)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TDataSet*TDataSet::GetRealParent()
voidTDataSet::MakeCollection()
voidTObject::MakeZombie()
virtual voidPaintShape(Option_t* option)
virtual voidTDataSet::SetMother(TObject* mother)
static TDataSet::EDataSetPassTDataSet::SortIt(TDataSet* ds)
static TDataSet::EDataSetPassTDataSet::SortIt(TDataSet* ds, void* user)

Data Members

public:
enum TObjectSet::EOwnerBits { kIsOwner
};
enum TDataSet::EDataSetPass { kContinue
kPrune
kStop
kUp
kStruct
kAll
kRefs
kMarked
};
enum TDataSet::ESetBits { kMark
kArray
};
enum TDataSet::EBitOpt { kSet
kReset
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TSeqCollection*TDataSet::fListList of the the the objects included into this dataset
TList*fListOfShapesPointer to the list of the "extra" shape definitions
TStringTNamed::fNameobject identifier
TObject*TObjectSet::fObjTObject to be inserted
TDataSet*TDataSet::fParentpointer to mother of the directory
TStringTNamed::fTitleobject title
static TDataSet*TDataSet::fgMainSetpointer the main dataset;

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TVolumeView(TVolumeView* viewNode, TVolumePosition* nodePosition = 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)
             ,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 = 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)
             ,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 = 0, const TVolumePosition* nodePosition = 0, TDataSet::EDataSetPass iopt = kMarked, TVolumeView* root = 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)
to be documented
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)
 : fListOfAttributes(0)
 Special ctor to back TVolumeView::SavePrimitive() method
TVolumeView(TVolume* thisNode, TVolumePosition* nodePosition)
to be documented
~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 = kFALSE)
to be documented
void Browse(TBrowser* b)
to be documented
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* depth = "3")
-*-*-*-*-*-*-*-*Draw Referenced node with current parameters
*-*                   =============================================
TVolume * GetNode() const
to be documented
Int_t GetGlobalRange(const TVolumeView* rootNode, Float_t* min, Float_t* max)
 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

char * GetObjectInfo(Int_t px, Int_t py) const
to be documented
TVolumePosition * Local2Master(const Char_t* localName, const Char_t* masterName = 0)
to be documented
TVolumePosition * Local2Master(const TVolumeView* localNode, const TVolumeView* masterNode = 0)
to be documented
Float_t * Local2Master(const Float_t* local, Float_t* master, const Char_t* localName, const Char_t* masterName = 0, Int_t nVector = 1)
 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 = 0, Int_t nVector = 1)
 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(ostream& out, Option_t* option = "")
to be documented
void SetLineAttributes()
to be documented
void SetVisibility(Int_t vis = 1)
to be documented
void Sizeof3D() const
-*-*-*-*Return total size of this 3-D Node with its attributes
*-*          ==========================================================
void Add(TDataSet* dataset)
{ assert(0);}
void Add(TVolumeView* node)
{ TDataSet::Add(node);}
Bool_t IsMarked() const
{ return TestBit(kMark); }
TList * GetListOfShapes() const
{return fListOfShapes;}
TShape * GetShape() const
{return fListOfShapes ? (TShape *)fListOfShapes->First():0;}
Int_t GetVisibility() const
{return GetNode() ? GetNode()->GetVisibility():0;}
TVolumeView(TVolumeView& viewNode)
TVolumePosition * GetPosition() const
{ return (TVolumePosition *)GetObject();}
Bool_t Is3D() const
{return kTRUE;}
TList * Nodes()
{ return GetList();}