TVolumeView
class description - source file - inheritance tree (.pdf)
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)
protected:
TList* fListOfShapes Pointer to the list of the "extra" shape definitions
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.