CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
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
 

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)
 
 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 setHlBranch (OdGsStateBranch *pBr)
 
OdGsStateBranchhlBranch ()
 
const OdGsStateBranchhlBranch () const
 
void hide (bool bDoIt, bool bSelectable=false, bool bWholeBranch=true)
 
void setVisibilityBranch (OdGsStateBranch *pBr)
 
OdGsStateBranchvisibilityBranch ()
 
const OdGsStateBranchvisibilityBranch () 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 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
 
virtual bool extents (OdGeExtents3d &extents) const =0
 

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 ()
 

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 insertToSpatialIndex (OdUInt32 nVpId, OdSiSpatialIndex &parentIndex, const OdGeExtents3d &prevExtents)
 
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_hlBranch
 
OdGsStateBranchPtr m_visBranch
 
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 284 of file GsEntityNode.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 681 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 700 of file GsEntityNode.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kMarkedToSkipFirst 
kMarkedToSkipLast 
kMarkedToSkipAll 

Definition at line 718 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 645 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 1596 of file GsEntityNode.h.

◆ Alloc()

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

Definition at line 322 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.

Definition at line 983 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 1273 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 1453 of file GsEntityNode.h.

◆ extents() [1/3]

const OdGeExtents3d & OdGsEntityNode::extents ( ) const
inline

Returns extents of the underlying GiDrawable object(s).

Definition at line 1324 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 OdSiEntity.

◆ 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.

◆ findMetafileInStock()

bool OdGsEntityNode::findMetafileInStock ( OdGsUpdateContext &  ctx)
protected

◆ Free()

static void OdGsEntityNode::Free ( void pMemBlock)
inlinestatic

Definition at line 323 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 1591 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 1319 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 1578 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 1571 of file GsEntityNode.h.

◆ hlBranch() [1/2]

OdGsStateBranch * OdGsEntityNode::hlBranch ( )
inline

Retrieves a branch of subentities and nested entities to highlight or unhighlight.

Definition at line 1092 of file GsEntityNode.h.

◆ hlBranch() [2/2]

const OdGsStateBranch * OdGsEntityNode::hlBranch ( ) const
inline

Retrieves a branch of subentities and nested entities to highlight or unhighlight.

Definition at line 1097 of file GsEntityNode.h.

◆ insertToSpatialIndex()

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

◆ 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.

◆ 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

Definition at line 1516 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 1463 of file GsEntityNode.h.

◆ isInWorkset()

bool OdGsEntityNode::isInWorkset ( ) const
inline

Definition at line 1541 of file GsEntityNode.h.

◆ isLight()

virtual bool OdGsEntityNode::isLight ( ) const
inlinevirtual

Reimplemented in OdGsLightNode.

Definition at line 832 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 1531 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 1496 of file GsEntityNode.h.

◆ isMarkedSkipSelection()

bool OdGsEntityNode::isMarkedSkipSelection ( ) const
inline

Definition at line 1486 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 831 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 1561 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 1536 of file GsEntityNode.h.

◆ isSelfReferential()

virtual bool OdGsEntityNode::isSelfReferential ( ) const
inlinevirtual

Reimplemented in OdGsBlockReferenceNode.

Definition at line 833 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 1551 of file GsEntityNode.h.

◆ isXref()

bool OdGsEntityNode::isXref ( ) const
inline

Returns true if entity node represents Xref drawable.

Definition at line 1631 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 1481 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 1476 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 1611 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 1329 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 1501 of file GsEntityNode.h.

◆ markSkipSelection()

void OdGsEntityNode::markSkipSelection ( bool  val)
inline

Definition at line 1491 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 1340 of file GsEntityNode.h.

◆ markToSkipAll()

void OdGsEntityNode::markToSkipAll ( )
inline

Specifies to skip this node by all threads.

Definition at line 1358 of file GsEntityNode.h.

◆ markToSkipMask()

static unsigned OdGsEntityNode::markToSkipMask ( OdUInt32  threadIndex)
inlinestatic

Specifies an index of thread to skip this node.

Definition at line 974 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 1436 of file GsEntityNode.h.

