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

#include <GsEntityNode.h>

Inheritance diagram for OdGsEntityNode:
OdGsNode OdSiEntity OdGsCache OdRxObject OdGsBlockReferenceNode OdGsLightNode OdGsMInsertBlockNode

Classes

class  Metafile
 
class  MetafileEx
 
class  MetafileHolder
 
class  MetafilePtrArray
 
class  TransformedExtents
 

Public Types

enum  MetafileCompatibilityLevel { kSkipCheckCompatible = 0 , kCheckViewChanges = 1 , kCheckCompatibleView = 2 , kFindCompatible = 3 }
 
typedef OdSmartPtr< MetafileMetafilePtr
 

Public Member Functions

OdGsEntityNode::MetafilePtr metafileAt (int metafileIndex) const
 
void setMetafile (OdGsEntityNode::Metafile *metafiles)
 
void setMetafileAt (int metafileIndex, OdGsEntityNode::Metafile *pMetafile)
 
void convertToViewportDependent (const OdGsUpdateContext &ctx)
 
OdGsEntityNode::Metafilemetafile (const OdGsViewImpl &view, OdGsUpdateContext *ctx, MetafileCompatibilityLevel findCompatibleLevel=kFindCompatible)
 
void setMetafile (OdGsUpdateContext &ctx, OdGsEntityNode::Metafile *metafiles)
 
OdRxObjectfindCompatibleCache (const OdGsViewImpl &keyView, OdGsUpdateContext *ctx, OdUInt32 awareMask=0)
 
OdRxObjectfindFirstGsMetafile (const OdGsViewImpl &view, bool *bContainsNested=nullptr, MetafileCompatibilityLevel findCompatibleLevel=kSkipCheckCompatible)
 
 ODRX_DECLARE_MEMBERS (OdGsEntityNode)
 
 OdGsEntityNode (OdGsBaseModel *pModel, const OdGiDrawable *pUnderlyingDrawable, bool bSetGsNode=false)
 
 ~OdGsEntityNode ()
 
void setNextEntity (OdGsEntityNode *pNextEntity)
 
void setNextEntity (OdUInt32 nVpId, OdGsEntityNode *pNextEntity)
 
OdGsEntityNodenextEntity ()
 
OdGsEntityNodenextEntity (OdUInt32 nVpId)
 
const OdGsEntityNodenextEntity () const
 
const OdGsEntityNodenextEntity (OdUInt32 nVpId) const
 
OdUInt32 numNextEntity () const
 
void enableMultipleNextEntities (OdUInt32 nMaxVpId)
 
void update (OdGsUpdateContext &ctx, OdGsContainerNode *pParent, OdSiSpatialIndex *pParentIndex)
 
void updateVisible (OdGsViewImpl *pViewImpl)
 
virtual OdGsEntityNode::MetafilePtr regenMetafile (OdGsUpdateContext &ctx, OdUInt32 vpDepFlags)
 
virtual OdUInt32 awareFlags (OdUInt32 viewportId) const
 
virtual ENodeType nodeType () const
 
virtual bool isReference () const
 
virtual bool isLight () const
 
virtual bool isSelfReferential () const
 
void display (OdGsDisplayContext &ctx)
 
void select (OdGsBaseVectorizer &view)
 
void invalidate (OdGsContainerNode *pParent, OdGsViewImpl *pView, OdUInt32 mask)
 
bool extents (OdGeExtents3d &extents) const
 
bool spatiallyIndexed () const
 
bool spatiallyIndexed (OdUInt32 nVpId) const
 
void setSpatiallyIndexed (bool spatiallyIndexed)
 
void setSpatiallyIndexed (OdUInt32 nVpId, bool spatiallyIndexed)
 
bool owned () const
 
bool owned (OdUInt32 nVpId) const
 
void setOwned (bool owned)
 
void setOwned (OdUInt32 nVpId, bool owned)
 
bool markedByUpdateManager () const
 
void setMarkedByUpdateManager (bool marked)
 
bool hasExtents () const
 
const OdGeExtents3dextents () const
 
virtual bool isEmpty ()
 
virtual bool hasFrozenLayers ()
 
bool markedToSkip (unsigned mask)
 
void markToSkip (unsigned mask, bool markToSkip)
 
void markToSkipAll ()
 
void destroy ()
 
virtual bool layersChanged (OdGsViewImpl &view) const
 
bool markedAsNonSelectable () const
 
void markAsNonSelectable (bool val)
 
bool isMarkedSkipSelection () const
 
void markSkipSelection (bool val)
 
bool isMarkedErased () const
 
void markErased (bool val)
 
bool isInWorkset () const
 
void setInWorkset (bool val)
 
bool isRegenOnDraw () const
 
void setRegenOnDraw (bool val)
 
bool isSingleThreaded () const
 
void setSingleThreaded (bool val)
 
bool skipDisplayClipping () const
 
void setSkipDisplayClipping (bool bOn)
 
bool isXref () const
 
virtual void highlight (bool bDoIt, bool bWholeBranch, OdUInt32 nSelStyle=0)
 
void hide (bool bDoIt, bool bSelectable=false, bool bWholeBranch=true)
 
void setStateBranch (OdGsStateBranch *pBr)
 
void resetStateBranch (OdGsStateBranch::BranchType branchType=OdGsStateBranch::kHighlightingBranch)
 
