CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
OdGsContainerNode Class Reference

#include <GsContainerNode.h>

Inheritance diagram for OdGsContainerNode:
OdGsNode OdGsCache OdRxObject

Classes

struct  VpData
 

Public Member Functions

bool hasVpData (OdUInt32 nVpId) const
 
OdUInt32 numVpData () const
 
OdUInt32 isAttached (OdGsEntityNode *pNode) const
 
void setEntityListsInvalid ()
 
OdUInt32 viewportId (const OdGsViewImpl &pView, bool bForceVpId=true) const
 
bool isVpDepCache () const
 
void setVpDepCache (const OdGsViewImpl &pView)
 
void setEntityListValid (OdUInt32 nVpId, bool entityListValid)
 
bool childrenUpToDate (OdUInt32 nVpId) const
 
bool needRegen (OdUInt32 nVpId) const
 
void addChildNode (OdUInt32 nVpId, OdGsEntityNode *pEnt)
 
void turnOnLights (OdGsBaseVectorizer &view)
 
virtual ENodeType nodeType () const
 
virtual void displayEntityList (OdGsDisplayContext &ctx)
 
OdGsEntityNodefirstEntityNode (OdUInt32 nVpId)
 
const OdGsEntityNodefirstEntityNode (OdUInt32 nVpId) const
 
OdGsEntityNodelastEntityNode (OdUInt32 nVpId)
 
const OdGsEntityNodelastEntityNode (OdUInt32 nVpId) const
 
OdList< OdGsLightNode * > & lightNodesList (OdUInt32 nVpId)
 
const OdList< OdGsLightNode * > & lightNodesList (OdUInt32 nVpId) const
 
OdUInt32 awareFlags (OdUInt32 viewportId) const
 
void setAwareFlags (OdUInt32 viewportId, OdUInt32 flags)
 
 ODRX_DECLARE_MEMBERS (OdGsContainerNode)
 
 OdGsContainerNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable, bool bSetGsNode=true)
 
 ~OdGsContainerNode ()
 
bool entityListValid (OdUInt32 nVpId) const
 
bool allEntityListsValid () const
 
bool isEmpty () const
 
void setChildrenUpToDate (bool childrenUpToDate, const OdUInt32 *nVpID=NULL)
 
bool childrenRegenDraw (OdUInt32 nVpID) const
 
void setChildrenRegenDraw (bool bVal, OdUInt32 nVpID)
 
virtual void addChild (const OdGiDrawable *pDrawable, OdGsViewImpl *pView, bool unerased=false)
 
virtual void addLight (OdGsUpdateContext &ctx, const OdGiDrawable *pDrawable)
 
virtual void removeLights (OdGsNode *pOwner, OdUInt32 nVpId=0xFFFFFFFF)
 
virtual void removeChild (OdGsNode *pNode)
 
void update (OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *pParentIndex)
 
void updateVisible (OdGsViewImpl *pViewImpl)
 
void display (OdGsDisplayContext &ctx)
 
OdSiSpatialIndexspatialIndex (OdUInt32 nVpId)
 
const OdSiSpatialIndexspatialIndex (OdUInt32 nVpId) const
 
void invalidate (OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)
 
OdUInt32 currViewChanges () const
 
bool extents (OdGeExtents3d &extents) const
 
virtual bool extents (const OdGsView *pView, OdGeExtents3d &ext) const
 
void propagateInvalidVpFlag ()
 
bool checkWorkset () const
 
void setCheckWorkset (bool bVal)
 
virtual bool updateEntityList (OdGsUpdateContext &ctx)
 
virtual void updateEntities (OdGsUpdateContext &ctx)
 
bool findCompatibleCache (OdGsViewImpl &keyView)
 
bool highlightSubnodes (OdUInt32 nSubnodes, bool bHighlight, bool bAll, OdUInt32 nSelStyle=0)
 
void destroy ()
 
void destroySubitems ()
 
const OdGsUpdateExtentsrealExtents (OdUInt32 nVpId) const
 
void setRealExtents (OdUInt32 nVpId, const OdGsUpdateExtents &ext, bool bRecompute=false)
 
void addViewRef (OdUInt32 nVpId)
 
void removeViewRef (OdUInt32 nVpId)
 
const ViewRefsviewRefs () const
 
const StockPropsstock () const
 
void makeStock ()
 
void releaseStock ()
 
void propagateLayerChangesStock ()
 
bool saveNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
 
bool loadNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
 
bool postprocessNodeLoading (OdGsFiler *pFiler)
 
bool safeEntityUpdate (OdGsEntityNode *pEntity, OdGsUpdateContext &ctx, OdSiSpatialIndex *pSpatialIndex)
 
