ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
graphics
VP1
VP1Base
src
VP1CollectionSettingsButtonBase.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/*
6
* VP1CollectionSettingsButtonBase.cxx
7
*
8
* Created on: Sep 2, 2014
9
* Author: Riccardo-Maria BIANCHI - rbianchi
10
*/
11
12
13
#include "
VP1Base/VP1CollectionSettingsButtonBase.h
"
14
#include "Inventor/C/errors/debugerror.h"
15
#include "Inventor/nodes/SoMaterial.h"
16
#include "
VP1Base/VP1Serialise.h
"
17
#include "
VP1Base/VP1Deserialise.h
"
18
//____________________________________________________________________
19
class
VP1CollectionSettingsButtonBase::Imp
{
20
public
:
21
22
// Imp():theclass(0),editwindow(0),matButton(0), trackDrawStyle(0), trackLightModel(0){}
23
Imp
():
theclass
(0),
dim
(0),
fallBackMaterial
(0) {}
24
25
// the main class
26
VP1CollectionSettingsButtonBase
*
theclass
;
27
28
int
dim
;
29
SoMaterial *
fallBackMaterial
;
30
};
31
32
33
//____________________________________________________________________
34
VP1CollectionSettingsButtonBase::VP1CollectionSettingsButtonBase
(QWidget * parent,
int
dim)
35
:
VP1MaterialButtonBase
(parent,0,
"VP1MaterialButton"
),
m_d
(new
Imp
)
36
{
37
m_d
->dim = dim;
38
m_d
->fallBackMaterial = 0;
39
m_d
->theclass =
this
;
40
}
41
42
43
//____________________________________________________________________
44
VP1CollectionSettingsButtonBase::~VP1CollectionSettingsButtonBase
()
45
{
46
if
(
m_d
->fallBackMaterial)
47
m_d
->fallBackMaterial->unref();
48
delete
m_d
;
49
}
50
51
//____________________________________________________________________
52
SoMaterial *
VP1CollectionSettingsButtonBase::fallBackMaterial
()
const
53
{
54
if
(!
m_d
->fallBackMaterial) {
55
m_d
->fallBackMaterial =
new
SoMaterial;
56
m_d
->fallBackMaterial->ref();
57
}
58
return
m_d
->fallBackMaterial;
59
}
60
61
//____________________________________________________________________
62
SoMaterial *
VP1CollectionSettingsButtonBase::getMaterial
(
VP1MaterialButton
*mb)
const
63
{
64
if
(!mb) {
65
message
(
"ERROR: Null material button pointer"
);
66
return
fallBackMaterial
();
67
}
68
QList<SoMaterial*> mats = mb->handledMaterials();
69
if
(mats.count()!=1) {
70
message
(
"ERROR: No material in button "
+mb->objectName());
71
return
fallBackMaterial
();
72
}
73
return
mats.at(0);
74
75
76
}
77
78
QByteArray
VP1CollectionSettingsButtonBase::saveState
()
const
{
79
VP1Serialise
serialise(1
/*version*/
);
80
serialise.save(
this
);
81
return
serialise.result();
82
}
83
84
void
VP1CollectionSettingsButtonBase::restoreFromState
(
const
QByteArray& ba){
85
VP1Deserialise
state(ba,
systemBase
());
86
if
(state.
version
()<0||state.
version
()>1)
87
return
;
//Ignore silently
88
state.
restore
(
this
);
89
}
90
91
92
93
VP1CollectionSettingsButtonBase.h
VP1Deserialise.h
VP1Serialise.h
VP1CollectionSettingsButtonBase::Imp
Definition
VP1CollectionSettingsButtonBase.cxx:19
VP1CollectionSettingsButtonBase::Imp::Imp
Imp()
Definition
VP1CollectionSettingsButtonBase.cxx:23
VP1CollectionSettingsButtonBase::Imp::theclass
VP1CollectionSettingsButtonBase * theclass
Definition
VP1CollectionSettingsButtonBase.cxx:26
VP1CollectionSettingsButtonBase::Imp::dim
int dim
Definition
VP1CollectionSettingsButtonBase.cxx:28
VP1CollectionSettingsButtonBase::Imp::fallBackMaterial
SoMaterial * fallBackMaterial
Definition
VP1CollectionSettingsButtonBase.cxx:29
VP1CollectionSettingsButtonBase::saveState
QByteArray saveState() const
fill out with the state of the object (used for drag and drop etc)
Definition
VP1CollectionSettingsButtonBase.cxx:78
VP1CollectionSettingsButtonBase::VP1CollectionSettingsButtonBase
VP1CollectionSettingsButtonBase(QWidget *parent=0, int dim=25)
Definition
VP1CollectionSettingsButtonBase.cxx:34
VP1CollectionSettingsButtonBase::getMaterial
SoMaterial * getMaterial(VP1MaterialButton *) const
Definition
VP1CollectionSettingsButtonBase.cxx:62
VP1CollectionSettingsButtonBase::m_d
Imp * m_d
Definition
VP1CollectionSettingsButtonBase.h:39
VP1CollectionSettingsButtonBase::~VP1CollectionSettingsButtonBase
virtual ~VP1CollectionSettingsButtonBase()
Definition
VP1CollectionSettingsButtonBase.cxx:44
VP1CollectionSettingsButtonBase::fallBackMaterial
SoMaterial * fallBackMaterial() const
Definition
VP1CollectionSettingsButtonBase.cxx:52
VP1CollectionSettingsButtonBase::restoreFromState
void restoreFromState(const QByteArray &)
Definition
VP1CollectionSettingsButtonBase.cxx:84
VP1Deserialise
Definition
VP1Deserialise.h:44
VP1Deserialise::restore
void restore(QCheckBox *sb)
Definition
VP1Deserialise.cxx:244
VP1Deserialise::version
qint32 version() const
Definition
VP1Deserialise.cxx:142
VP1HelperClassBase::message
void message(const QString &) const
Definition
VP1HelperClassBase.cxx:49
VP1HelperClassBase::systemBase
IVP1System * systemBase() const
Definition
VP1HelperClassBase.h:50
VP1MaterialButtonBase::VP1MaterialButtonBase
VP1MaterialButtonBase(QWidget *parent, IVP1System *sys=0, const QString &helpername="")
Definition
VP1MaterialButton.h:28
VP1MaterialButton
Definition
VP1MaterialButton.h:46
VP1Serialise
Definition
VP1Serialise.h:45
Generated on
for ATLAS Offline Software by
1.17.0