Logo ROOT  
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
13#include <ROOT/REveGeoShape.hxx>
14
15#include "TList.h"
16#include "TGeoManager.h"
17#include "TGeoShape.h"
18
19using namespace ROOT::Experimental;
20namespace REX = ROOT::Experimental;
21
22/** \class REveGeoShapeExtract
23\ingroup REve
24Globally positioned TGeoShape with rendering attributes and an
25optional list of daughter shape-extracts.
26
27Vessel to carry hand-picked geometry from gled to reve.
28This class exists in both frameworks.
29*/
30
31////////////////////////////////////////////////////////////////////////////////
32/// Constructor.
33
34REveGeoShapeExtract::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
53{
54 delete fShape;
55 delete fElements;
56}
57
58////////////////////////////////////////////////////////////////////////////////
59/// True if has at least one element.
60
62{
63 return fElements && (fElements->GetSize() > 0);
64}
65
66////////////////////////////////////////////////////////////////////////////////
67/// Add a child element.
68
70{
71 if (!fElements)
72 fElements = new TList;
73
74 fElements->Add(gse);
75}
76
77////////////////////////////////////////////////////////////////////////////////
78/// Set transformation matrix.
79
81{
82 for(Int_t i=0; i<16; ++i)
83 fTrans[i] = arr[i];
84}
85
86////////////////////////////////////////////////////////////////////////////////
87/// Set RGBA color.
88
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
99{
100 for(Int_t i=0; i<4; ++i)
101 fRGBALine[i] = arr[i];
102}
const Bool_t kTRUE
Definition: RtypesCore.h:89
void SetRGBA(const Float_t arr[4])
Set RGBA color.
void AddElement(REveGeoShapeExtract *gse)
Add a child element.
void SetTrans(const Double_t arr[16])
Set transformation matrix.
~REveGeoShapeExtract()
Destructor. Delete shape and elements.
Bool_t HasElements()
True if has at least one element.
void SetRGBALine(const Float_t arr[4])
Set RGBA color for line.
REveGeoShapeExtract(const REveGeoShapeExtract &)=delete
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition: TCollection.h:182
A doubly linked list.
Definition: TList.h:44
virtual void Add(TObject *obj)
Definition: TList.h:87
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
const Int_t n
Definition: legend1.C:16