void addEntProps (const OdGsUpdateContext &ctx)
 
bool doMTUpdate (OdGsUpdateContext &ctx)
 
void doSTUpdate (OdGsUpdateContext &ctx)
 
void removeErased ()
 
int numberOfChildren (OdUInt32 nVpId) const
 
OdUInt32 numberOfChildrenST (OdUInt32 nVpId) const
 
OdUInt32 numberOfChildrenErased (OdUInt32 nVpId) const
 
void addContentToUpdateManager (OdUInt32 viewportId, OdGsUpdateManager *pManager, const UpdateManagerContext &context)
 
bool isMetafilesCompatible (const OdGsViewImpl *pView1, const OdGsViewImpl *pView2, OdGsUpdateContext *ctx)
 
- Public Member Functions inherited from OdGsNode
bool invalidVp () const
 
void setToDrawable (const OdGiDrawable *pUnderlyingDrawable)
 
 ODRX_DECLARE_MEMBERS (OdGsNode)
 
voidoperator new (size_t)
 
void operator delete (void *)
 
void addRef ()
 
void release () ODRX_NOEXCEPT
 
 OdGsNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable)
 
virtual ~OdGsNode ()
 
OdGsBaseModelbaseModel () const
 
OdGsModelmodel () const
 
bool isContainer () const
 
bool isSyncDrawable () const
 
OdGiDrawablePtr underlyingDrawable () const
 
OdDbStub * underlyingDrawableId () const
 
virtual void highlight (bool bDoIt, bool bWholeBranch, OdUInt32 nSelStyle=0)
 
bool isHighlighted () const
 
bool isHighlightedAll () const
 
virtual void hide (bool bDoIt, bool bSelectable=false, bool bWholeBranch=true)
 
bool isHidden () const
 
bool isSelectableIfHidden () const
 
bool isHiddenAll () const
 
OdUInt32 selectionStyle () const
 
bool hasSelectionStyle () const
 
OdUInt32 userFlags () const
 
void setUserFlags (OdUInt32 val)
 
virtual bool saveClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer) const
 
virtual bool loadClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer)
 
 TD_USING (OdGsCache::extents)
 
bool modelExtents (OdGeExtents3d &ext, bool bUseModelTf=true) const
 
bool modelExtents (const OdGsView *pView, OdGeExtents3d &ext, bool bUseModelTf=true) const
 
virtual OdDb::LineWeight getMaxLineweightUsed () const
 
virtual void setDrawableNull ()
 
- Public Member Functions inherited from OdGsCache
 ODRX_DECLARE_MEMBERS (OdGsCache)
 
- Public Member Functions inherited from OdRxObject
 ODRX_HEAP_OPERATORS ()
 
 OdRxObject ()
 
virtual ~OdRxObject ()
 
virtual OdRxObjectqueryX (const OdRxClass *pClass) const
 
virtual OdRxObjectx (const OdRxClass *pClass) const
 
virtual OdRxClassisA () const
 
virtual long numRefs () const
 
bool isKindOf (const OdRxClass *pClass) const
 
virtual OdRxObjectPtr clone () const
 
virtual void copyFrom (const OdRxObject *pSource)
 
virtual OdRx::Ordering comparedTo (const OdRxObject *pOther) const
 
virtual bool isEqualTo (const OdRxObject *pOther) const
 

Public Attributes

OdMutex m_nodesMutex
 

Protected Types

enum  {
  kEntityListValid = OdGsNode::kLastFlag << 1 , kCheckWorkset = OdGsNode::kLastFlag << 2 , kHasStockData = OdGsNode::kLastFlag << 3 , kVpDepCache = OdGsNode::kLastFlag << 4 ,
  kLastFlag = kVpDepCache
}
 
enum  { kChildrenNotUpToDate = 0x80000000 }
 
typedef OdList< OdGsLightNode * > LightsList
 
typedef OdSmartPtr< VpDataVpDataPtr
 
typedef OdVector< VpDataPtrVpDataArray
 
- Protected Types inherited from OdGsNode
enum  {
  kPersistent = 0x00000001 , kContainer = 0x00000002 , kHLT = 0x00000004 , kHLT_All = 0x00000008 ,
  kSyncDrawable =0x00000010 , kHidden = 0x00000020 , kSelectHidden =0x00000040 , kHiddenAll = 0x00000080 ,
  kSelStyle = 0x00000100 , kLastFlag = kSelStyle
}
 
enum  { kInvalidateVp = 0x80000000 }
 

Protected Member Functions

VpDatagetVpData (OdUInt32 nVpId, bool bCreateIfNotFound=true) const
 