OdGsStateBranchstateBranch (OdGsStateBranch::BranchType branchType=OdGsStateBranch::kHighlightingBranch)
 
const OdGsStateBranchstateBranch (OdGsStateBranch::BranchType branchType=OdGsStateBranch::kHighlightingBranch) const
 
bool hasAnyStateBranch () const
 
virtual void playAsGeometry (OdGsBaseVectorizer &view, EMetafilePlayMode eMode)
 
bool extents (const OdGsView *pView, OdGeExtents3d &ext) const
 
OdDb::LineWeight getMaxLineweightUsed () const
 
void addMaxLineweightUsed (OdDb::LineWeight lwd)
 
void setMaxLineweightUsed (OdDb::LineWeight lwd)
 
bool entityUnerased () const
 
void setEntityUnerased (bool flag)
 
bool isInvisible () const
 
bool isExtentsOutOfModelSpace () const
 
void setExtentsOutOfModelSpace (bool flag)
 
void resetInvalidVpFlag ()
 
void setAsLightSourceOwner (bool bSet)
 
bool isLightSourceOwner () const
 
bool isRequireRegenOnHighlightChange () const
 
virtual void makeStock ()
 
virtual void releaseStock ()
 
virtual void propagateLayerChangesStock ()
 
bool saveNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL) const
 
bool loadNodeState (OdGsFiler *pFiler, OdGsBaseVectorizer *pVectorizer=NULL)
 
void transformExtents (OdGeExtents3d &ext, const OdGsStateBranch *pTransformBr=NULL, bool bInverse=false) const
 
void insertToSpatialIndex (OdUInt32 nVpId, OdSiSpatialIndex &parentIndex, const OdGeExtents3d &prevExtents)
 
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
 
bool isHighlighted () const
 
bool isHighlightedAll () const
 
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)
 
virtual bool postprocessNodeLoading (OdGsFiler *pFiler)
 
 TD_USING (OdGsCache::extents)
 
bool modelExtents (OdGeExtents3d &ext, bool bUseModelTf=true) const
 
bool modelExtents (const OdGsView *pView, OdGeExtents3d &ext, bool bUseModelTf=true) 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
 

Static Public Member Functions

static voidAlloc (size_t nBytes)
 
static void Free (void *pMemBlock)
 
static voidRealloc (void *pMemBlock, size_t newSize, size_t)
 
static OdGsEntityNode::MetafilePtr getEmptyMetafile (OdUInt32 flags, OdGsLayerNode *pLayerNode=NULL)
 
static unsigned markToSkipMask (OdUInt32 threadIndex)
 
- Static Public Member Functions inherited from OdRxObject
static OdRxObjectPtr cast (const OdRxObject *pointer)
 
static OdRxClassdesc ()
 
static void rxInit ()
 
static void rxUninit ()
 

Protected Types

enum  {
  kHasExtents = OdGsNode::kLastFlag << 1 , kSpatiallyIndexed = OdGsNode::kLastFlag << 2 , kInWorkset = OdGsNode::kLastFlag << 3 , kSingleThreaded = OdGsNode::kLastFlag << 4 ,
  kOwned = OdGsNode::kLastFlag << 5 , kDrawableRegenDraw = OdGsNode::kLastFlag << 6 , kEntityUnerased = OdGsNode::kLastFlag << 7 , kInvisible = OdGsNode::kLastFlag << 8 ,
  kExtentsOutOfMS = OdGsNode::kLastFlag << 9 , kNonSelectable = OdGsNode::kLastFlag << 10 , kSkipSelection = OdGsNode::kLastFlag << 11 , kErased = OdGsNode::kLastFlag << 12 ,
  kDrawableIsXref = OdGsNode::kLastFlag << 13 , kMultilistNextPtr = OdGsNode::kLastFlag << 14 , kLastFlag = kMultilistNextPtr
}
 
enum  {
  kLineweightBit1 = (1 << 0) , kLineweightBit2 = (1 << 1) , kLineweightOffset = 0 , kLineweightBit3 = (1 << 2) ,
  kLineweightBit4 = (1 << 3) , kLineweightBit5 = (1 << 4) , kLineweightBit6 = (1 << 5) , kLineweightBit7 = (1 << 6) ,
  kLineweightBit8 = (1 << 7) , kLineweightBitMask = kLineweightBit1 | kLineweightBit2 | kLineweightBit3 | kLineweightBit4 | kLineweightBit5 | kLineweightBit6 | kLineweightBit7 | kLineweightBit8 , kLightSourceOwner = (1 << 8) , kRegenOnHighlight = (1 << 9) ,
  kMarkedByUpdateManager = (1 << 10) , kSkipDisplayClipping = (1 << 11) , kLastEntFlag = kSkipDisplayClipping
}
 
enum  { kMarkedToSkipFirst = 0x00000001 , kMarkedToSkipLast = kMarkedToSkipFirst << 30 , kMarkedToSkipAll = 0x7FFFFFFF }
 
- 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

virtual void propagateLayerChanges (OdGsViewImpl &view)
 
MetafilePtrArraymetafileArray ()
 
const MetafilePtrArraymetafileArray () const
 
OdGsEntityNode::MetafilePtr metafile () const
 
void setExtentsFromMetafiles ()
 
bool findMetafileInStock (OdGsUpdateContext &ctx)
 
void setExtentsFlags ()
 
- 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

OdGeExtents3d m_extents
 
