CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
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)
 
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 ()
 
 OdGsNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable)
 
virtual ~OdGsNode ()
 
OdGsBaseModelbaseModel () const
 
OdGsModelmodel () const
 
bool isContainer () const
 
virtual ENodeType nodeType () const =0
 
bool isSyncDrawable () const
 
virtual void invalidate (OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)=0
 
OdGiDrawablePtr underlyingDrawable () const
 
OdDbStub * underlyingDrawableId () const
 
virtual void update (OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *pParentIndex)=0
 
virtual void updateVisible (OdGsViewImpl *pViewImpl)
 
virtual void display (OdGsDisplayContext &ctx)=0
 
virtual void propagateLayerChanges (OdGsViewImpl &view)=0
 
virtual void highlight (bool bDoIt, bool bWholeBranch, OdUInt32 nSelStyle=0)
 
bool isHighlighted () const
 
bool isHighlightedAll () const
 
virtual void destroy ()=0
 
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 saveNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
 
virtual bool loadNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
 
virtual bool saveClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer) const
 
virtual bool loadClientNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer)
 
virtual bool postprocessNodeLoading (OdGsFiler *pFiler)
 
 TD_USING (OdGsCache::extents)
 
virtual bool extents (const OdGsView *pView, OdGeExtents3d &ext) const
 
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 ()
 
virtual void addContentToUpdateManager (OdUInt32 viewportId, OdGsUpdateManager *pManager, const UpdateManagerContext &context)
 
virtual bool isMetafilesCompatible (const OdGsViewImpl *pView1, const OdGsViewImpl *pView2, OdGsUpdateContext *ctx)
 
- Public Member Functions inherited from OdGsCache
 ODRX_DECLARE_MEMBERS (OdGsCache)
 
virtual OdGsModelmodel () const =0
 
virtual void setDrawableNull ()=0
 
virtual bool extents (OdGeExtents3d &extents) const =0
 
- 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 void addRef ()=0
 
virtual void release ()=0
 
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 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 64 of file GsContainerNode.h.

◆ VpDataArray

Definition at line 90 of file GsContainerNode.h.

◆ VpDataPtr

Definition at line 89 of file GsContainerNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
kEntityListValid 
kCheckWorkset 
kHasStockData 
kVpDepCache 
kLastFlag 

Definition at line 49 of file GsContainerNode.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kChildrenNotUpToDate 

Definition at line 58 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 882 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 687 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 812 of file GsContainerNode.h.

◆ checkWorkset()

bool OdGsContainerNode::checkWorkset ( ) const
inline

Definition at line 843 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 853 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 788 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 677 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 746 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 754 of file GsContainerNode.h.

◆ getVpData()

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

Definition at line 633 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 658 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 692 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 672 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 762 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 770 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 778 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 783 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 834 of file GsContainerNode.h.

◆ nodeType()

virtual ENodeType OdGsContainerNode::nodeType ( ) const
inlinevirtual

Returns node type of this node.

Implements OdGsNode.

Definition at line 189 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 902 of file GsContainerNode.h.

◆ numberOfChildrenErased()

OdUInt32 OdGsContainerNode::numberOfChildrenErased ( OdUInt32  nVpId) const
inline

Definition at line 912 of file GsContainerNode.h.

◆ numberOfChildrenST()

OdUInt32 OdGsContainerNode::numberOfChildrenST ( OdUInt32  nVpId) const
inline

Definition at line 907 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 665 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 868 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 887 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 819 of file GsContainerNode.h.

◆ setCheckWorkset()

void OdGsContainerNode::setCheckWorkset ( bool  bVal)
inline

Definition at line 848 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 860 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 795 of file GsContainerNode.h.

◆ setEntityListsInvalid()

void OdGsContainerNode::setEntityListsInvalid ( )
inline

Sets the EntityListValid flag to false for this ContainterNode object.

Definition at line 704 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 714 of file GsContainerNode.h.

◆ setRealExtents()

void OdGsContainerNode::setRealExtents ( OdUInt32  nVpId,
const OdGsUpdateExtents ext 
)
inline

Sets real extents of the node.

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

Definition at line 876 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 736 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 741 of file GsContainerNode.h.

◆ stock()

const StockProps & OdGsContainerNode::stock ( ) const
inline

Definition at line 897 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 892 of file GsContainerNode.h.

◆ vpDataId()

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

Definition at line 643 of file GsContainerNode.h.

Member Data Documentation

◆ m_lightsMutex

OdMutexPtr OdGsContainerNode::m_lightsMutex
protected

Definition at line 611 of file GsContainerNode.h.

◆ m_nodesMutex

OdMutex OdGsContainerNode::m_nodesMutex
mutable

Definition at line 613 of file GsContainerNode.h.

◆ m_shareableData

VpDataPtr OdGsContainerNode::m_shareableData
mutableprotected

Definition at line 607 of file GsContainerNode.h.

◆ m_stock

StockProps OdGsContainerNode::m_stock
protected

Definition at line 610 of file GsContainerNode.h.

◆ m_viewRefs

ViewRefs OdGsContainerNode::m_viewRefs
protected

Definition at line 609 of file GsContainerNode.h.

◆ m_vpAwareFlags

OdUInt32Vector OdGsContainerNode::m_vpAwareFlags
protected

Definition at line 608 of file GsContainerNode.h.

◆ m_vpData

VpDataArray OdGsContainerNode::m_vpData
mutableprotected

Definition at line 606 of file GsContainerNode.h.


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