VpDatamakeVpData (OdUInt32 nVpId) const
 
OdUInt32 vpDataId (const VpData *pVpData) const
 
virtual void propagateLayerChanges (OdGsViewImpl &view)
 
bool saveVpData (OdGsFiler *pFiler, const VpData *pVpData) const
 
bool loadVpData (OdGsFiler *pFiler, VpData *pVpData)
 
- Protected Member Functions inherited from OdGsNode
void setInvalidVp (bool val)
 
void clearDrawable ()
 
void setSelectionStyleImpl (OdUInt32 nStyle)
 
OdUInt32 getSelectionStyleImpl () const
 
 OdGsNode (const OdGsNode &c)
 

Protected Attributes

VpDataArray m_vpData
 
VpDataPtr m_shareableData
 
OdUInt32Vector m_vpAwareFlags
 
ViewRefs m_viewRefs
 
StockProps m_stock
 
OdMutexPtr m_lightsMutex
 
- Protected Attributes inherited from OdGsNode
OdGsNodem_pPrev
 
OdGsNodem_pNext
 
OdGsBaseModelm_pModel
 
voidm_underlyingDrawable
 
OdUInt32 m_flags
 
OdUInt32 m_userFlags
 

Additional Inherited Members

- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 
static void rxInit ()
 
static void rxUninit ()
 
- Static Protected Attributes inherited from OdGsNode
static GS_STATIC_EXPORT AllocatorArray s_aAlloc
 

Detailed Description

This class implements OdGsNode descendent objects that can serve as containers for OdGsEntityNode objects.

Corresponding C++ library: TD_Gs <group OdGs_Classes>

Definition at line 46 of file GsContainerNode.h.

Member Typedef Documentation

◆ LightsList

Definition at line 66 of file GsContainerNode.h.

◆ VpDataArray

Definition at line 93 of file GsContainerNode.h.

◆ VpDataPtr

Definition at line 92 of file GsContainerNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
kEntityListValid 
kCheckWorkset 
kHasStockData 
kVpDepCache 
kLastFlag 

Definition at line 51 of file GsContainerNode.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kChildrenNotUpToDate 

Definition at line 60 of file GsContainerNode.h.

Constructor & Destructor Documentation

◆ OdGsContainerNode()

OdGsContainerNode::OdGsContainerNode ( OdGsBaseModel * pModel,
const OdGiDrawable * pUnderlyingDrawable,
bool bSetGsNode = true )

Constructor for the OdGsContainerNode class.

Parameters
pModel[in] Pointer to the BaseModel object.
pUnderlyingDrawable[in] Pointer to the underlying Drawable object.
bSetGsNode[in] Flag that controls whether to set GS node to the underlying drawable.

◆ ~OdGsContainerNode()

OdGsContainerNode::~OdGsContainerNode ( )

Destructor for the OdGsContainerNode class.

Member Function Documentation

◆ addChild()

virtual void OdGsContainerNode::addChild ( const OdGiDrawable * pDrawable,
OdGsViewImpl * pView,
bool unerased = false )
virtual

Adds a child node to this ContainerNode object.

Parameters
pDrawable[in] Pointer to the Drawable object.
unerased[in] Added child is unerased.

◆ addChildNode()

void OdGsContainerNode::addChildNode ( OdUInt32 nVpId,
OdGsEntityNode * pEnt )

Returns true if and only if a regen is required for the specified Viewport object for this ContainterNode object.

Parameters
nVpId[in] Viewport ID.
pEnt[in] Pointer to an entity node to add.

◆ addContentToUpdateManager()

void OdGsContainerNode::addContentToUpdateManager ( OdUInt32 viewportId,
OdGsUpdateManager * pManager,
const UpdateManagerContext & context )
virtual

Adds content to the update manager.

Parameters
viewportId[in] Viewport ID.
pManager[in] Pointer to a manager for which to add content.
context[in] Update manager context.

Reimplemented from OdGsNode.

◆ addEntProps()

void OdGsContainerNode::addEntProps ( const OdGsUpdateContext & ctx)

Adds entity properties from the passed context. Adds viewport real extents and sets aware flags.

Parameters
ctx[in] GS update context.

◆ addLight()

virtual void OdGsContainerNode::addLight ( OdGsUpdateContext & ctx,
const OdGiDrawable * pDrawable )
virtual

◆ addViewRef()

void OdGsContainerNode::addViewRef ( OdUInt32 nVpId)
inline

Definition at line 888 of file GsContainerNode.h.

◆ allEntityListsValid()

bool OdGsContainerNode::allEntityListsValid ( ) const
inline

Checks whether the EntityListValid flag is set for this ContainterNode object.

