ROOT
6.16/01
Reference Guide
graf3d
eve
src
TEveGeoShapeExtract.cxx
Go to the documentation of this file.
1
// @(#)root/eve:$Id$
2
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4
/*************************************************************************
5
* Copyright (C) 1995-2007, 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
12
#include "
TEveGeoShapeExtract.h
"
13
#include "
TEveGeoNode.h
"
14
#include "
TEveGeoShape.h
"
15
16
#include "
TList.h
"
17
#include "
TGeoManager.h
"
18
#include "
TGeoShape.h
"
19
20
/** \class TEveGeoShapeExtract
21
\ingroup TEve
22
Globally positioned TGeoShape with rendering attributes and an
23
optional list of daughter shape-extracts.
24
25
Vessel to carry hand-picked geometry from gled to reve.
26
This class exists in both frameworks.
27
*/
28
29
ClassImp
(
TEveGeoShapeExtract
);
30
31
////////////////////////////////////////////////////////////////////////////////
32
/// Constructor.
33
34
TEveGeoShapeExtract::TEveGeoShapeExtract
(
const
char
*
n
,
const
char
* t) :
35
TNamed
(
n
,t),
36
fRnrSelf (
kTRUE
),
37
fRnrElements (
kTRUE
),
38
fRnrFrame (
kTRUE
),
39
fMiniFrame (
kTRUE
),
40
fShape (0),
41
fElements (0)
42
{
43
memset(
fTrans
, 0,
sizeof
(
fTrans
));
44
fTrans
[0] =
fTrans
[5] =
fTrans
[10] =
fTrans
[15] = 1;
45
fRGBA
[0] =
fRGBA
[1] =
fRGBA
[2] =
fRGBA
[3] = 1;
46
fRGBALine
[0] =
fRGBALine
[1] =
fRGBALine
[2] = 0;
fRGBALine
[3] = 1;
47
}
48
49
////////////////////////////////////////////////////////////////////////////////
50
/// Destructor. Delete shape and elements.
51
52
TEveGeoShapeExtract::~TEveGeoShapeExtract
()
53
{
54
delete
fShape
;
55
delete
fElements
;
56
}
57
58
////////////////////////////////////////////////////////////////////////////////
59
/// True if has at least one element.
60
61
Bool_t
TEveGeoShapeExtract::HasElements
()
62
{
63
return
fElements
!= 0 &&
fElements
->
GetSize
() > 0;
64
}
65
66
////////////////////////////////////////////////////////////////////////////////
67
/// Add a child element.
68
69
void
TEveGeoShapeExtract::AddElement
(
TEveGeoShapeExtract
* gse)
70
{
71
if
(
fElements
== 0)
72
fElements
=
new
TList
;
73
74
fElements
->
Add
(gse);
75
}
76
77
////////////////////////////////////////////////////////////////////////////////
78
/// Set transformation matrix.
79
80
void
TEveGeoShapeExtract::SetTrans
(
const
Double_t
arr[16])
81
{
82
for
(
Int_t
i=0; i<16; ++i)
83
fTrans
[i] = arr[i];
84
}
85
86
////////////////////////////////////////////////////////////////////////////////
87
/// Set RGBA color.
88
89
void
TEveGeoShapeExtract::SetRGBA
(
const
Float_t
arr[4])
90
{
91
for
(
Int_t
i=0; i<4; ++i)
92
fRGBA
[i] = arr[i];
93
}
94
95
////////////////////////////////////////////////////////////////////////////////
96
/// Set RGBA color for line.
97
98
void
TEveGeoShapeExtract::SetRGBALine
(
const
Float_t
arr[4])
99
{
100
for
(
Int_t
i=0; i<4; ++i)
101
fRGBALine
[i] = arr[i];
102
}
Int_t
int Int_t
Definition:
RtypesCore.h:41
Bool_t
bool Bool_t
Definition:
RtypesCore.h:59
Double_t
double Double_t
Definition:
RtypesCore.h:55
Float_t
float Float_t
Definition:
RtypesCore.h:53
kTRUE
const Bool_t kTRUE
Definition:
RtypesCore.h:87
ClassImp
#define ClassImp(name)
Definition:
Rtypes.h:363
TEveGeoNode.h
TEveGeoShapeExtract.h
TEveGeoShape.h
TGeoManager.h
TGeoShape.h
TList.h
TCollection::GetSize
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition:
TCollection.h:182
TEveGeoShapeExtract
Globally positioned TGeoShape with rendering attributes and an optional list of daughter shape-extrac...
Definition:
TEveGeoShapeExtract.h:21
TEveGeoShapeExtract::fRGBA
Float_t fRGBA[4]
Definition:
TEveGeoShapeExtract.h:27
TEveGeoShapeExtract::AddElement
void AddElement(TEveGeoShapeExtract *gse)
Add a child element.
Definition:
TEveGeoShapeExtract.cxx:69
TEveGeoShapeExtract::HasElements
Bool_t HasElements()
True if has at least one element.
Definition:
TEveGeoShapeExtract.cxx:61
TEveGeoShapeExtract::SetRGBA
void SetRGBA(const Float_t arr[4])
Set RGBA color.
Definition:
TEveGeoShapeExtract.cxx:89
TEveGeoShapeExtract::SetRGBALine
void SetRGBALine(const Float_t arr[4])
Set RGBA color for line.
Definition:
TEveGeoShapeExtract.cxx:98
TEveGeoShapeExtract::SetTrans
void SetTrans(const Double_t arr[16])
Set transformation matrix.
Definition:
TEveGeoShapeExtract.cxx:80
TEveGeoShapeExtract::~TEveGeoShapeExtract
~TEveGeoShapeExtract()
Destructor. Delete shape and elements.
Definition:
TEveGeoShapeExtract.cxx:52
TEveGeoShapeExtract::fElements
TList * fElements
Definition:
TEveGeoShapeExtract.h:34
TEveGeoShapeExtract::TEveGeoShapeExtract
TEveGeoShapeExtract(const TEveGeoShapeExtract &)
TEveGeoShapeExtract::fRGBALine
Float_t fRGBALine[4]
Definition:
TEveGeoShapeExtract.h:28
TEveGeoShapeExtract::fShape
TGeoShape * fShape
Definition:
TEveGeoShapeExtract.h:33
TEveGeoShapeExtract::fTrans
Double_t fTrans[16]
Definition:
TEveGeoShapeExtract.h:26
TList
A doubly linked list.
Definition:
TList.h:44
TList::Add
virtual void Add(TObject *obj)
Definition:
TList.h:87
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition:
TNamed.h:29
n
const Int_t n
Definition:
legend1.C:16