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;
20
21/** \class REveGeoShapeExtract
22\ingroup REve
23Globally positioned TGeoShape with rendering attributes and an
24optional list of daughter shape-extracts.
25
26Vessel to carry hand-picked geometry from gled to reve.
27This class exists in both frameworks.
28*/
29
30////////////////////////////////////////////////////////////////////////////////
31/// Constructor.
32
33REveGeoShapeExtract::REveGeoShapeExtract(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
52{
53 delete fShape;
54 delete fElements;
55}
56
57////////////////////////////////////////////////////////////////////////////////
58/// True if has at least one element.
59
61{
62 return fElements && (fElements->GetSize() > 0);
63}
64
65////////////////////////////////////////////////////////////////////////////////
66/// Add a child element.
67
69{
70 if (!fElements)
71 fElements = new TList;
72
73 fElements->Add(gse);
74}
75
76////////////////////////////////////////////////////////////////////////////////
77/// Set transformation matrix.
78
80{
81 for(Int_t i=0; i<16; ++i)
82 fTrans[i] = arr[i];
83}
84
85////////////////////////////////////////////////////////////////////////////////
86/// Set RGBA color.
87
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
98{
99 for(Int_t i=0; i<4; ++i)
100 fRGBALine[i] = arr[i];
101}
Py_ssize_t * fShape
const Bool_t kTRUE
Definition: RtypesCore.h:100
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.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
Definition: TCollection.h:184
A doubly linked list.
Definition: TList.h:38
void Add(TObject *obj) override
Definition: TList.h:81
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
const Int_t n
Definition: legend1.C:16