OdGsStateBranchPtr m_stateBranch
 
MetafileHolder m_metafile
 
OdUInt32 m_entFlags
 
- Protected Attributes inherited from OdGsNode
OdGsNodem_pPrev
 
OdGsNodem_pNext
 
OdGsBaseModelm_pModel
 
voidm_underlyingDrawable
 
OdUInt32 m_flags
 
OdUInt32 m_userFlags
 

Friends

class Metafile
 
class OdGsModuleObject
 
class OdGsBlockReferenceNode
 

Additional Inherited Members

- Static Protected Attributes inherited from OdGsNode
static GS_STATIC_EXPORT AllocatorArray s_aAlloc
 

Detailed Description

This class implements OdGsNode descendant objects that can serve as containers for other OdGsNode objects.

Corresponding C++ library: TD_Gs <group OdGs_Classes>

Definition at line 126 of file GsEntityNode.h.

Member Typedef Documentation

◆ MetafilePtr

This template class is a specialization of the OdSmartPtr class for Metafile object pointers.

Definition at line 288 of file GsEntityNode.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
kMarkedToSkipFirst 
kMarkedToSkipLast 
kMarkedToSkipAll 

Definition at line 747 of file GsEntityNode.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kHasExtents 
kSpatiallyIndexed 
kInWorkset 
kSingleThreaded 
kOwned 
kDrawableRegenDraw 
kEntityUnerased 
kInvisible 
kExtentsOutOfMS 
kNonSelectable 
kSkipSelection 
kErased 
kDrawableIsXref 
kMultilistNextPtr 
kLastFlag 

Definition at line 710 of file GsEntityNode.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kLineweightBit1 
kLineweightBit2 
kLineweightOffset 
kLineweightBit3 
kLineweightBit4 
kLineweightBit5 
kLineweightBit6 
kLineweightBit7 
kLineweightBit8 
kLineweightBitMask 
kLightSourceOwner 
kRegenOnHighlight 
kMarkedByUpdateManager 
kSkipDisplayClipping 
kLastEntFlag 

Definition at line 729 of file GsEntityNode.h.

◆ MetafileCompatibilityLevel

This enumeration used with OdGsEntityNode::metafile method.

Enumerator
kSkipCheckCompatible 

Avoid check of viewport compatibility.

kCheckViewChanges 

Check for view changes.

kCheckCompatibleView 

Avoid check for view changes, but find compatible metafile for other viewport.

kFindCompatible 

Check for view changes and try to find compatible for other viewports.

Definition at line 665 of file GsEntityNode.h.

Constructor & Destructor Documentation

◆ OdGsEntityNode()

OdGsEntityNode::OdGsEntityNode ( OdGsBaseModel * pModel,
const OdGiDrawable * pUnderlyingDrawable,
bool bSetGsNode = false )

Constructor for the OdGsEntityNode 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.

◆ ~OdGsEntityNode()

OdGsEntityNode::~OdGsEntityNode ( )

Destructor for the OdGsEntityNode class.

Member Function Documentation

◆ addContentToUpdateManager()

void OdGsEntityNode::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.

◆ addMaxLineweightUsed()

void OdGsEntityNode::addMaxLineweightUsed ( OdDb::LineWeight lwd)
inline

Sets a maximal lineweight for this entity node if it is greater than current maximal lineweight for this entity node.

Parameters
lwd[in] New lineweight value to compare and set if necessary.

Definition at line 1738 of file GsEntityNode.h.

◆ Alloc()

static void * OdGsEntityNode::Alloc ( size_t nBytes)
inlinestatic

Definition at line 326 of file GsEntityNode.h.

◆ awareFlags()

virtual OdUInt32 OdGsEntityNode::awareFlags ( OdUInt32 viewportId) const
virtual

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 kSuppressViewportDraw 0x01 kDrawInvisibleEnts 0x02 kDrawLayerOff 0x04 kDrawLayerFrozen 0x08 kIgnoreFillPlane 0x10 kFillPlaneSet 0x20

Reimplemented in OdGsBlockReferenceNode.

◆ convertToViewportDependent()

void OdGsEntityNode::convertToViewportDependent ( const OdGsUpdateContext & ctx)

Convert a RegenType dependent cache to Viewport dependent cache.

Parameters
ctx[in] Current update context.

◆ destroy()

void OdGsEntityNode::destroy ( )
inlinevirtual

Destroys this node.

Implements OdGsNode.

Reimplemented in OdGsMInsertBlockNode.

Definition at line 1012 of file GsEntityNode.h.

◆ display()

void OdGsEntityNode::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.

◆ enableMultipleNextEntities()

void OdGsEntityNode::enableMultipleNextEntities ( OdUInt32 nMaxVpId)
inline

Enable multiple entity links.

Parameters
nMaxVpId[in] Viewport ID.

Definition at line 1332 of file GsEntityNode.h.

◆ entityUnerased()

bool OdGsEntityNode::entityUnerased ( ) const
inline

Retrieves the entity unerased flag for this object.

Returns
true if the entity unerased flag is set, false otherwise.

Definition at line 1512 of file GsEntityNode.h.

◆ extents() [1/3]

const OdGeExtents3d & OdGsEntityNode::extents ( ) const
inline

Returns extents of the underlying GiDrawable object(s).

Definition at line 1383 of file GsEntityNode.h.

◆ extents() [2/3]

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

