ATLAS Offline Software
Loading...
Searching...
No Matches
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.

◆ 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}
void registerShapes(SoSeparator *simple, SoSeparator *detailed)
virtual void buildShapes(SoSeparator *&shape_simple, SoSeparator *&shape_detailed)=0
static void messageDebug(const QString &)
Definition VP1Msg.cxx:39

◆ ensureShapesErased()

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

Definition at line 77 of file AssociatedObjectHandleBase.cxx.

78{
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}
void unregisterShapes(SoSeparator *simple, SoSeparator *detailed)

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: