ROOT
master
Reference Guide
Loading...
Searching...
No Matches
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
30
////////////////////////////////////////////////////////////////////////////////
31
/// Constructor.
32
33
TEveGeoShapeExtract::TEveGeoShapeExtract
(
const
char
*
n
,
const
char
* t) :
34
TNamed
(
n
,t),
35
fRnrSelf (
kTRUE
),
36
fRnrElements (
kTRUE
),
37
fRnrFrame (
kTRUE
),
38
fMiniFrame (
kTRUE
),
39
fShape
(nullptr),
40
fElements (nullptr)
41
{
42
memset
(
fTrans
, 0,
sizeof
(
fTrans
));
43
fTrans
[0] =
fTrans
[5] =
fTrans
[10] =
fTrans
[15] = 1;
44
fRGBA
[0] =
fRGBA
[1] =
fRGBA
[2] =
fRGBA
[3] = 1;
45
fRGBALine
[0] =
fRGBALine
[1] =
fRGBALine
[2] = 0;
fRGBALine
[3] = 1;
46
}
47
48
////////////////////////////////////////////////////////////////////////////////
49
/// Destructor. Delete shape and elements.
50
51
TEveGeoShapeExtract::~TEveGeoShapeExtract
()
52
{
53
delete
fShape
;
54
delete
fElements
;
55
}
56
57
////////////////////////////////////////////////////////////////////////////////
58
/// True if has at least one element.
59
60
Bool_t
TEveGeoShapeExtract::HasElements
()
61
{
62
return
fElements
!=
nullptr
&&
fElements
->
GetSize
() > 0;
63
}
64
65
////////////////////////////////////////////////////////////////////////////////
66
/// Add a child element.
67
68
void
TEveGeoShapeExtract::AddElement
(
TEveGeoShapeExtract
*
gse
)
69
{
70
if
(
fElements
==
nullptr
)
71
fElements
=
new
TList
;
72
73
fElements
->
Add
(
gse
);
74
}
75
76
////////////////////////////////////////////////////////////////////////////////
77
/// Set transformation matrix.
78
79
void
TEveGeoShapeExtract::SetTrans
(
const
Double_t
arr
[16])
80
{
81
for
(
Int_t
i=0; i<16; ++i)
82
fTrans
[i] =
arr
[i];
83
}
84
85
////////////////////////////////////////////////////////////////////////////////
86
/// Set RGBA color.
87
88
void
TEveGeoShapeExtract::SetRGBA
(
const
Float_t
arr
[4])
89
{
90
for
(
Int_t
i=0; i<4; ++i)
91
fRGBA
[i] =
arr
[i];
92
}
93
94
////////////////////////////////////////////////////////////////////////////////
95
/// Set RGBA color for line.
96
97
void
TEveGeoShapeExtract::SetRGBALine
(
const
Float_t
arr
[4])
98
{
99
for
(
Int_t
i=0; i<4; ++i)
100
fRGBALine
[i] =
arr
[i];
101
}
fShape
dims_t fShape
Definition
DeclareConverters.h:215
Float_t
float Float_t
Float 4 bytes (float)
Definition
RtypesCore.h:71
kTRUE
constexpr Bool_t kTRUE
Definition
RtypesCore.h:107
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
TEveGeoNode.h
TEveGeoShapeExtract.h
TEveGeoShape.h
TGeoManager.h
TGeoShape.h
TList.h
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
TCollection::GetSize
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition
TCollection.h:184
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:68
TEveGeoShapeExtract::HasElements
Bool_t HasElements()
True if has at least one element.
Definition
TEveGeoShapeExtract.cxx:60
TEveGeoShapeExtract::SetRGBA
void SetRGBA(const Float_t arr[4])
Set RGBA color.
Definition
TEveGeoShapeExtract.cxx:88
TEveGeoShapeExtract::SetRGBALine
void SetRGBALine(const Float_t arr[4])
Set RGBA color for line.
Definition
TEveGeoShapeExtract.cxx:97
TEveGeoShapeExtract::SetTrans
void SetTrans(const Double_t arr[16])
Set transformation matrix.
Definition
TEveGeoShapeExtract.cxx:79
TEveGeoShapeExtract::~TEveGeoShapeExtract
~TEveGeoShapeExtract() override
Destructor. Delete shape and elements.
Definition
TEveGeoShapeExtract.cxx:51
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:38
TList::Add
void Add(TObject *obj) override
Definition
TList.h:81
TNamed
The TNamed class is the base class for all named ROOT classes.
Definition
TNamed.h:29
bool
double
int
n
const Int_t n
Definition
legend1.C:16
graf3d
eve
src
TEveGeoShapeExtract.cxx
ROOT master - Reference Guide Generated on Tue Oct 7 2025 04:42:04 (GVA Time) using Doxygen 1.10.0