Retrieves extents of this node object.

Parameters
pView[in] Pointer to a GS view.
ext[out] Reference to the OdGeExtents3d object which will receive current entity node extents.

Reimplemented from OdGsNode.

◆ extents() [3/3]

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

Returns the extents of the underlying GiDrawable object(s) associated with this Node object.

Parameters
extents[out] Receives the extents.
Returns
Returns true if and only if the GiDrawable object(s) have extents.

Implements OdGsCache.

◆ findCompatibleCache()

OdRxObject * OdGsEntityNode::findCompatibleCache ( const OdGsViewImpl & keyView,
OdGsUpdateContext * ctx,
OdUInt32 awareMask = 0 )

Finds compatible cache for the passed view.

Parameters
keyView[in] View implementation object for which to find compatible cache.
ctx[in] Current update context.
awareMask[in] Aware flags.

◆ findFirstGsMetafile()

OdRxObject * OdGsEntityNode::findFirstGsMetafile ( const OdGsViewImpl & view,
bool * bContainsNested = nullptr,
MetafileCompatibilityLevel findCompatibleLevel = kSkipCheckCompatible )

Finds first Gs metafile for requested view.

Parameters
view[in] View object for which metafile is to be returned.
bContainsNested[out] Optionally returns true if metafile contains nested metafile entries.
findCompatibleLevel[in] Check for viewport changes if and only if true.

◆ findMetafileInStock()

bool OdGsEntityNode::findMetafileInStock ( OdGsUpdateContext & ctx)
protected

◆ Free()

static void OdGsEntityNode::Free ( void * pMemBlock)
inlinestatic

Definition at line 327 of file GsEntityNode.h.

◆ getEmptyMetafile()

static OdGsEntityNode::MetafilePtr OdGsEntityNode::getEmptyMetafile ( OdUInt32 flags,
OdGsLayerNode * pLayerNode = NULL )
static

Retrieves a static instance of the empty metafile with a certain set of aware flags frequently used in the model. This allows to share the same data without duplication.

Parameters
flags[in] A set of aware flags.
pLayerNode[in] Layer node with which a starting geometry portion of a metafile is associated.

◆ getMaxLineweightUsed()

OdDb::LineWeight OdGsEntityNode::getMaxLineweightUsed ( ) const
inlinevirtual

Retrieves a maximal lineweight for this entity node.

Returns
lineweight in 100ths of a millimeter

Reimplemented from OdGsNode.

Definition at line 1733 of file GsEntityNode.h.

◆ hasAnyStateBranch()

bool OdGsEntityNode::hasAnyStateBranch ( ) const
inline

Returns true in case if any type of state branch available.

Definition at line 1722 of file GsEntityNode.h.

◆ hasExtents()

bool OdGsEntityNode::hasExtents ( ) const
inline

Returns true if and only if the underlying GiDrawable object(s) have extents.

Definition at line 1378 of file GsEntityNode.h.

◆ hasFrozenLayers()

virtual bool OdGsEntityNode::hasFrozenLayers ( )
virtual

Checks whether this node has frozen layers.

Returns
true if this node has frozen layers, false otherwise.

◆ hide()

void OdGsEntityNode::hide ( bool bDoIt,
bool bSelectable = false,
bool bWholeBranch = true )
inlinevirtual

Hides the specified node.

Parameters
bDoit[in] Specifies should node be hidden (true) or shown (false)
bSelectable[in] Specifies should node be selectable if it is hidden
bWholeBranch[in] Specifies should node hidden state be changed with all branches

Reimplemented from OdGsNode.

Definition at line 1637 of file GsEntityNode.h.

◆ highlight()

void OdGsEntityNode::highlight ( bool bDoIt,
bool bWholeBranch,
OdUInt32 nSelStyle = 0 )
inlinevirtual

Highlights or unhighlights this node and the branch of child node, if specified.

Parameters
bDoIt[in] Flag that specifies whether to highlight this entity node.
bWholeBranch[in] Flag that specifies whether to highlight or unhighlight a branch of subentities and nested entities, if specified with setHlBranch method.
nSelStyle[in] Optional selection style index.

Reimplemented from OdGsNode.

Reimplemented in OdGsMInsertBlockNode.

Definition at line 1630 of file GsEntityNode.h.

◆ insertToSpatialIndex()

void OdGsEntityNode::insertToSpatialIndex ( OdUInt32 nVpId,
OdSiSpatialIndex & parentIndex,
const OdGeExtents3d & prevExtents )

◆ invalidate()

void OdGsEntityNode::invalidate ( OdGsContainerNode * pParent,
OdGsViewImpl * pView,
OdUInt32 mask )
virtual

Invalidates this entity node.

Parameters
pParent[in] Parent container node.
view[in] BaseVectorizeView object for which data are to be invalidated.
mask[in] Mask.

Implements OdGsNode.

Reimplemented in OdGsLightNode, and OdGsMInsertBlockNode.

◆ isEmpty()

virtual bool OdGsEntityNode::isEmpty ( )
virtual

Checks whether this node has no graphical content.

Returns
true if the node has no graphical content, false otherwise.

Reimplemented in OdGsBlockReferenceNode.

◆ isExtentsOutOfModelSpace()

bool OdGsEntityNode::isExtentsOutOfModelSpace ( ) const
inline

Returns flag state which indicated that extents of this node is too large to store it in spatial index tree.

