Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.16/01
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TVolumeView.h
Go to the documentation of this file.
1// @(#)root/table:$Id$
2// Author: Valery Fine(fine@bnl.gov) 25/12/98
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11#ifndef ROOT_TVolumeView
12#define ROOT_TVolumeView
13
14#include <assert.h>
15
16#include "TVolume.h"
17
18//////////////////////////////////////////////////////////////////////////
19// //
20// TVolumeView //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24// typedef TVolumeView TNodeView;
25
26class TVolumeView : public TObjectSet, public TAtt3D {
27protected:
28 TList *fListOfShapes; //Pointer to the list of the "extra" shape definitions
29
30 virtual void PaintShape(Option_t *option);
31 TVolumeView(TVolumeView &viewNode);
32
33
34public:
36 TVolumeView(TVolumeView *viewNode,TVolumePosition *nodePosition=0);
37 TVolumeView(TVolumeView *viewNode,const Char_t *NodeName1,const Char_t *NodeName2=0);
38 TVolumeView(TVolumeView *viewNode,TVolumeView *topNode);
39 TVolumeView(TVolumeView *viewNode,const TVolumeView *node1,const TVolumeView *node2);
40 TVolumeView(TVolume &pattern,Int_t maxDepLevel=0,const TVolumePosition *nodePosition=0,EDataSetPass iopt=kMarked,TVolumeView *root=0);
41 TVolumeView(Double_t *translate, Double_t *rotate, UInt_t positionId, TVolume *thisNode,
42 const Char_t *thisNodePath, const Char_t *matrixName=0, Int_t matrixType=0);
43 TVolumeView(TVolume *thisNode,TVolumePosition *nodePosition);
44 virtual ~TVolumeView();
45 virtual TVolume *AddNode(TVolume *node);
46 virtual void Add(TDataSet *dataset);
47 virtual void Add(TVolumeView *node);
48 virtual void Add(TShape *shape, Bool_t IsMaster=kFALSE);
49 virtual void Browse(TBrowser *b);
50 virtual void Draw(Option_t *depth="3"); // *MENU*
51 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
52 virtual TVolumePosition *GetPosition() const { return (TVolumePosition *)GetObject();}
53 virtual TVolume *GetNode() const ;
54 virtual Int_t GetGlobalRange(const TVolumeView *rootNode,Float_t *min, Float_t *max);
55 virtual TList *GetListOfShapes() const;
56 virtual void GetLocalRange(Float_t *min, Float_t *max);
57 virtual char *GetObjectInfo(Int_t px, Int_t py) const;
58 virtual TShape *GetShape() const;
59 virtual Int_t GetVisibility() const;
60 virtual Bool_t IsMarked() const;
61 virtual Bool_t Is3D() const {return kTRUE;}
62 virtual TVolumePosition *Local2Master(const TVolumeView *localNode,const TVolumeView *masterNode=0);
63 virtual TVolumePosition *Local2Master(const Char_t *localName, const Char_t *masterName=0);
64 virtual Float_t *Local2Master(const Float_t *local, Float_t *master,
65 const Char_t *localName, const Char_t *masterName=0, Int_t nVector=1);
66 virtual Float_t *Local2Master(const Float_t *local, Float_t *master,
67 const TVolumeView *localNode,
68 const TVolumeView *masterNode=0, Int_t nVector=1);
69 virtual TList *Nodes(){ return GetList();}
70 virtual void Paint(Option_t *option="");
71 virtual TString PathP() const;
72 virtual void SetLineAttributes(); // *MENU*
73 virtual void SavePrimitive(std::ostream &out, Option_t *option="");
74 virtual void SetVisibility(Int_t vis=1); // *MENU*
75 virtual void Sizeof3D() const;
76 ClassDef(TVolumeView,1) // Special kind of TDataSet
77};
78
79inline void TVolumeView::Add(TDataSet * /*dataset*/){ assert(0);}
80inline void TVolumeView::Add(TVolumeView *node){ TDataSet::Add(node);}
81inline Bool_t TVolumeView::IsMarked() const { return TestBit(kMark); }
84 {return fListOfShapes ? (TShape *)fListOfShapes->First():0;}
86
87#endif
88
#define b(i)
Definition: RSha256.hxx:100
int Int_t
Definition: RtypesCore.h:41
char Char_t
Definition: RtypesCore.h:29
unsigned int UInt_t
Definition: RtypesCore.h:42
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
const Bool_t kTRUE
Definition: RtypesCore.h:87
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
Use this attribute class when an object should have 3D capabilities.
Definition: TAtt3D.h:19
Using a TBrowser one can browse all ROOT objects.
Definition: TBrowser.h:37
TList * GetList() const
Definition: TDataSet.h:106
EDataSetPass
Definition: TDataSet.h:40
@ kMarked
Definition: TDataSet.h:48
virtual void Add(TDataSet *dataset)
Definition: TDataSet.h:150
@ kMark
Definition: TDataSet.h:75
A doubly linked list.
Definition: TList.h:44
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
Definition: TList.cxx:655
virtual TObject * GetObject() const
The depricated method (left here for the sake of the backward compatibility)
Definition: TObjectSet.h:56
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
Definition: TObject.h:172
This is the base class for all geometry shapes.
Definition: TShape.h:35
Basic string class.
Definition: TString.h:131
virtual void Paint(Option_t *option="")
Paint Referenced node with current parameters.
virtual ~TVolumeView()
default dtor (empty for this class)
virtual void Draw(Option_t *depth="3")
Draw Referenced node with current parameters.
virtual void PaintShape(Option_t *option)
Paint shape of the node To be called from the TObject::Paint method only.
virtual TVolumePosition * Local2Master(const TVolumeView *localNode, const TVolumeView *masterNode=0)
to be documented
virtual TVolume * AddNode(TVolume *node)
Add the TVolume in the Tnode data-structure refered by this TVolumeView object Return TVolume * the i...
virtual Bool_t IsMarked() const
Definition: TVolumeView.h:81
virtual TList * Nodes()
Definition: TVolumeView.h:69
virtual void GetLocalRange(Float_t *min, Float_t *max)
GetRange.
virtual void Sizeof3D() const
Return total size of this 3-D Node with its attributes.
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
to be documented
virtual TString PathP() const
return the full path of this data set
virtual TShape * GetShape() const
Definition: TVolumeView.h:83
virtual TVolumePosition * GetPosition() const
Definition: TVolumeView.h:52
virtual void Browse(TBrowser *b)
to be documented
virtual TList * GetListOfShapes() const
Definition: TVolumeView.h:82
virtual 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.
virtual void SetLineAttributes()
to be documented
virtual char * GetObjectInfo(Int_t px, Int_t py) const
to be documented
TList * fListOfShapes
Definition: TVolumeView.h:28
virtual TVolume * GetNode() const
to be documented
virtual void SetVisibility(Int_t vis=1)
to be documented
virtual void Add(TDataSet *dataset)
Definition: TVolumeView.h:79
virtual Bool_t Is3D() const
Definition: TVolumeView.h:61
virtual Int_t GetVisibility() const
Definition: TVolumeView.h:85
virtual Int_t DistancetoPrimitive(Int_t px, Int_t py)
Compute distance from point px,py to a TVolumeView.
virtual ENodeSEEN GetVisibility() const
Definition: TVolume.h:82