ROOT
v6-22
Reference Guide
REveGeoShapeExtract.cxx
Go to the documentation of this file.
1
// @(#)root/eve7:$Id$
2
// Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
3
4
/*************************************************************************
5
* Copyright (C) 1995-2019, 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 <
ROOT/REveGeoShapeExtract.hxx
>
13
#include <
ROOT/REveGeoShape.hxx
>
14
15
#include "
TList.h
"
16
#include "
TGeoManager.h
"
17
#include "
TGeoShape.h
"
18
19
using namespace
ROOT::Experimental
;
20
namespace
REX
=
ROOT::Experimental
;
21
22
/** \class REveGeoShapeExtract
23
\ingroup REve
24
Globally positioned TGeoShape with rendering attributes and an
25
optional list of daughter shape-extracts.
26
27
Vessel to carry hand-picked geometry from gled to reve.
28
This class exists in both frameworks.
29
*/
30
31
////////////////////////////////////////////////////////////////////////////////
32
/// Constructor.
33
34
REveGeoShapeExtract::REveGeoShapeExtract
(
const
char
*
n
,
const
char
* t) :
35
TNamed
(
n
,t),
36
fRnrSelf (
kTRUE
),
37
fRnrElements (
kTRUE
),
38
fRnrFrame (
kTRUE
),
39
fMiniFrame (
kTRUE
),
40
fShape (nullptr),
41
fElements (nullptr)
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
REveGeoShapeExtract::~REveGeoShapeExtract
()
53
{
54
delete
fShape
;
55
delete
fElements
;
56
}
57
58
////////////////////////////////////////////////////////////////////////////////
59
/// True if has at least one element.
60
61
Bool_t
REveGeoShapeExtract::HasElements
()
62
{
63
return
fElements
&& (
fElements
->
GetSize
() > 0);
64
}
65
66
////////////////////////////////////////////////////////////////////////////////
67
/// Add a child element.
68
69
void
REveGeoShapeExtract::AddElement
(
REveGeoShapeExtract
* gse)
70
{
71
if
(!
fElements
)
72
fElements
=
new
TList
;
73
74
fElements
->
Add
(gse);
75
}
76
77
////////////////////////////////////////////////////////////////////////////////
78
/// Set transformation matrix.
79
80
void
REveGeoShapeExtract::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
REveGeoShapeExtract::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
REveGeoShapeExtract::SetRGBALine
(
const
Float_t
arr[4])
99
{
100
for
(
Int_t
i=0; i<4; ++i)
101
fRGBALine
[i] = arr[i];
102
}
REveGeoShapeExtract.hxx
REveGeoShape.hxx
kTRUE
const Bool_t kTRUE
Definition:
RtypesCore.h:89
TGeoManager.h
TGeoShape.h
TList.h
Double_t
Float_t
ROOT::Experimental::REveGeoShapeExtract
Definition:
REveGeoShapeExtract.hxx:24
ROOT::Experimental::REveGeoShapeExtract::fElements
TList * fElements
Definition:
REveGeoShapeExtract.hxx:37
ROOT::Experimental::REveGeoShapeExtract::SetRGBA
void SetRGBA(const Float_t arr[4])
Set RGBA color.
Definition:
REveGeoShapeExtract.cxx:89
ROOT::Experimental::REveGeoShapeExtract::AddElement
void AddElement(REveGeoShapeExtract *gse)
Add a child element.
Definition:
REveGeoShapeExtract.cxx:69
ROOT::Experimental::REveGeoShapeExtract::fShape
TGeoShape * fShape
Definition:
REveGeoShapeExtract.hxx:36
ROOT::Experimental::REveGeoShapeExtract::SetTrans
void SetTrans(const Double_t arr[16])
Set transformation matrix.
Definition:
REveGeoShapeExtract.cxx:80
ROOT::Experimental::REveGeoShapeExtract::~REveGeoShapeExtract
~REveGeoShapeExtract()
Destructor. Delete shape and elements.
Definition:
REveGeoShapeExtract.cxx:52
ROOT::Experimental::REveGeoShapeExtract::HasElements
Bool_t HasElements()
True if has at least one element.
Definition:
REveGeoShapeExtract.cxx:61
ROOT::Experimental::REveGeoShapeExtract::fRGBALine
Float_t fRGBALine[4]
Definition:
REveGeoShapeExtract.hxx:31
ROOT::Experimental::REveGeoShapeExtract::fRGBA
Float_t fRGBA[4]
Definition:
REveGeoShapeExtract.hxx:30
ROOT::Experimental::REveGeoShapeExtract::SetRGBALine
void SetRGBALine(const Float_t arr[4])
Set RGBA color for line.
Definition:
REveGeoShapeExtract.cxx:98
ROOT::Experimental::REveGeoShapeExtract::REveGeoShapeExtract
REveGeoShapeExtract(const REveGeoShapeExtract &)=delete
ROOT::Experimental::REveGeoShapeExtract::fTrans
Double_t fTrans[16]
Definition:
REveGeoShapeExtract.hxx:29
TCollection::GetSize
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition:
TCollection.h:182
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
bool
int
n
const Int_t n
Definition:
legend1.C:16
ROOT::Experimental
Definition:
RDirectory.hxx:30
graf3d
eve7
src
REveGeoShapeExtract.cxx
ROOT v6-22 - Reference Guide Generated on Fri Apr 1 2022 11:51:09 (GVA Time) using Doxygen 1.9.4