Returns
true if extents of this node is too large to store it in spatial index tree or false elsewhere.

Definition at line 1575 of file GsEntityNode.h.

◆ isInvisible()

bool OdGsEntityNode::isInvisible ( ) const
inline

Checks whether this entity node is invisible.

Returns
true if this entity node is invisible, false otherwise.

Definition at line 1522 of file GsEntityNode.h.

◆ isInWorkset()

bool OdGsEntityNode::isInWorkset ( ) const
inline

Definition at line 1600 of file GsEntityNode.h.

◆ isLight()

virtual bool OdGsEntityNode::isLight ( ) const
inlinevirtual

Reimplemented in OdGsLightNode.

Definition at line 861 of file GsEntityNode.h.

◆ isLightSourceOwner()

bool OdGsEntityNode::isLightSourceOwner ( ) const
inline

Checks whether this entity node is an owner of a light source.

Returns
true if this entity node is an owner of a light source, false otherwise.

Definition at line 1590 of file GsEntityNode.h.

◆ isMarkedErased()

bool OdGsEntityNode::isMarkedErased ( ) const
inline

Checks whether this node is marked as erased.

Returns
true if this node is marked as erased, false otherwise.

Definition at line 1555 of file GsEntityNode.h.

◆ isMarkedSkipSelection()

bool OdGsEntityNode::isMarkedSkipSelection ( ) const
inline

Definition at line 1545 of file GsEntityNode.h.

◆ isMetafilesCompatible()

bool OdGsEntityNode::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.

◆ isReference()

virtual bool OdGsEntityNode::isReference ( ) const
inlinevirtual

Reimplemented in OdGsBlockReferenceNode.

Definition at line 860 of file GsEntityNode.h.

◆ isRegenOnDraw()

bool OdGsEntityNode::isRegenOnDraw ( ) const
inline

Checks whether this node is regenerated on draw.

Returns
true if this node is regenerated on draw, false otherwise.

Definition at line 1620 of file GsEntityNode.h.

◆ isRequireRegenOnHighlightChange()

bool OdGsEntityNode::isRequireRegenOnHighlightChange ( ) const
inline

Specifies whether cache requires a regeneration on a highlight state change.

Returns
true if cache needs to be regenerated during highlighting state change, false otherwise.

Definition at line 1595 of file GsEntityNode.h.

◆ isSelfReferential()

virtual bool OdGsEntityNode::isSelfReferential ( ) const
inlinevirtual

Reimplemented in OdGsBlockReferenceNode.

Definition at line 862 of file GsEntityNode.h.

◆ isSingleThreaded()

bool OdGsEntityNode::isSingleThreaded ( ) const
inline

Checks whether this node is updated in a single-threaded mode.

Returns
true if this node is updated in a single-threaded mode, false otherwise.

Definition at line 1610 of file GsEntityNode.h.

◆ isXref()

bool OdGsEntityNode::isXref ( ) const
inline

Returns true if entity node represents Xref drawable.

Definition at line 1773 of file GsEntityNode.h.

◆ layersChanged()

virtual bool OdGsEntityNode::layersChanged ( OdGsViewImpl & view) const
virtual

Checks whether at least one geometry portion of an metafile has a layer that changed.

Parameters
view[in] GS view.
Returns
true if one or more layers changed, false if all the layer are up to date.

Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.

◆ loadNodeState()

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

Restores node state from filer object.

Parameters
pFiler[in] Pointer to a filer object. Filer object.
pVectorizer[in] Pointer to a vectorrizer. May be needed to load vectorizer client metafile (cache).
Returns
true if node state is successfully loaded, false otherwise.

Reimplemented from OdGsNode.

◆ makeStock()

virtual void OdGsEntityNode::makeStock ( )
virtual

◆ markAsNonSelectable()

void OdGsEntityNode::markAsNonSelectable ( bool val)
inline

Specifies whether this node should be non-selectable.

Parameters
val[in] Specifies whether this node is non-selectable.

Definition at line 1540 of file GsEntityNode.h.

◆ markedAsNonSelectable()

bool OdGsEntityNode::markedAsNonSelectable ( ) const
inline

Checks whether this node is marked as non-selectable.

Returns
true if if this node is marked as non-selectable, false otherwise.

Definition at line 1535 of file GsEntityNode.h.

◆ markedByUpdateManager()

bool OdGsEntityNode::markedByUpdateManager ( ) const
inline

Returns true if and only if this EntityNode object is marked by Update Manager.

Definition at line 1753 of file GsEntityNode.h.

◆ markedToSkip()

bool OdGsEntityNode::markedToSkip ( unsigned mask)
inline

Checks whether this node is marked to be skipped with the passed mask.

Parameters
mask[in] Mask.
Returns
true if this EntityNode object is marked to be skipped with the given mask (thread), false otherwise.

Definition at line 1388 of file GsEntityNode.h.

◆ markErased()

void OdGsEntityNode::markErased ( bool val)
inline

Marks this node as erased or not erased.

Parameters
val[in] Specifies whether to mark this node as erased.

Definition at line 1560 of file GsEntityNode.h.

◆ markSkipSelection()

void OdGsEntityNode::markSkipSelection ( bool val)
inline

Definition at line 1550 of file GsEntityNode.h.

◆ markToSkip()

void OdGsEntityNode::markToSkip ( unsigned mask,
bool markToSkip )
inline