Returns
true if and only if the EntityListValid flag is set for this ContainterNode object.
Remarks
This flag is typically set by update() and cleared by invalidate().

Definition at line 692 of file GsContainerNode.h.

◆ awareFlags()

OdUInt32 OdGsContainerNode::awareFlags ( OdUInt32 viewportId) const
inline

Returns the Aware flags for the specified Viewport for this ContainerNode object.

Parameters
viewportId[in] Viewport ID.
Remarks
awareFlags() returns a combination of zero or more of the following:

Value kVpID 0x00000001 kVpRegenType 0x00000002 kVpRenderMode 0x00000004 kVpWorldToEye 0x00000008 kVpPerspective 0x00000010 kVpResolution 0x00000020 kVpMaxDevForCircle 0x00000040 kVpMaxDevForCurve 0x00000080 kVpMaxDevForBoundary 0x00000100 kVpMaxDevForIsoline 0x00000200 kVpMaxDevForFacet 0x00000400 kVpCamLocation 0x00000800 kVpCamTarget 0x00001000 kVpCamUpVector 0x00002000 kVpCamViewDir 0x00004000 kVpViewport 0x00008000 kVpFrontBack 0x00010000 kVpFrozenLayers 0x00020000 kVpLtypeScaleMult 0x00040000 kEntityRegenDraw 0x00080000 kVpDisableLayoutCache 0x00100000 kVpModelTf 0x00200000 kVpExcludeFromExtMinMax 0x00400000 kSectionable 0x00800000 kVpRenderModule 0x01000000 kVpAnnoScale 0x02000000 kVpFilterFunction 0x04000000 kVpVisualStyle 0x08000000 kVpHighlightingGeom 0x10000000

Definition at line 817 of file GsContainerNode.h.

◆ checkWorkset()

bool OdGsContainerNode::checkWorkset ( ) const
inline

Definition at line 848 of file GsContainerNode.h.

◆ childrenRegenDraw()

bool OdGsContainerNode::childrenRegenDraw ( OdUInt32 nVpID) const
inline

Checks whether the kEntityRegenDraw flag is set for the specified viewport ID.

Parameters
nVpID[in] Viewport ID.
Returns
true if the kEntityRegenDraw flag is set for the specified valid viewport ID, false otherwise.

Definition at line 858 of file GsContainerNode.h.

◆ childrenUpToDate()

bool OdGsContainerNode::childrenUpToDate ( OdUInt32 nVpId) const
inline

Checks whether the ChildrenUpToDate flag is set for this containter node.

Parameters
nVpId[in] Viewport ID.
Remarks
This flag is typically set by update() and cleared by addChild() and invalidate().
Returns
true if and only if the ChildrenUpToDate flag is set for this ContainterNode object.

Definition at line 793 of file GsContainerNode.h.

◆ currViewChanges()

OdUInt32 OdGsContainerNode::currViewChanges ( ) const

Returns summ of all aware flags for entire viewports list.

◆ destroy()

void OdGsContainerNode::destroy ( )
virtual

Calls the destroySubitems() method.

Implements OdGsNode.

◆ destroySubitems()

void OdGsContainerNode::destroySubitems ( )

Destroys all sub-items of this container node.

◆ display()

void OdGsContainerNode::display ( OdGsDisplayContext & ctx)
virtual

Paints the specified view with the cached data associated with this Node object.

Parameters
ctx[in] Current GS update context.

Implements OdGsNode.

◆ displayEntityList()

virtual void OdGsContainerNode::displayEntityList ( OdGsDisplayContext & ctx)
virtual

Vectorizes the entities in all of the child nodes of this ContainerNode object.

Parameters
ctx[in] Display context.

◆ doMTUpdate()

bool OdGsContainerNode::doMTUpdate ( OdGsUpdateContext & ctx)

Performs a multi-threaded update.

Parameters
ctx[in] GS update context.
Returns
true if performed multi-threaded update successfully, or returns false if invalid context is passed or multi-threaded context run failed.

◆ doSTUpdate()

void OdGsContainerNode::doSTUpdate ( OdGsUpdateContext & ctx)

Performs a single-threaded update.

Parameters
ctx[in] GS update context.

◆ entityListValid()

bool OdGsContainerNode::entityListValid ( OdUInt32 nVpId) const
inline

Checks whether the EntityListValid flag is set for a specified viewport ID in this ContainterNode object.

Parameters
nVpId[in] Viewport ID.
Returns
true if and only if the EntityListValid flag is set for this ContainterNode object.
Remarks
This flag is typically set by update() and cleared by invalidate().

Definition at line 682 of file GsContainerNode.h.

◆ extents() [1/2]

