ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
VP1RawDataHandleBase::Imp Class Reference
Collaboration diagram for VP1RawDataHandleBase::Imp:

Public Member Functions

 Imp ()
 
void rebuild3DObjects (VP1RawDataHandleBase *)
 
void ensureAttach3DObjects (VP1RawDataHandleBase *theclass)
 
void ensureDetach3DObjects (VP1RawDataHandleBase *theclass)
 
void ensureInitSepAndTransform (VP1RawDataHandleBase *theclass)
 
bool hasShape () const
 
void clearShape ()
 

Public Attributes

SoSeparator * sep
 
bool isAttached
 

Detailed Description

Definition at line 26 of file VP1RawDataHandleBase.cxx.

Constructor & Destructor Documentation

◆ Imp()

VP1RawDataHandleBase::Imp::Imp ( )
inline

Definition at line 28 of file VP1RawDataHandleBase.cxx.

28 : sep(0),isAttached(false) {}

Member Function Documentation

◆ clearShape()

void VP1RawDataHandleBase::Imp::clearShape ( )
inline

Definition at line 41 of file VP1RawDataHandleBase.cxx.

42  {
43  if (hasShape()) {
44  sep->removeChild(1);
45  }
46  }

◆ ensureAttach3DObjects()

void VP1RawDataHandleBase::Imp::ensureAttach3DObjects ( VP1RawDataHandleBase theclass)

Definition at line 134 of file VP1RawDataHandleBase.cxx.

135 {
136  if (isAttached)
137  return;
138  isAttached = true;
139 
140  VP1ExtraSepLayerHelper * sh(theclass->m_coll->sepHelper());
141  if (sep && sh)
142  sh->addNode(sep);
143 }

◆ ensureDetach3DObjects()

void VP1RawDataHandleBase::Imp::ensureDetach3DObjects ( VP1RawDataHandleBase theclass)

Definition at line 146 of file VP1RawDataHandleBase.cxx.

147 {
148  if (!isAttached)
149  return;
150  isAttached = false;
151 
152  VP1ExtraSepLayerHelper * sh(theclass->m_coll->sepHelper());
153  if (sep && sh)
154  sh->removeNode(sep);
155 }

◆ ensureInitSepAndTransform()

void VP1RawDataHandleBase::Imp::ensureInitSepAndTransform ( VP1RawDataHandleBase theclass)

Definition at line 94 of file VP1RawDataHandleBase.cxx.

95 {
96  if (sep)
97  return;
98  sep = new SoSeparator;
99  sep->ref();
100  SoTransform * transform = theclass->buildTransform();
101  sep->addChild(transform);
102  theclass->common()->registerTransformAndHandle(transform,theclass);
103 
104 }

◆ hasShape()

bool VP1RawDataHandleBase::Imp::hasShape ( ) const
inline

Definition at line 36 of file VP1RawDataHandleBase.cxx.

37  {
38  return sep&&sep->getNumChildren()>1;
39  }

◆ rebuild3DObjects()

void VP1RawDataHandleBase::Imp::rebuild3DObjects ( VP1RawDataHandleBase theclass)

Definition at line 107 of file VP1RawDataHandleBase.cxx.

108 {
109  if (!sep) {
110  if (!theclass->m_visible)
111  return;
112  ensureInitSepAndTransform(theclass);
113  ensureAttach3DObjects(theclass);
114  }
115 
116  bool save(false);
117  if (theclass->m_visible)
118  save = sep->enableNotify(false);
119 
120  clearShape();
121 
122  SoNode * shape = theclass->buildShape();
123  sep->addChild(shape);
124 
125  theclass->updateShownOutlines();
126 
127  if (save) {
128  sep->enableNotify(true);
129  sep->touch();
130  }
131 }

Member Data Documentation

◆ isAttached

bool VP1RawDataHandleBase::Imp::isAttached

Definition at line 34 of file VP1RawDataHandleBase.cxx.

◆ sep

SoSeparator* VP1RawDataHandleBase::Imp::sep

Definition at line 33 of file VP1RawDataHandleBase.cxx.


The documentation for this class was generated from the following file:
VP1RawDataHandleBase::m_coll
VP1RawDataCollBase * m_coll
Definition: VP1RawDataHandleBase.h:70
VP1RawDataHandleBase::Imp::ensureInitSepAndTransform
void ensureInitSepAndTransform(VP1RawDataHandleBase *theclass)
Definition: VP1RawDataHandleBase.cxx:94
VP1RawDataHandleBase::buildShape
virtual SoNode * buildShape()=0
VP1RawDataHandleBase::Imp::ensureAttach3DObjects
void ensureAttach3DObjects(VP1RawDataHandleBase *theclass)
Definition: VP1RawDataHandleBase.cxx:134
VP1RawDataCommonData::registerTransformAndHandle
void registerTransformAndHandle(SoTransform *, VP1RawDataHandleBase *)
Definition: VP1RawDataCommonData.cxx:54
VP1RawDataHandleBase::Imp::hasShape
bool hasShape() const
Definition: VP1RawDataHandleBase.cxx:36
checkTP.save
def save(self, fileName="./columbo.out")
Definition: checkTP.py:178
VP1ExtraSepLayerHelper
Definition: VP1ExtraSepLayerHelper.h:22
FullCPAlgorithmsTest_eljob.sh
sh
Definition: FullCPAlgorithmsTest_eljob.py:114
VP1RawDataHandleBase::buildTransform
virtual SoTransform * buildTransform()=0
RCU::Shell
Definition: ShellExec.cxx:28
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
VP1RawDataHandleBase::Imp::sep
SoSeparator * sep
Definition: VP1RawDataHandleBase.cxx:33
VP1RawDataHandleBase::updateShownOutlines
void updateShownOutlines()
Definition: VP1RawDataHandleBase.cxx:180
VP1RawDataCollBase::sepHelper
VP1ExtraSepLayerHelper * sepHelper() const
Definition: VP1RawDataCollBase.cxx:70
VP1RawDataHandleBase::m_visible
bool m_visible
Definition: VP1RawDataHandleBase.h:71
VP1RawDataHandleBase::Imp::isAttached
bool isAttached
Definition: VP1RawDataHandleBase.cxx:34
VP1RawDataHandleBase::Imp::clearShape
void clearShape()
Definition: VP1RawDataHandleBase.cxx:41
VP1RawDataHandleBase::common
VP1RawDataCommonData * common() const
Definition: VP1RawDataHandleBase.h:41