ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Systems
VP1GeometrySystems
VP1GeometrySystems
VolumeHandleSharedData.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef VOLUMEHANDLESHAREDDATA_H
6
#define VOLUMEHANDLESHAREDDATA_H
7
8
//This reference counted class keeps data (and related methods) which are common
9
//for all volume handle nodes under a given top-level handle.
10
11
#include "
VP1GeometrySystems/VP1GeoFlags.h
"
12
#include <map>
13
class
SoNode;
14
class
SoGroup;
15
class
SoSeparator;
16
class
VolumeHandle
;
17
class
SoMaterial;
18
class
PhiSectorManager
;
19
class
ZappedVolumeListModel
;
20
class
MatVisAttributes
;
21
class
VolVisAttributes
;
22
class
VP1GeoTreeView
;
23
class
GeoSysController
;
24
25
class
VolumeHandleSharedData
{
26
public
:
27
VolumeHandleSharedData
(
GeoSysController
*
controller
,
VP1GeoFlags::SubSystemFlag
,std::map<SoSeparator*,VolumeHandle*>* sonodesep2volhandle,
28
const
GeoPVConstLink& motherpV,
PhiSectorManager
*,
29
SoMaterial * topMaterial,
MatVisAttributes
*,
VolVisAttributes
*,
30
ZappedVolumeListModel
*,
VP1GeoTreeView
*, SoSeparator*);
31
~VolumeHandleSharedData
();
32
void
ref
();
33
void
unref
();
34
35
//Fixme: Inline?
36
GeoPVConstLink
geoPVConstLinkOfTreeTopsMother
()
const
;
37
PhiSectorManager
*
phiSectorManager
()
const
;
38
VP1GeoFlags::SubSystemFlag
subSystemFlag
()
const
;
39
SoMaterial *
fallBackTopLevelMaterial
()
const
;
40
VP1GeoTreeView
*
volumeBrowser
()
const
{
return
m_volumebrowser
; }
41
MatVisAttributes
*
matVisAttributes
()
const
;
42
VolVisAttributes
*
volVisAttributes
()
const
;
43
inline
SoSeparator*
textSep
()
const
{
return
m_textSep
;}
44
GeoSysController
*
controller
()
const
;
45
void
addZappedVolumeToGui
(
VolumeHandle
*);
46
void
removeZappedVolumesFromGui
(
VolumeHandle
*);
47
48
SoNode *
toShapeNode
(
const
GeoPVConstLink& pV);
//Returns shape of pV->getLogVol() (uses shared instancing as appropriate)
49
SoNode *
getSoCylinderOrientedLikeGeoTube
(
const
double
& radius,
const
double
& halfLength);
//(uses shared instancing as appropriate)
50
51
void
registerNodeSepForVolumeHandle
(SoSeparator*,
VolumeHandle
*);
52
53
static
void
setShowVolumeOutlines
(SoGroup*nodesep,
bool
showvol);
54
55
56
private
:
57
58
// It is illegal to copy/assign a VolumeHandleSharedData:
59
VolumeHandleSharedData
(
const
VolumeHandleSharedData
& );
60
VolumeHandleSharedData
&
operator=
(
const
VolumeHandleSharedData
& );
61
62
class
Imp
;
63
Imp
*
m_d
;
64
65
//For inlines:
66
VP1GeoTreeView
*
m_volumebrowser
;
67
SoSeparator*
m_textSep
;
68
69
};
70
71
#endif
VP1GeoFlags.h
GeoSysController
Definition
GeoSysController.h:29
MatVisAttributes
Definition
VisAttributes.h:64
PhiSectorManager
Definition
PhiSectorManager.h:30
VP1GeoFlags::SubSystemFlag
SubSystemFlag
Definition
VP1GeoFlags.h:30
VP1GeoTreeView
Definition
VP1GeoTreeView.h:22
VolVisAttributes
Definition
VisAttributes.h:71
VolumeHandleSharedData::Imp
Definition
VolumeHandleSharedData.cxx:25
VolumeHandleSharedData::ref
void ref()
Definition
VolumeHandleSharedData.cxx:79
VolumeHandleSharedData::VolumeHandleSharedData
VolumeHandleSharedData(GeoSysController *controller, VP1GeoFlags::SubSystemFlag, std::map< SoSeparator *, VolumeHandle * > *sonodesep2volhandle, const GeoPVConstLink &motherpV, PhiSectorManager *, SoMaterial *topMaterial, MatVisAttributes *, VolVisAttributes *, ZappedVolumeListModel *, VP1GeoTreeView *, SoSeparator *)
Definition
VolumeHandleSharedData.cxx:43
VolumeHandleSharedData::textSep
SoSeparator * textSep() const
Definition
VolumeHandleSharedData.h:43
VolumeHandleSharedData::m_textSep
SoSeparator * m_textSep
base text sep
Definition
VolumeHandleSharedData.h:67
VolumeHandleSharedData::m_volumebrowser
VP1GeoTreeView * m_volumebrowser
Definition
VolumeHandleSharedData.h:66
VolumeHandleSharedData::operator=
VolumeHandleSharedData & operator=(const VolumeHandleSharedData &)
VolumeHandleSharedData::geoPVConstLinkOfTreeTopsMother
GeoPVConstLink geoPVConstLinkOfTreeTopsMother() const
Definition
VolumeHandleSharedData.cxx:213
VolumeHandleSharedData::VolumeHandleSharedData
VolumeHandleSharedData(const VolumeHandleSharedData &)
VolumeHandleSharedData::phiSectorManager
PhiSectorManager * phiSectorManager() const
Definition
VolumeHandleSharedData.cxx:117
VolumeHandleSharedData::unref
void unref()
Definition
VolumeHandleSharedData.cxx:85
VolumeHandleSharedData::controller
GeoSysController * controller() const
Definition
VolumeHandleSharedData.cxx:123
VolumeHandleSharedData::m_d
Imp * m_d
Definition
VolumeHandleSharedData.h:63
VolumeHandleSharedData::registerNodeSepForVolumeHandle
void registerNodeSepForVolumeHandle(SoSeparator *, VolumeHandle *)
Definition
VolumeHandleSharedData.cxx:129
VolumeHandleSharedData::volumeBrowser
VP1GeoTreeView * volumeBrowser() const
Definition
VolumeHandleSharedData.h:40
VolumeHandleSharedData::getSoCylinderOrientedLikeGeoTube
SoNode * getSoCylinderOrientedLikeGeoTube(const double &radius, const double &halfLength)
Definition
VolumeHandleSharedData.cxx:191
VolumeHandleSharedData::setShowVolumeOutlines
static void setShowVolumeOutlines(SoGroup *nodesep, bool showvol)
Definition
VolumeHandleSharedData.cxx:137
VolumeHandleSharedData::volVisAttributes
VolVisAttributes * volVisAttributes() const
Definition
VolumeHandleSharedData.cxx:99
VolumeHandleSharedData::subSystemFlag
VP1GeoFlags::SubSystemFlag subSystemFlag() const
Definition
VolumeHandleSharedData.cxx:111
VolumeHandleSharedData::removeZappedVolumesFromGui
void removeZappedVolumesFromGui(VolumeHandle *)
Definition
VolumeHandleSharedData.cxx:225
VolumeHandleSharedData::addZappedVolumeToGui
void addZappedVolumeToGui(VolumeHandle *)
Definition
VolumeHandleSharedData.cxx:219
VolumeHandleSharedData::fallBackTopLevelMaterial
SoMaterial * fallBackTopLevelMaterial() const
Definition
VolumeHandleSharedData.cxx:105
VolumeHandleSharedData::matVisAttributes
MatVisAttributes * matVisAttributes() const
Definition
VolumeHandleSharedData.cxx:93
VolumeHandleSharedData::toShapeNode
SoNode * toShapeNode(const GeoPVConstLink &pV)
Definition
VolumeHandleSharedData.cxx:163
VolumeHandleSharedData::~VolumeHandleSharedData
~VolumeHandleSharedData()
Definition
VolumeHandleSharedData.cxx:63
VolumeHandle
Definition
VolumeHandle.h:21
ZappedVolumeListModel
Definition
ZappedVolumeListModel.h:15
Generated on
for ATLAS Offline Software by
1.17.0