◆ metafile() [2/2]

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

Returns metafile pointer compatible with requrested 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 1426 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 1431 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 1441 of file GsEntityNode.h.

◆ nextEntity() [1/4]

OdGsEntityNode * OdGsEntityNode::nextEntity ( )
inline

Returns the next entity for this EntityNode object.

Definition at line 1280 of file GsEntityNode.h.

◆ nextEntity() [2/4]

const OdGsEntityNode * OdGsEntityNode::nextEntity ( ) const
inline

Returns the next entity for this EntityNode object.

Definition at line 1296 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 1287 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 1303 of file GsEntityNode.h.

◆ nodeType()

virtual ENodeType OdGsEntityNode::nodeType ( ) const
inlinevirtual

Retrieves the node type.

Implements OdGsNode.

Definition at line 829 of file GsEntityNode.h.

◆ numNextEntity()

OdUInt32 OdGsEntityNode::numNextEntity ( ) const
inline

Returns number of next entities.

Definition at line 1312 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 1395 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 1402 of file GsEntityNode.h.

◆ playAsGeometry()

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

◆ 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 324 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 1468 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 1526 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 1458 of file GsEntityNode.h.

◆ setExtentsFlags()

void OdGsEntityNode::setExtentsFlags ( )
inlineprotected

Definition at line 1585 of file GsEntityNode.h.

◆ setExtentsFromMetafiles()

void OdGsEntityNode::setExtentsFromMetafiles ( )
protected

◆ setExtentsOutOfModelSpace()

void OdGsEntityNode::setExtentsOutOfModelSpace ( bool  flag)
inline

Definition at line 1521 of file GsEntityNode.h.

◆ setHlBranch()

void OdGsEntityNode::setHlBranch ( OdGsStateBranch pBr)
inline

Sets a branch of subentities and nested entities to highlight or unhighlight.

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

Definition at line 1087 of file GsEntityNode.h.

◆ setInWorkset()

void OdGsEntityNode::setInWorkset ( bool  val)
inline

Definition at line 1546 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 1616 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 1606 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 1448 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 1258 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 1265 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 1411 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 1418 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 1566 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 1556 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 1626 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 1380 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 1387 of file GsEntityNode.h.

◆ setVisibilityBranch()

void OdGsEntityNode::setVisibilityBranch ( OdGsStateBranch pBr)
inline

Specifies node visibility branch.

Definition at line 1108 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 1621 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 1364 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 1371 of file GsEntityNode.h.

◆ 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.

◆ visibilityBranch() [1/2]

OdGsStateBranch * OdGsEntityNode::visibilityBranch ( )
inline

Retrieves node visibility branch.

Definition at line 1112 of file GsEntityNode.h.

◆ visibilityBranch() [2/2]

const OdGsStateBranch * OdGsEntityNode::visibilityBranch ( ) const
inline

Retrieves node visibility branch.

Definition at line 1116 of file GsEntityNode.h.

Friends And Related Function Documentation

◆ Metafile

friend class Metafile
friend

Definition at line 279 of file GsEntityNode.h.

◆ OdGsBlockReferenceNode

friend class OdGsBlockReferenceNode
friend

Definition at line 320 of file GsEntityNode.h.

◆ OdGsModuleObject

friend class OdGsModuleObject
friend

Definition at line 319 of file GsEntityNode.h.

Member Data Documentation

◆ m_entFlags

OdUInt32 OdGsEntityNode::m_entFlags
protected

Definition at line 1233 of file GsEntityNode.h.

◆ m_extents

OdGeExtents3d OdGsEntityNode::m_extents
mutableprotected

Definition at line 168 of file GsEntityNode.h.

◆ m_hlBranch

OdGsStateBranchPtr OdGsEntityNode::m_hlBranch
protected

Definition at line 586 of file GsEntityNode.h.

◆ m_metafile

MetafileHolder OdGsEntityNode::m_metafile
mutableprotected

Definition at line 596 of file GsEntityNode.h.

◆ m_visBranch

OdGsStateBranchPtr OdGsEntityNode::m_visBranch
protected

Definition at line 587 of file GsEntityNode.h.


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