ROOT
6.06/09
Reference Guide
ROOT Home Page
Main Page
Related Pages
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
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
}
TEveGeoShapeExtract::SetTrans
void SetTrans(const Double_t arr[16])
Set transformation matrix.
Definition:
TEveGeoShapeExtract.cxx:80
TEveGeoShapeExtract::SetRGBA
void SetRGBA(const Float_t arr[4])
Set RGBA color.
Definition:
TEveGeoShapeExtract.cxx:89
TGeoShape.h
TEveGeoShapeExtract::~TEveGeoShapeExtract
~TEveGeoShapeExtract()
Destructor. Delete shape and elements.
Definition:
TEveGeoShapeExtract.cxx:52
TEveGeoShapeExtract
Globally positioned TGeoShape with rendering attributes and an optional list of daughter shape-extrac...
Definition:
TEveGeoShapeExtract.h:20
Float_t
float Float_t
Definition:
RtypesCore.h:53
Int_t
int Int_t
Definition:
RtypesCore.h:41
Bool_t
bool Bool_t
Definition:
RtypesCore.h:59
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition:
TNamed.h:33
TList.h
TEveGeoShapeExtract::fTrans
Double_t fTrans[16]
Definition:
TEveGeoShapeExtract.h:26
TList
A doubly linked list.
Definition:
TList.h:47
TEveGeoShapeExtract::fRGBALine
Float_t fRGBALine[4]
Definition:
TEveGeoShapeExtract.h:28
TEveGeoShapeExtract::fElements
TList * fElements
Definition:
TEveGeoShapeExtract.h:34
TEveGeoShapeExtract::AddElement
void AddElement(TEveGeoShapeExtract *gse)
Add a child element.
Definition:
TEveGeoShapeExtract.cxx:69
TEveGeoShapeExtract::fRGBA
Float_t fRGBA[4]
Definition:
TEveGeoShapeExtract.h:27
TEveGeoNode.h
TEveGeoShapeExtract::SetRGBALine
void SetRGBALine(const Float_t arr[4])
Set RGBA color for line.
Definition:
TEveGeoShapeExtract.cxx:98
TCollection::GetSize
virtual Int_t GetSize() const
Definition:
TCollection.h:95
Double_t
double Double_t
Definition:
RtypesCore.h:55
TEveGeoShapeExtract::HasElements
Bool_t HasElements()
True if has at least one element.
Definition:
TEveGeoShapeExtract.cxx:61
TEveGeoShapeExtract::TEveGeoShapeExtract
TEveGeoShapeExtract(const TEveGeoShapeExtract &)
TEveGeoShape.h
TList::Add
virtual void Add(TObject *obj)
Definition:
TList.h:81
TGeoManager.h
kTRUE
const Bool_t kTRUE
Definition:
Rtypes.h:91
n
const Int_t n
Definition:
legend1.C:16
ClassImp
ClassImp(TEveGeoShapeExtract)
TEveGeoShapeExtract.h
TEveGeoShapeExtract::fShape
TGeoShape * fShape
Definition:
TEveGeoShapeExtract.h:33