virtual bool OdGsContainerNode::extents ( const OdGsView * pView,
OdGeExtents3d & ext ) const
virtual

Returns extents of this container node object.

Parameters
ext[out] Reference to the OdGeExtents3d object which will receive current container node extents.

Reimplemented from OdGsNode.

◆ extents() [2/2]

bool OdGsContainerNode::extents ( OdGeExtents3d & extents) const
virtual

Returns extents of this container node object.

Parameters
extents[out] Reference to the OdGeExtents3d object which will receive current container node extents.

Implements OdGsCache.

◆ findCompatibleCache()

bool OdGsContainerNode::findCompatibleCache ( OdGsViewImpl & keyView)

Finds compatible cache for the passed view.

Parameters
keyView[in] View implementation object for which to find compatible cache.
Returns
true if compatible cache is found, false if compatible cache is not found or if viewport ID of the passed view is invalid.

◆ firstEntityNode() [1/2]

OdGsEntityNode * OdGsContainerNode::firstEntityNode ( OdUInt32 nVpId)
inline

Returns pointer to the first entity node inside container.

Parameters
nVpId[in] Viewport ID.

Definition at line 751 of file GsContainerNode.h.

◆ firstEntityNode() [2/2]

const OdGsEntityNode * OdGsContainerNode::firstEntityNode ( OdUInt32 nVpId) const
inline

Returns pointer to the first entity node inside container.

Parameters
nVpId[in] Viewport ID.

Definition at line 759 of file GsContainerNode.h.

◆ getVpData()

OdGsContainerNode::VpData * OdGsContainerNode::getVpData ( OdUInt32 nVpId,
bool bCreateIfNotFound = true ) const
inlineprotected

Definition at line 638 of file GsContainerNode.h.

◆ hasVpData()

bool OdGsContainerNode::hasVpData ( OdUInt32 nVpId) const
inline

Checks whether this node has viewport data for the specified viewport ID.

Parameters
nVpId[in] Viewport ID.
Returns
true if plot styles are supported, false otherwise.

Definition at line 663 of file GsContainerNode.h.

◆ highlightSubnodes()

bool OdGsContainerNode::highlightSubnodes ( OdUInt32 nSubnodes,
bool bHighlight,
bool bAll,
OdUInt32 nSelStyle = 0 )

Adds or releases the counter of highlighted children of the node, and sets the kHLT/kHLT_All flags if necessary.

Parameters
nSubnodes[in] Number of subnodes.
bHighlight[in] Flag that specifies whether to highlight. If true - highlight, if false - unhighlight.
bAll[in] If true then consider kHLT_All flag.
nSelStyle[in] Optional selection style index.
Returns
true if and only if highlighting of the child caused change of the kHLT flag on the container.

◆ invalidate()

void OdGsContainerNode::invalidate ( OdGsContainerNode * pParent,
OdGsViewImpl * pView,
OdUInt32 mask )
virtual
Remarks
The default implementation of this function ignores the pParent argument.

Implements OdGsNode.

◆ isAttached()

OdUInt32 OdGsContainerNode::isAttached ( OdGsEntityNode * pNode) const

Retrieves number of elements in the array of viewport data elements which are attached to the specified entity node.

Parameters
pNode[in] Pointer to an entity node.

◆ isEmpty()

bool OdGsContainerNode::isEmpty ( ) const
inline

Checks whether this ContainterNode object is empty.

Returns
true if this ContainterNode object has no viewport data for all associated viewport or this viewport data does not point to valid entity nodes, otherwise returns false.

Definition at line 697 of file GsContainerNode.h.

◆ isMetafilesCompatible()

bool OdGsContainerNode::isMetafilesCompatible ( const OdGsViewImpl * pView1,
const OdGsViewImpl * pView2,
OdGsUpdateContext * ctx )
virtual

Checks whether the passed views have compatible metafiles.

Parameters
pView1[in] Pointer to the first implementation view to compare metafiles.
pView12[in] Pointer to the second implementation view to compare metafiles.
ctx[in] GS update context.

Reimplemented from OdGsNode.

◆ isVpDepCache()

bool OdGsContainerNode::isVpDepCache ( ) const
inline

Checks whether the kVpDepCache flag is set.

Returns
true if the kVpDepCache flag is set to true, false otherwise.

Definition at line 677 of file GsContainerNode.h.

◆ lastEntityNode() [1/2]

OdGsEntityNode * OdGsContainerNode::lastEntityNode ( OdUInt32 nVpId)
inline

Returns pointer to the last entity node inside container.

Parameters
nVpId[in] Viewport ID.

Definition at line 767 of file GsContainerNode.h.

◆ lastEntityNode() [2/2]

const OdGsEntityNode * OdGsContainerNode::lastEntityNode ( OdUInt32 nVpId) const
inline

Returns pointer to the last entity node inside container.

Parameters
nVpId[in] Viewport ID.

Definition at line 775 of file GsContainerNode.h.

◆ lightNodesList() [1/2]

OdList< OdGsLightNode * > & OdGsContainerNode::lightNodesList ( OdUInt32 nVpId)
inline

Returns light nodes list.

Parameters
nVpId[in] Viewport ID.

Definition at line 783 of file GsContainerNode.h.

◆ lightNodesList() [2/2]

const OdList< OdGsLightNode * > & OdGsContainerNode::lightNodesList ( OdUInt32 nVpId) const
inline

Returns light nodes list.

Parameters
nVpId[in] Viewport ID.

Definition at line 788 of file GsContainerNode.h.

◆ loadNodeState()

bool OdGsContainerNode::loadNodeState ( OdGsFiler * pFiler,
OdGsBaseVectorizer * pVectorizer = NULL )
virtual

Loads current node state from filer object.

Parameters
pFiler[in] Filer object.
pVectorizer[in] Pointer to a vectorizer. May be required for saving client node state.
Returns
true state of this node is successfully loaded, false otherwise.

Reimplemented from OdGsNode.

◆ loadVpData()

bool OdGsContainerNode::loadVpData ( OdGsFiler * pFiler,
VpData * pVpData )
protected

◆ makeStock()

void OdGsContainerNode::makeStock ( )

◆ makeVpData()

VpData * OdGsContainerNode::makeVpData ( OdUInt32 nVpId) const
protected

◆ needRegen()

bool OdGsContainerNode::needRegen ( OdUInt32 nVpId) const
inline

Returns true if and only if a regen is required for the specified Viewport object for this ContainterNode object.

Parameters
nVpId[in] Viewport ID.

Definition at line 839 of file GsContainerNode.h.

◆ nodeType()

virtual ENodeType OdGsContainerNode::nodeType ( ) const
inlinevirtual

Returns node type of this node.

Implements OdGsNode.

Definition at line 194 of file GsContainerNode.h.

◆ numberOfChildren()

int OdGsContainerNode::numberOfChildren ( OdUInt32 nVpId) const
inline

Returns number of child entities

Parameters
nVpId[in] Viewport ID.

Definition at line 908 of file GsContainerNode.h.

◆ numberOfChildrenErased()

OdUInt32 OdGsContainerNode::numberOfChildrenErased ( OdUInt32 nVpId) const
inline

Definition at line 918 of file GsContainerNode.h.

◆ numberOfChildrenST()

OdUInt32 OdGsContainerNode::numberOfChildrenST ( OdUInt32 nVpId) const
inline

Definition at line 913 of file GsContainerNode.h.

◆ numVpData()

OdUInt32 OdGsContainerNode::numVpData ( ) const
inline

Retrieves number of elements in the array of viewport data elements.

Returns
1 if kVpDepCache flag is not set, otherwise returns number of elements in the array of viewport data elements.

Definition at line 670 of file GsContainerNode.h.

◆ ODRX_DECLARE_MEMBERS()

OdGsContainerNode::ODRX_DECLARE_MEMBERS ( OdGsContainerNode )

◆ postprocessNodeLoading()

bool OdGsContainerNode::postprocessNodeLoading ( OdGsFiler * pFiler)
virtual

Runs the post-processing after nodes are loaded from filer. Processes spatial indexes for entity nodes associated with the loaded viewport data.

Parameters
pFiler[in] Filer object.
Returns
true if post-processing is successful, false otherwise.

Reimplemented from OdGsNode.

◆ propagateInvalidVpFlag()

void OdGsContainerNode::propagateInvalidVpFlag ( )

Updates invalidVp flag for entire entities list.

◆ propagateLayerChanges()

virtual void OdGsContainerNode::propagateLayerChanges ( OdGsViewImpl & view)
protectedvirtual

Invalidates parts of cache depended on layers modified since last regeneration.

Parameters
view[in] View Implementation object.
Remarks
For internal use only. Returns this if and only if the this node is one of modified layers.

Implements OdGsNode.

◆ propagateLayerChangesStock()

void OdGsContainerNode::propagateLayerChangesStock ( )

◆ realExtents()

const OdGsUpdateExtents & OdGsContainerNode::realExtents ( OdUInt32 nVpId) const
inline

Returns real extents of the node

Parameters
nVpId[in] Viewport ID.

Definition at line 873 of file GsContainerNode.h.

◆ releaseStock()

void OdGsContainerNode::releaseStock ( )

◆ removeChild()