Controls the MarkToSkip status of this EntityNode object.

Parameters
markToSkip[in] Controls MarkToSkip.
mask[in] the mask(thread).

Definition at line 1399 of file GsEntityNode.h.

◆ markToSkipAll()

void OdGsEntityNode::markToSkipAll ( )
inline

Specifies to skip this node by all threads.

Definition at line 1417 of file GsEntityNode.h.

◆ markToSkipMask()

static unsigned OdGsEntityNode::markToSkipMask ( OdUInt32 threadIndex)
inlinestatic

Specifies an index of thread to skip this node.

Definition at line 1003 of file GsEntityNode.h.

◆ metafile() [1/2]

OdGsEntityNode::MetafilePtr OdGsEntityNode::metafile ( ) const
inlineprotected

Returns the array the objects in the metafile array of this EntityNode object.

Definition at line 1495 of file GsEntityNode.h.

◆ metafile() [2/2]

OdGsEntityNode::Metafile * OdGsEntityNode::metafile ( const OdGsViewImpl & view,
OdGsUpdateContext * ctx,
MetafileCompatibilityLevel findCompatibleLevel = kFindCompatible )

Returns metafile pointer compatible with requested view configuration.

Parameters
view[in] View object for which metafile is to be returned.
ctx[in] Current update context.
findCompatibleLevel[in] Check for viewport changes if and only if true.

◆ metafileArray() [1/2]

OdGsEntityNode::MetafilePtrArray & OdGsEntityNode::metafileArray ( )
inlineprotected

Returns a reference to the metafile array of this EntityNode object as an array of MetafilePtr.

Definition at line 1485 of file GsEntityNode.h.

◆ metafileArray() [2/2]

const OdGsEntityNode::MetafilePtrArray & OdGsEntityNode::metafileArray ( ) const
inlineprotected

Returns a reference to the metafile array of this EntityNode object as an array of MetafilePtr.

Definition at line 1490 of file GsEntityNode.h.

◆ metafileAt()

OdGsEntityNode::MetafilePtr OdGsEntityNode::metafileAt ( int metafileIndex) const
inline

Returns the specified MetafilePtr from the metafile array of this EntityNode object.

Parameters
metafileIndex[in] Metafile index.

Definition at line 1500 of file GsEntityNode.h.

◆ nextEntity() [1/4]

OdGsEntityNode * OdGsEntityNode::nextEntity ( )
inline

Returns the next entity for this EntityNode object.

Definition at line 1339 of file GsEntityNode.h.

◆ nextEntity() [2/4]

const OdGsEntityNode * OdGsEntityNode::nextEntity ( ) const
inline

Returns the next entity for this EntityNode object.

Definition at line 1355 of file GsEntityNode.h.

◆ nextEntity() [3/4]

OdGsEntityNode * OdGsEntityNode::nextEntity ( OdUInt32 nVpId)
inline

Returns the next entity for this EntityNode object.

Parameters
nVpId[in] Viewport ID.

Definition at line 1346 of file GsEntityNode.h.

◆ nextEntity() [4/4]

const OdGsEntityNode * OdGsEntityNode::nextEntity ( OdUInt32 nVpId) const
inline

Returns the next entity for this EntityNode object.

Parameters
nVpId[in] Viewport ID.

Definition at line 1362 of file GsEntityNode.h.

◆ nodeType()

virtual ENodeType OdGsEntityNode::nodeType ( ) const
inlinevirtual

Retrieves the node type.

Implements OdGsNode.

Definition at line 858 of file GsEntityNode.h.

◆ numNextEntity()

OdUInt32 OdGsEntityNode::numNextEntity ( ) const
inline

Returns number of next entities.

Definition at line 1371 of file GsEntityNode.h.

◆ ODRX_DECLARE_MEMBERS()

OdGsEntityNode::ODRX_DECLARE_MEMBERS ( OdGsEntityNode )

◆ owned() [1/2]

bool OdGsEntityNode::owned ( ) const
inline

Checks whether this EntityNode object is the child of a ContainerNode object.

Returns
true if this EntityNode object is the child of a ContainerNode object.

Definition at line 1454 of file GsEntityNode.h.

◆ owned() [2/2]

bool OdGsEntityNode::owned ( OdUInt32 nVpId) const
inline

Checks whether this EntityNode object is the child of a ContainerNode object.

Parameters
nVpId[in] Viewport ID.
Returns
true if this EntityNode object is the child of a ContainerNode object.

Definition at line 1461 of file GsEntityNode.h.

◆ playAsGeometry()

virtual void OdGsEntityNode::playAsGeometry ( OdGsBaseVectorizer & view,
EMetafilePlayMode eMode )
virtual

details Plays geometry metafile for specified vectorization view depending on playing mode.

Parameters
view[in] Vectorization view.
eMode[in] Playing mode.

Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.

◆ propagateLayerChanges()

virtual void OdGsEntityNode::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.

Reimplemented in OdGsBlockReferenceNode.

◆ propagateLayerChangesStock()

virtual void OdGsEntityNode::propagateLayerChangesStock ( )
virtual

◆ Realloc()

static void * OdGsEntityNode::Realloc ( void * pMemBlock,
size_t newSize,
size_t  )
inlinestatic

Definition at line 328 of file GsEntityNode.h.

◆ regenMetafile()

