24 #ifndef __OD_GS_NODE__
25 #define __OD_GS_NODE__
36 class OdGsUpdateContext;
37 class OdGsDisplayContext;
77 kPersistent = 0x00000001,
78 kContainer = 0x00000002,
80 kHLT_All = 0x00000008,
81 kSyncDrawable = 0x00000010,
83 kSelectHidden = 0x00000040,
84 kLastFlag = kSelectHidden
89 enum { kInvalidateVp = 0x80000000 };
106 void*
operator new(size_t);
107 void operator delete(
void *);
138 bool isContainer()
const;
142 bool isSyncDrawable()
const;
163 OdDbStub* underlyingDrawableId()
const;
183 virtual void display(OdGsDisplayContext& ctx) = 0;
194 virtual void highlight(
bool bDoIt,
bool bWholeBranch);
196 bool isHighlighted()
const;
197 bool isHighlightedAll()
const;
201 void hide(
bool bDoIt);
202 bool isHidden()
const;
204 void setSelectableIfHidden(
bool bSelectable);
205 bool isSelectableIfHidden()
const;
#define GS_TOOLKIT_EXPORT
GS_TOOLKIT_EXPORT OdGiDrawablePtr fxUnderlyingDrawable(const OdGsNode *)
#define SETBIT(flags, bit, value)
#define GETBIT(flags, bit)
virtual bool extents(OdGeExtents3d &extents) const =0
bool isSelectableIfHidden() const
virtual void setDrawableNull()
virtual void update(OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *pParentIndex)=0
virtual bool postprocessNodeLoading(OdGsFiler *pFiler)
TD_USING(OdGsCache::extents)
virtual OdDb::LineWeight getMaxLineweightUsed() const
virtual ENodeType nodeType() const =0
OdGiDrawablePtr underlyingDrawable() const
virtual bool saveNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
bool isHighlightedAll() const
virtual void addContentToUpdateManager(OdUInt32 viewportId, OdGsUpdateManager *pManager, const UpdateManagerContext &context)
void setSelectableIfHidden(bool bSelectable)
ODRX_DECLARE_MEMBERS(OdGsNode)
friend GS_TOOLKIT_EXPORT OdGiDrawablePtr fxUnderlyingDrawable(const OdGsNode *)
bool isHighlighted() const
virtual void invalidate(OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)=0
OdGsModel * model() const
virtual bool extents(const OdGsView *pView, OdGeExtents3d &ext) const
virtual bool loadClientNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer)
void setToDrawable(const OdGiDrawable *pUnderlyingDrawable)
void setInvalidVp(bool val)
OdDbStub * underlyingDrawableId() const
void * m_underlyingDrawable
virtual void propagateLayerChanges(OdGsViewImpl &view)=0
virtual void updateVisible(OdGsViewImpl *pViewImpl)
virtual bool saveClientNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer) const
static GS_STATIC_EXPORT AllocatorArray s_aAlloc
OdGsNode(const OdGsNode &c)
OdGsBaseModel * baseModel() const
virtual bool loadNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
virtual void display(OdGsDisplayContext &ctx)=0
virtual void highlight(bool bDoIt, bool bWholeBranch)
bool isSyncDrawable() const
OdGsNode(OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable)