24 #ifndef __ODGSHIGHLIGHTDATA_H__
25 #define __ODGSHIGHLIGHTDATA_H__
68 , m_pDrawableId(pDrawableId)
69 , m_bPersistentId(
true)
76 , m_pDrawableId(pTransDrawable)
77 , m_bPersistentId(
false)
93 if (!(--m_nRefCounter))
115 const OdDbStub*
id()
const
117 return (m_bPersistentId) ?
reinterpret_cast<const OdDbStub*
>(m_pDrawableId) :
NULL;
121 return (!m_bPersistentId) ?
reinterpret_cast<const OdGiDrawable*
>(m_pDrawableId) :
NULL;
125 return markers().isEmpty() && aChild().isEmpty();
const OdGsMarker kNullSubentIndex
#define GS_TOOLKIT_EXPORT
OdSmartPtr< OdGsHlBranchReactor > OdGsHlBranchReactorPtr
TPtr< OdGsHlBranch > OdGsHlBranchPtr
OdArray< OdGsHlBranchPtr > OdGsHlBranchPtrArray
static OdGsHlBranchPtr create(OdGiDrawable *pTransDrawable, OdGsMarker marker)
OdRefCounter m_nRefCounter
const OdDbStub * id() const
OdGsHlBranchReactor * reactor()
OdGsHlBranch * findChild(const OdGiDrawable *pTransDrawable)
OdGsHlBranch * findChild(const OdDbStub *pDrawableId)
OdGsHlBranchReactorPtr m_pReactor
static bool isValidMarker(OdGsMarker marker)
OdGsHlBranch(const OdDbStub *pDrawableId)
void setReactor(OdGsHlBranchReactor *pReactor)
static OdGsHlBranchPtr create(OdDbStub *pDrawableId, OdGsMarker marker)
const OdGiDrawable * drw() const
bool isPersistentId() const
const OdGsHlBranchPtrArray & aChild() const
OdGsHlBranchPtrArray m_aChild
OdGsMarkerArray m_aMarkers
const OdGsMarkerArray & markers() const
OdGsHlBranch * addChild(OdDbStub *pDrawableId)
OdGsHlBranch * addChild(const OdGiDrawable *pTransDrawable)
bool addMarker(OdGsMarker marker)
bool hasMarker(OdGsMarker marker) const
bool removeMarker(OdGsMarker marker)
OdGsHlBranch(const OdGiDrawable *pTransDrawable)
const void * m_pDrawableId
void removeChild(const OdGsHlBranch *pChild)
static void setReactor(OdGsHlBranch *pHlBranch, const void *pModule, OdGsHlBranchReactor *pReactor)
static void detach(OdGsHlBranch *pHlBranch, const void *pModule)
static void attach(OdGsHlBranch *pHlBranch, const void *pModule, OdGsHlBranchReactor *pReactor)
static OdGsHlBranchReactor * getReactor(OdGsHlBranch *pHlBranch, const void *pModule)
virtual void onMarkerRemoved(OdGsHlBranch *pHlBranch, OdGsMarker gsMarker)=0
virtual void onChildAdded(OdGsHlBranch *pHlBranch, OdGsHlBranch *pHlBranchAdded)=0
virtual void onChildRemoved(OdGsHlBranch *pHlBranch, OdGsHlBranch *pHlBranchRemoved)=0
virtual void onMarkerAdded(OdGsHlBranch *pHlBranch, OdGsMarker gsMarker)=0