virtual OdGsEntityNode::MetafilePtr OdGsEntityNode::regenMetafile ( OdGsUpdateContext & ctx,
OdUInt32 vpDepFlags )
virtual

Regenerates a metafile and returns a smart pointer to it.

Parameters
ctx[in] View in which content is visible.
vpDepFlags[in] Viewport-dependent flags.

◆ releaseStock()

virtual void OdGsEntityNode::releaseStock ( )
virtual

◆ resetInvalidVpFlag()

void OdGsEntityNode::resetInvalidVpFlag ( )
inline

Sets the invalid viewport flag to false.

Definition at line 1527 of file GsEntityNode.h.

◆ resetStateBranch()

void OdGsEntityNode::resetStateBranch ( OdGsStateBranch::BranchType branchType = OdGsStateBranch::kHighlightingBranch)
inline

Resets state branch of specified type.

Parameters
branchType[in] Type of state branch to reset.

Definition at line 1672 of file GsEntityNode.h.

◆ saveNodeState()

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

Stores current state of this entity node into filer object.

Parameters
pFiler[out] Pointer to a filer object.
pVectorizer[in/out] Pointer to a vectorrizer. May be needed to save vectorizer client metafile (cache).
Returns
true if node state is successfully saved, false otherwise.

Reimplemented from OdGsNode.

◆ select()

void OdGsEntityNode::select ( OdGsBaseVectorizer & view)

◆ setAsLightSourceOwner()

void OdGsEntityNode::setAsLightSourceOwner ( bool bSet)
inline

Specifies whether this entity node is an owner of a light source.

Parameters
flag[in] Flag to set.

Definition at line 1585 of file GsEntityNode.h.

◆ setEntityUnerased()

void OdGsEntityNode::setEntityUnerased ( bool flag)
inline

Sets the entity unerased flag for this object.

Parameters
flag[in] Flag to set.

Definition at line 1517 of file GsEntityNode.h.

◆ setExtentsFlags()

void OdGsEntityNode::setExtentsFlags ( )
inlineprotected

Definition at line 1727 of file GsEntityNode.h.

◆ setExtentsFromMetafiles()

void OdGsEntityNode::setExtentsFromMetafiles ( )
protected

◆ setExtentsOutOfModelSpace()

void OdGsEntityNode::setExtentsOutOfModelSpace ( bool flag)
inline

Sets flag which indicates that extents of this node is too large to store them in spatial index tree.

Parameters
flag[in] Flag state to set.

Definition at line 1580 of file GsEntityNode.h.

◆ setInWorkset()

void OdGsEntityNode::setInWorkset ( bool val)
inline

Definition at line 1605 of file GsEntityNode.h.

◆ setMarkedByUpdateManager()

void OdGsEntityNode::setMarkedByUpdateManager ( bool marked)
inline

Controls the marking by Update Manager status of this EntityNode object.

Parameters
marked[in] Controls marked status.

Definition at line 1758 of file GsEntityNode.h.

◆ setMaxLineweightUsed()

void OdGsEntityNode::setMaxLineweightUsed ( OdDb::LineWeight lwd)
inline

Sets a maximal lineweight for this entity node.

Parameters
lwd[in] New lineweight value to set.

Definition at line 1748 of file GsEntityNode.h.

◆ setMetafile() [1/2]

void OdGsEntityNode::setMetafile ( OdGsEntityNode::Metafile * metafiles)
inline

Sets the metafile array for this EntityNode object from the specified array of objects.

Parameters
metafiles[in] Array of metafile objects.

Definition at line 1507 of file GsEntityNode.h.

◆ setMetafile() [2/2]

void OdGsEntityNode::setMetafile ( OdGsUpdateContext & ctx,
OdGsEntityNode::Metafile * metafiles )

Sets metafile for current view configuration.

Parameters
ctx[in] Current update context.
metafiles[in] Pointer onto new metafile object.

◆ setMetafileAt()

void OdGsEntityNode::setMetafileAt ( int metafileIndex,
OdGsEntityNode::Metafile * pMetafile )

Sets the specified entry in the metafile array of this EntityNode object.

Parameters
metafileIndex[in] Metafile index.
pMetafile[in] Pointer to the Metafile object

◆ setNextEntity() [1/2]

void OdGsEntityNode::setNextEntity ( OdGsEntityNode * pNextEntity)
inline

Sets the next entity for this EntityNode object to the specified EntityNode object.

Parameters
pNextEntity[in] Pointer to the next EntityNode.

Definition at line 1317 of file GsEntityNode.h.

◆ setNextEntity() [2/2]

void OdGsEntityNode::setNextEntity ( OdUInt32 nVpId,
OdGsEntityNode * pNextEntity )
inline

Sets the next entity for this EntityNode object to the specified EntityNode object.

Parameters
pNextEntity[in] Pointer to the next EntityNode.
nVpId[in] Viewport ID.

Definition at line 1324 of file GsEntityNode.h.

◆ setOwned() [1/2]

void OdGsEntityNode::setOwned ( bool owned)
inline

Controls the owned status of this EntityNode object.

Parameters
owned[in] Controls owned status.

Definition at line 1470 of file GsEntityNode.h.

◆ setOwned() [2/2]

void OdGsEntityNode::setOwned ( OdUInt32 nVpId,
bool owned )
inline

Controls the owned status of this EntityNode object.

Parameters
nVpId[in] Viewport ID.
owned[in] Controls owned status.

