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

Public Member Functions

 Imp ()
 
void detach () const
 
void attach (AssociatedObjectHandleBase *theclass)
 
void ensureShapesBuild (AssociatedObjectHandleBase *theclass)
 
void ensureShapesErased (AssociatedObjectHandleBase *theclass)
 

Public Attributes

SoSeparator * sep_simple
 
SoSeparator * sep_detailed
 
AssocObjAttachmentHandleattachhandle
 

Static Public Attributes

static int nascobjs = 0
 

Detailed Description

Definition at line 27 of file AssociatedObjectHandleBase.cxx.

Constructor & Destructor Documentation

◆ Imp()

AssociatedObjectHandleBase::Imp::Imp ( )
inline

Definition at line 30 of file AssociatedObjectHandleBase.cxx.

30  : sep_simple(nullptr),
31  sep_detailed(nullptr),
32  attachhandle(nullptr)
33  //,transform(0)
34  {}

Member Function Documentation

◆ attach()

void AssociatedObjectHandleBase::Imp::attach ( AssociatedObjectHandleBase theclass)

Definition at line 162 of file AssociatedObjectHandleBase.cxx.

163 {
164  if (!attachhandle)
165  attachhandle = theclass->getAttachmentHandle();
167 }

◆ detach()

void AssociatedObjectHandleBase::Imp::detach ( ) const

Definition at line 147 of file AssociatedObjectHandleBase.cxx.

148 {
149  if (!attachhandle)
150  return;//Can't have been attached.
152 }

◆ ensureShapesBuild()

void AssociatedObjectHandleBase::Imp::ensureShapesBuild ( AssociatedObjectHandleBase theclass)

Definition at line 49 of file AssociatedObjectHandleBase.cxx.

50 {
52  return;
53  if (!sep_simple&&!sep_detailed) {
55  if (!sep_simple&&!sep_detailed) {
56  VP1Msg::messageDebug("AssociatedObjectHandleBase WARNING: Got null shapes! Replacing with simple points.");
57  sep_simple = new SoSeparator;//Fixme: Shared point!!!
58  }
59  if (sep_simple)
60  sep_simple->ref();
61  if (sep_detailed)
62  sep_detailed->ref();
63  }
64  if (!sep_detailed) {
66  sep_detailed->ref();
67  }
68  if (!sep_simple) {
70  sep_simple->ref();
71  }
72 
74 }

◆ ensureShapesErased()

void AssociatedObjectHandleBase::Imp::ensureShapesErased ( AssociatedObjectHandleBase theclass)

Definition at line 77 of file AssociatedObjectHandleBase.cxx.

78 {
79  if (sep_simple||sep_detailed) {
81  if (sep_simple) {
82  sep_simple->unref();
83  sep_simple = nullptr;
84  }
85  if (sep_detailed) {
86  sep_detailed->unref();
87  sep_detailed = nullptr;
88  }
89  }
90 }

Member Data Documentation

◆ attachhandle

AssocObjAttachmentHandle* AssociatedObjectHandleBase::Imp::attachhandle

Definition at line 37 of file AssociatedObjectHandleBase.cxx.

◆ nascobjs

int AssociatedObjectHandleBase::Imp::nascobjs = 0
static

Definition at line 29 of file AssociatedObjectHandleBase.cxx.

◆ sep_detailed

SoSeparator* AssociatedObjectHandleBase::Imp::sep_detailed

Definition at line 36 of file AssociatedObjectHandleBase.cxx.

◆ sep_simple

SoSeparator* AssociatedObjectHandleBase::Imp::sep_simple

Definition at line 35 of file AssociatedObjectHandleBase.cxx.


The documentation for this class was generated from the following file:
AssociatedObjectHandleBase::UNPICKABLE
@ UNPICKABLE
Definition: AssociatedObjectHandleBase.h:57
AssociatedObjectHandleBase::Imp::attachhandle
AssocObjAttachmentHandle * attachhandle
Definition: AssociatedObjectHandleBase.cxx:37
AssocObjAttachmentHandle::detachNodes
void detachNodes(SoNode *simple, SoNode *detailed)
Definition: TrackHandleBase.cxx:1920
AssociatedObjectHandleBase::Imp::sep_detailed
SoSeparator * sep_detailed
Definition: AssociatedObjectHandleBase.cxx:36
AssociatedObjectHandleBase::getAttachmentHandle
AssocObjAttachmentHandle * getAttachmentHandle()
Definition: AssociatedObjectHandleBase.cxx:155
AssociatedObjectHandleBase::pickStyle
PICKSTYLE pickStyle() const
Definition: AssociatedObjectHandleBase.h:59
AssocObjAttachmentHandle::attachNodes
void attachNodes(SoNode *simple, SoNode *detailed, bool unpickable)
Definition: TrackHandleBase.cxx:1785
AssociatedObjectHandleBase::Imp::sep_simple
SoSeparator * sep_simple
Definition: AssociatedObjectHandleBase.cxx:35
AssociatedObjectHandleBase::buildShapes
virtual void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)=0
AssociatedObjectHandleBase::unregisterShapes
void unregisterShapes(SoSeparator *simple, SoSeparator *detailed)
Definition: AssociatedObjectHandleBase.cxx:99
VP1Msg::messageDebug
static void messageDebug(const QString &)
Definition: VP1Msg.cxx:39
AssociatedObjectHandleBase::registerShapes
void registerShapes(SoSeparator *simple, SoSeparator *detailed)
Definition: AssociatedObjectHandleBase.cxx:93