24#ifndef __ODGSHIGHLIGHTDATA_H__
25#define __ODGSHIGHLIGHTDATA_H__
75 , m_pDrawableId(pDrawableId)
76 , m_bPersistentId(
true)
83 , m_pDrawableId(pTransDrawable)
84 , m_bPersistentId(
false)
100 if (!(--m_nRefCounter))
124 const OdDbStub*
id()
const
126 return (m_bPersistentId) ?
reinterpret_cast<const OdDbStub*
>(m_pDrawableId) : NULL;
130 return (!m_bPersistentId) ?
reinterpret_cast<const OdGiDrawable*
>(m_pDrawableId) : NULL;
134 return m_setMarkers.empty() && aChild().isEmpty();
const OdGsMarker kNullSubentIndex
#define GS_TOOLKIT_EXPORT
std::set< OdGsMarker > OdGsMarkerSet
TPtr< OdGsStateBranch > OdGsStateBranchPtr
OdSmartPtr< OdGsStateBranchReactor > OdGsStateBranchReactorPtr
OdArray< OdGsStateBranchPtr > OdGsStateBranchPtrArray
OdGsStateBranch * addChild(OdDbStub *pDrawableId)
bool removeMarker(OdGsMarker marker)
void removeChild(const OdGsStateBranch *pChild)
const OdGiDrawable * drw() const
bool markersEmpty() const
OdGsStateBranchReactorPtr m_pReactor
void setStyle(OdUInt32 nStyle)
static OdGsStateBranchPtr create(OdDbStub *pDrawableId, OdGsMarker marker)
OdGsMarkerSet m_setMarkers
bool isPersistentId() const
OdRefCounter m_nRefCounter
OdGsStateBranch * findChild(const OdDbStub *pDrawableId)
OdGsStateBranchPtrArray m_aChild
const void * m_pDrawableId
OdGsStateBranch(const OdDbStub *pDrawableId)
static bool isValidMarker(OdGsMarker marker)
OdGsStateBranch * addChild(const OdGiDrawable *pTransDrawable)
const OdDbStub * id() const
bool hasMarker(OdGsMarker marker) const
OdGsStateBranch(const OdGiDrawable *pTransDrawable)
OdUInt32 markersSize() const
static OdGsStateBranchPtr create(OdGiDrawable *pTransDrawable, OdGsMarker marker)
const OdGsMarkerSet & markers() const
OdGsStateBranch * findChild(const OdGiDrawable *pTransDrawable)
void setReactor(OdGsStateBranchReactor *pReactor)
bool addMarker(OdGsMarker marker)
OdGsStateBranchReactor * reactor()
const OdGsStateBranchPtrArray & aChild() const
static void attach(OdGsStateBranch *pHlBranch, const void *pModule, OdGsStateBranchReactor *pReactor)
static OdGsStateBranchReactor * getReactor(OdGsStateBranch *pHlBranch, const void *pModule)
static void detach(OdGsStateBranch *pHlBranch, const void *pModule)
static void setReactor(OdGsStateBranch *pHlBranch, const void *pModule, OdGsStateBranchReactor *pReactor)
virtual void onChildAdded(OdGsStateBranch *pHlBranch, OdGsStateBranch *pHlBranchAdded)=0
virtual void onChildRemoved(OdGsStateBranch *pHlBranch, OdGsStateBranch *pHlBranchRemoved)=0
virtual void onMarkerAdded(OdGsStateBranch *pHlBranch, OdGsMarker gsMarker)=0
virtual void onStyleModified(OdGsStateBranch *pHlBranch, OdUInt32 nPrevStyle, OdUInt32 nStyle)=0
virtual void onMarkerRemoved(OdGsStateBranch *pHlBranch, OdGsMarker gsMarker)=0