Definition at line 1477 of file GsEntityNode.h.

◆ setRegenOnDraw()

void OdGsEntityNode::setRegenOnDraw ( bool val)
inline

Specifies whether this node should be regenerated on draw.

Parameters
val[in] Specifies whether to regenerate this node on draw.

Definition at line 1625 of file GsEntityNode.h.

◆ setSingleThreaded()

void OdGsEntityNode::setSingleThreaded ( bool val)
inline

Specifies whether this node should be updated in a single-threaded mode.

Parameters
val[in] Specifies whether to use single-threaded mode.

Definition at line 1615 of file GsEntityNode.h.

◆ setSkipDisplayClipping()

void OdGsEntityNode::setSkipDisplayClipping ( bool bOn)
inline

Specifies whether this node should should skip clipping procedure.

Parameters
bOn[in] Specifies whether to skip clipping.

Definition at line 1768 of file GsEntityNode.h.

◆ setSpatiallyIndexed() [1/2]

void OdGsEntityNode::setSpatiallyIndexed ( bool spatiallyIndexed)
inline

Controls the spatial indexing of this EntityNode object.

Parameters
spatiallyIndexed[in] Controls spatially indexed.

Definition at line 1439 of file GsEntityNode.h.

◆ setSpatiallyIndexed() [2/2]

void OdGsEntityNode::setSpatiallyIndexed ( OdUInt32 nVpId,
bool spatiallyIndexed )
inline

Controls the spatial indexing of this EntityNode object.

Parameters
nVpId[in] Viewport ID.
spatiallyIndexed[in] Controls spatially indexed.

Definition at line 1446 of file GsEntityNode.h.

◆ setStateBranch()

void OdGsEntityNode::setStateBranch ( OdGsStateBranch * pBr)
inline

Sets a branch of subentities and nested entities to highlight, hide or transform.

Parameters
pBr[in] Pointer to a branch of subentities and nested entities.

Definition at line 1644 of file GsEntityNode.h.

◆ skipDisplayClipping()

bool OdGsEntityNode::skipDisplayClipping ( ) const
inline

Checks whether this node skips clipping procedure.

Returns
true if this node skips clipping procedure, false otherwise.

Definition at line 1763 of file GsEntityNode.h.

◆ spatiallyIndexed() [1/2]

bool OdGsEntityNode::spatiallyIndexed ( ) const
inline

Returns true if and only if this EntityNode object is spatially indexed.

Parameters
nVpId[in] Viewport ID.

Definition at line 1423 of file GsEntityNode.h.

◆ spatiallyIndexed() [2/2]

bool OdGsEntityNode::spatiallyIndexed ( OdUInt32 nVpId) const
inline

Returns true if and only if this EntityNode object is spatially indexed.

Parameters
nVpId[in] Viewport ID.

Definition at line 1430 of file GsEntityNode.h.

◆ stateBranch() [1/2]

OdGsStateBranch * OdGsEntityNode::stateBranch ( OdGsStateBranch::BranchType branchType = OdGsStateBranch::kHighlightingBranch)
inline

Retrieves a branch of subentities and nested entities to highlight, hide or transform.

Parameters
branchType[in] Type of state branch to retrieve.

Definition at line 1688 of file GsEntityNode.h.

◆ stateBranch() [2/2]

const OdGsStateBranch * OdGsEntityNode::stateBranch ( OdGsStateBranch::BranchType branchType = OdGsStateBranch::kHighlightingBranch) const
inline

Retrieves a branch of subentities and nested entities to highlight, hide or transform.

Parameters
branchType[in] Type of state branch to retrieve.

Definition at line 1705 of file GsEntityNode.h.

◆ transformExtents()

void OdGsEntityNode::transformExtents ( OdGeExtents3d & ext,
const OdGsStateBranch * pTransformBr = NULL,
bool bInverse = false ) const

Transforms the specified extents according to the specified state branch.

Parameters
ext[in/out] Extents to modify.
pTransformBr[in] Pointer to the specified state branch.
bInverse[in] Execute transform if false and untransform if true.

◆ update()

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

Updates this entity node.

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

Implements OdGsNode.

Reimplemented in OdGsLightNode.

◆ updateVisible()

void OdGsEntityNode::updateVisible ( OdGsViewImpl * pViewImpl)
virtual

Updates visible content.

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

Reimplemented from OdGsNode.

Friends And Related Symbol Documentation

◆ Metafile

friend class Metafile
friend

Definition at line 283 of file GsEntityNode.h.

◆ OdGsBlockReferenceNode

friend class OdGsBlockReferenceNode
friend

Definition at line 324 of file GsEntityNode.h.

◆ OdGsModuleObject

friend class OdGsModuleObject
friend

Definition at line 323 of file GsEntityNode.h.

Member Data Documentation

◆ m_entFlags

OdUInt32 OdGsEntityNode::m_entFlags
protected

Definition at line 1292 of file GsEntityNode.h.

◆ m_extents

OdGeExtents3d OdGsEntityNode::m_extents
mutableprotected

Definition at line 172 of file GsEntityNode.h.

◆ m_metafile

MetafileHolder OdGsEntityNode::m_metafile
mutableprotected

Definition at line 616 of file GsEntityNode.h.

◆ m_stateBranch

OdGsStateBranchPtr OdGsEntityNode::m_stateBranch
protected

Definition at line 607 of file GsEntityNode.h.


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