virtual void OdGsContainerNode::removeChild ( OdGsNode * pNode)
virtual

Removes the specified child node from this ContainerNode object.

Parameters
pNode[in] Pointer to the child object.

◆ removeErased()

void OdGsContainerNode::removeErased ( )

Removes entities marked as erased.

◆ removeLights()

virtual void OdGsContainerNode::removeLights ( OdGsNode * pOwner,
OdUInt32 nVpId = 0xFFFFFFFF )
virtual

◆ removeViewRef()

void OdGsContainerNode::removeViewRef ( OdUInt32 nVpId)
inline

Definition at line 893 of file GsContainerNode.h.

◆ safeEntityUpdate()

bool OdGsContainerNode::safeEntityUpdate ( OdGsEntityNode * pEntity,
OdGsUpdateContext & ctx,
OdSiSpatialIndex * pSpatialIndex )

Perform the safe update for the specified entity. Update errors are reported, if they occur.

Parameters
pEntity[in] Pointer to an entity node object to update.
ctx[in] GS update context.
pSpatialIndex[in] Pointer to a spatial index.
Returns
false if the vectorization process should be aborted, true otherwise.

◆ saveNodeState()

bool OdGsContainerNode::saveNodeState ( OdGsFiler * pFiler,
OdGsBaseVectorizer * pVectorizer = NULL ) const
virtual

Stores current node state into filer object.

Parameters
pFiler[in] Filer object.
pVectorizer[in] Pointer to a vectorizer. May be required for saving client node state.
Returns
true state of this node is successfully saved, false otherwise.

Reimplemented from OdGsNode.

◆ saveVpData()

bool OdGsContainerNode::saveVpData ( OdGsFiler * pFiler,
const VpData * pVpData ) const
protected

◆ setAwareFlags()

void OdGsContainerNode::setAwareFlags ( OdUInt32 viewportId,
OdUInt32 flags )
inline

Sets the Aware flags for the specified Viewport for this ContainerNode object.

Parameters
viewportId[in] Viewport ID.
flags[in] Aware flags.
Remarks
awareFlags() returns a combination of zero or more of the following:

Value kVpID 0x00000001 kVpRegenType 0x00000002 kVpRenderMode 0x00000004 kVpWorldToEye 0x00000008 kVpPerspective 0x00000010 kVpResolution 0x00000020 kVpMaxDevForCircle 0x00000040 kVpMaxDevForCurve 0x00000080 kVpMaxDevForBoundary 0x00000100 kVpMaxDevForIsoline 0x00000200 kVpMaxDevForFacet 0x00000400 kVpCamLocation 0x00000800 kVpCamTarget 0x00001000 kVpCamUpVector 0x00002000 kVpCamViewDir 0x00004000 kVpViewport 0x00008000 kVpFrontBack 0x00010000 kVpFrozenLayers 0x00020000 kVpLtypeScaleMult 0x00040000 kEntityRegenDraw 0x00080000 kVpDisableLayoutCache 0x00100000 kVpModelTf 0x00200000 kVpExcludeFromExtMinMax 0x00400000 kSectionable 0x00800000 kVpRenderModule 0x01000000 kVpAnnoScale 0x02000000 kVpFilterFunction 0x04000000 kVpVisualStyle 0x08000000 kVpHighlightingGeom 0x10000000

Definition at line 824 of file GsContainerNode.h.

◆ setCheckWorkset()

void OdGsContainerNode::setCheckWorkset ( bool bVal)
inline

Definition at line 853 of file GsContainerNode.h.

◆ setChildrenRegenDraw()

void OdGsContainerNode::setChildrenRegenDraw ( bool bVal,
OdUInt32 nVpID )
inline

Sets the kEntityRegenDraw flag value for the specified viewport ID.

Parameters
bVal[in] Flag value.
nVpID[in] Viewport ID.

Definition at line 865 of file GsContainerNode.h.

◆ setChildrenUpToDate()

void OdGsContainerNode::setChildrenUpToDate ( bool childrenUpToDate,
const OdUInt32 * nVpID = NULL )
inline

Controls the ChildrenUpToDate flag for this ContainterNode object.

Parameters
childrenUpToDate[in] Controls flag.
nVpID[in] Viewport ID.
Remarks
This flag is typically set by update() and cleared by addChild() and invalidate().

Definition at line 800 of file GsContainerNode.h.

◆ setEntityListsInvalid()

void OdGsContainerNode::setEntityListsInvalid ( )
inline

Sets the EntityListValid flag to false for this ContainterNode object.

Definition at line 709 of file GsContainerNode.h.

◆ setEntityListValid()

void OdGsContainerNode::setEntityListValid ( OdUInt32 nVpId,
bool entityListValid )
inline

