CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
24 #ifndef __OD_GS_CONTAINER_NODE__
25 #define __OD_GS_CONTAINER_NODE__
55 kLastFlag = kVpDepCache
60 kChildrenNotUpToDate = 0x80000000
92 inline VpData *getVpData(
OdUInt32 nVpId,
bool bCreateIfNotFound =
true)
const;
96 inline bool hasVpData(
OdUInt32 nVpId)
const;
99 void setEntityListsInvalid();
101 inline bool isVpDepCache()
const;
111 void setEntityListValid(
OdUInt32 nVpId,
bool entityListValid);
119 bool childrenUpToDate(
OdUInt32 nVpId)
const;
125 bool needRegen(
OdUInt32 nVpId)
const;
277 bool entityListValid(
OdUInt32 nVpId)
const;
278 bool allEntityListsValid()
const;
279 bool isEmpty()
const;
288 void setChildrenUpToDate(
bool childrenUpToDate,
const OdUInt32* nVpID =
NULL);
289 bool childrenRegenDraw(
OdUInt32 nVpID)
const;
290 void setChildrenRegenDraw(
bool bVal,
OdUInt32 nVpID);
362 bool checkWorkset()
const;
363 void setCheckWorkset(
bool bVal);
398 inline void addViewRef(
OdUInt32 nVpId);
399 inline void removeViewRef(
OdUInt32 nVpId);
400 inline const ViewRefs& viewRefs()
const;
425 inline int numberOfChildren(
OdUInt32 nVpId)
const;
444 if (!pVpData && bCreateIfNotFound)
455 for (
OdUInt32 nVpId = 0; nVpId < nVpData; nVpId++)
457 if (pVpDataPtr[nVpId].get() == pVpData)
501 for (
OdUInt32 nView = 0; nView < nVpData; nView++)
528 bool bAllListsValid =
true;
529 for (
OdUInt32 nView = 0; nView < nViews; nView++)
534 bAllListsValid =
false;
646 return ( nAF == 0xFFFFFFFF || (
baseModel()->viewChanges(nVpID) & nAF) != 0 );
725 #endif // __OD_GS_CONTAINER_NODE__
#define GETBIT(flags, bit)
const ViewRefs & viewRefs() const
bool checkWorkset() const
void propagateLayerChangesStock()
OdSiSpatialIndexPtr m_pSpIndex
void insert(iterator before, const_iterator first, const_iterator afterLast)
OdSmartPtr< VpData > VpDataPtr
bool childrenRegenDraw(OdUInt32 nVpID) const
void addViewRef(OdUInt32 nVpId)
OdUInt32 viewportId(const OdGsViewImpl &pView, bool bForceVpId=true) const
OdUInt32 isAttached(OdGsEntityNode *pNode) const
void setEntityListsInvalid()
bool needRegen(OdUInt32 nVpId) const
bool loadVpData(OdGsFiler *pFiler, VpData *pVpData)
void addContentToUpdateManager(OdUInt32 viewportId, OdGsUpdateManager *pManager, const UpdateManagerContext &context)
void doSTUpdate(OdGsUpdateContext &ctx)
bool extents(OdGeExtents3d &extents) const
#define SETBIT(flags, bit, value)
void add(OdUInt32 viewportId)
void addChildNode(OdUInt32 nVpId, OdGsEntityNode *pEnt)
bool saveNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
const T & getAt(size_type index) const
static OdSmartPtr< VpData > createObject(bool bShareable=false)
VpData * makeVpData(OdUInt32 nVpId) const
virtual void removeLights(OdGsNode *pOwner, OdUInt32 nVpId=0xFFFFFFFF)
bool safeEntityUpdate(OdGsEntityNode *pEntity, OdGsUpdateContext &ctx, OdSiSpatialIndex *pSpatialIndex)
void setChildrenRegenDraw(bool bVal, OdUInt32 nVpID)
OdList< OdGsLightNode * > & lightNodesList(OdUInt32 nVpId)
static GS_STATIC_EXPORT const OdGsUpdateExtents kInvalid
virtual void displayEntityList(OdGsDisplayContext &ctx)
void removeViewRef(OdUInt32 nVpId)
void display(OdGsDisplayContext &ctx)
virtual void addChild(const OdGiDrawable *pDrawable, OdGsViewImpl *pView, bool unerased=false)
virtual bool extents(const OdGsView *pView, OdGeExtents3d &ext) const
OdUInt32 vpDataId(const VpData *pVpData) const
bool highlightSubnodes(OdUInt32 nSubnodes, bool bHighlight, bool bAll)
OdUInt32 numVpData() const
OdGsEntityNode * m_pLastEntity
void setRealExtents(OdUInt32 nVpId, const OdGsUpdateExtents &ext)
#define SETBIT_0(flags, bit)
VpData * getVpData(OdUInt32 nVpId, bool bCreateIfNotFound=true) const
OdUInt32 m_nChildSingleThreaded
OdGsEntityNode * lastEntityNode(OdUInt32 nVpId)
bool childrenUpToDate(OdUInt32 nVpId) const
OdGsContainerNode(OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable, bool bSetGsNode=true)
int numberOfChildren(OdUInt32 nVpId) const
OdGsEntityNode * m_pClearSpatialQueryStateFirst
bool doMTUpdate(OdGsUpdateContext &ctx)
void setCheckWorkset(bool bVal)
bool entityListValid(OdUInt32 nVpId) const
void updateVisible(OdGsViewImpl *pViewImpl)
OdVector< VpDataPtr > VpDataArray
void setEntityListValid(OdUInt32 nVpId, bool entityListValid)
virtual bool updateEntityList(OdGsUpdateContext &ctx)
virtual void addLight(OdGsUpdateContext &ctx, const OdGiDrawable *pDrawable)
bool isVpDepCache() const
void update(OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *pParentIndex)
void setChildrenUpToDate(bool childrenUpToDate, const OdUInt32 *nVpID=NULL)
const OdGsUpdateExtents & realExtents(OdUInt32 nVpId) const
VpDataPtr m_shareableData
bool saveVpData(OdGsFiler *pFiler, const VpData *pVpData) const
bool findCompatibleCache(OdGsViewImpl &keyView)
bool hasVpData(OdUInt32 nVpId) const
bool postprocessNodeLoading(OdGsFiler *pFiler)
OdUInt32Vector m_vpAwareFlags
OdUInt32 numberOfChildrenST(OdUInt32 nVpId) const
OdUInt32 awareFlags(OdUInt32 viewportId) const
#define GS_TOOLKIT_EXPORT
void turnOnLights(OdGsBaseVectorizer &view)
OdGsEntityNode * m_pFirstEntity
const StockProps & stock() const
virtual void removeChild(OdGsNode *pNode)
void setAwareFlags(OdUInt32 viewportId, OdUInt32 flags)
virtual ENodeType nodeType() const
OdList< OdGsLightNode * > LightsList
ODRX_DECLARE_MEMBERS(OdGsContainerNode)
void propagateInvalidVpFlag()
OdUInt32 m_nChildHighlighted
OdUInt32 numberOfChildrenErased(OdUInt32 nVpId) const
bool loadNodeState(OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
OdUInt32 currViewChanges() const
void remove(OdUInt32 viewportId)
OdGsUpdateExtents m_realExtents
void invalidate(OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)
bool allEntityListsValid() const
void addEntProps(const OdGsUpdateContext &ctx)
virtual void propagateLayerChanges(OdGsViewImpl &view)
virtual void updateEntities(OdGsUpdateContext &ctx)
OdGsEntityNode * firstEntityNode(OdUInt32 nVpId)
OdSiSpatialIndex & spatialIndex(OdUInt32 nVpId)
OdGsBaseModel * baseModel() const