Controls the EntityListValid flag for this ContainterNode object.

Parameters
nVpId[in] Viewport ID.
entityListValid[in] Controls flag.
Remarks
This flag is typically set by update() and cleared by invalidate().

Definition at line 719 of file GsContainerNode.h.

◆ setRealExtents()

void OdGsContainerNode::setRealExtents ( OdUInt32 nVpId,
const OdGsUpdateExtents & ext,
bool bRecompute = false )
inline

Sets real extents of the node.

Parameters
nVpId[in] Viewport ID.
ext[in] New real extents for the node.

Definition at line 881 of file GsContainerNode.h.

◆ setVpDepCache()

void OdGsContainerNode::setVpDepCache ( const OdGsViewImpl & pView)

Sets viewport cache.

Parameters
pView[in] View implementation object.

◆ spatialIndex() [1/2]

OdSiSpatialIndex & OdGsContainerNode::spatialIndex ( OdUInt32 nVpId)
inline

Returns a reference to the spatial index for this ContainerNode object.

Parameters
nVpId[in] Viewport ID.

Definition at line 741 of file GsContainerNode.h.

◆ spatialIndex() [2/2]

const OdSiSpatialIndex & OdGsContainerNode::spatialIndex ( OdUInt32 nVpId) const
inline

Returns a reference to the spatial index for this ContainerNode object.

Parameters
nVpId[in] Viewport ID.

Definition at line 746 of file GsContainerNode.h.

◆ stock()

const StockProps & OdGsContainerNode::stock ( ) const
inline

Definition at line 903 of file GsContainerNode.h.

◆ turnOnLights()

void OdGsContainerNode::turnOnLights ( OdGsBaseVectorizer & view)

Turn on lights for the specified vectorizer view.

Parameters
view[in] Vectorizer view.

◆ update()

void OdGsContainerNode::update ( OdGsUpdateContext & ctx,
OdGsContainerNode * pParent,
OdSiSpatialIndex * pParentIndex )
virtual

Updates this container node.

Parameters
ctx[in] GS update context.
pParent[in] Pointer to a parent container node. Not used.
pParentIndex[in] Pointer to a parent spatial index. Not used.

Implements OdGsNode.

◆ updateEntities()

virtual void OdGsContainerNode::updateEntities ( OdGsUpdateContext & ctx)
virtual

◆ updateEntityList()

virtual bool OdGsContainerNode::updateEntityList ( OdGsUpdateContext & ctx)
virtual

◆ updateVisible()

void OdGsContainerNode::updateVisible ( OdGsViewImpl * pViewImpl)
virtual

Updates visible content.

Parameters
pViewImpl[in] View in which content is visible.

Reimplemented from OdGsNode.

◆ viewportId()

OdUInt32 OdGsContainerNode::viewportId ( const OdGsViewImpl & pView,
bool bForceVpId = true ) const

Retrieves a viewport identifier of a passed view object.

Parameters
pView[in] View implementation object.
bForceVpId[in] Flag that specifies whether to force getting viewport ID when there is no viewport cache.
Returns
0 if kVpDepCache flag and bForceVpId parameter are set to false, otherwise returns local viewport ID of a passed view.

◆ viewRefs()

const ViewRefs & OdGsContainerNode::viewRefs ( ) const
inline

Definition at line 898 of file GsContainerNode.h.

◆ vpDataId()

OdUInt32 OdGsContainerNode::vpDataId ( const VpData * pVpData) const
inlineprotected

Definition at line 648 of file GsContainerNode.h.

Member Data Documentation

◆ m_lightsMutex

OdMutexPtr OdGsContainerNode::m_lightsMutex
protected

Definition at line 616 of file GsContainerNode.h.

◆ m_nodesMutex

OdMutex OdGsContainerNode::m_nodesMutex
mutable

Definition at line 618 of file GsContainerNode.h.

◆ m_shareableData

VpDataPtr OdGsContainerNode::m_shareableData
mutableprotected

Definition at line 612 of file GsContainerNode.h.

◆ m_stock

StockProps OdGsContainerNode::m_stock
protected

Definition at line 615 of file GsContainerNode.h.

◆ m_viewRefs

ViewRefs OdGsContainerNode::m_viewRefs
protected

Definition at line 614 of file GsContainerNode.h.

◆ m_vpAwareFlags

OdUInt32Vector OdGsContainerNode::m_vpAwareFlags
protected

Definition at line 613 of file GsContainerNode.h.

◆ m_vpData

VpDataArray OdGsContainerNode::m_vpData
mutableprotected

Definition at line 611 of file GsContainerNode.h.


The documentation for this class was generated from the following file: