|
CFx SDK Documentation 2024 SP0
|
#include <GsEntityNode.h>
Classes | |
| class | Metafile |
| class | MetafileEx |
| class | MetafileHolder |
| class | MetafilePtrArray |
Public Types | |
| enum | MetafileCompatibilityLevel { kSkipCheckCompatible = 0 , kCheckViewChanges = 1 , kCheckCompatibleView = 2 , kFindCompatible = 3 } |
| typedef OdSmartPtr< Metafile > | MetafilePtr |
Static Public Member Functions | |
| static void * | Alloc (size_t nBytes) |
| static void | Free (void *pMemBlock) |
| static void * | Realloc (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 OdRxClass * | desc () |
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) |
| MetafilePtrArray & | metafileArray () |
| const MetafilePtrArray & | metafileArray () 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 | |
| OdGsNode * | m_pPrev |
| OdGsNode * | m_pNext |
| OdGsBaseModel * | m_pModel |
| void * | m_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 |
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.
This template class is a specialization of the OdSmartPtr class for Metafile object pointers.
Definition at line 284 of file GsEntityNode.h.
|
protected |
Definition at line 681 of file GsEntityNode.h.
|
protected |
Definition at line 700 of file GsEntityNode.h.
|
protected |
| Enumerator | |
|---|---|
| kMarkedToSkipFirst | |
| kMarkedToSkipLast | |
| kMarkedToSkipAll | |
Definition at line 718 of file GsEntityNode.h.
This enumeration used with OdGsEntityNode::metafile method.
Definition at line 645 of file GsEntityNode.h.
| OdGsEntityNode::OdGsEntityNode | ( | OdGsBaseModel * | pModel, |
| const OdGiDrawable * | pUnderlyingDrawable, | ||
| bool | bSetGsNode = false |
||
| ) |
Constructor for the OdGsEntityNode class.
| 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 | ( | ) |
Destructor for the OdGsEntityNode class.
|
virtual |
Adds content to the update manager
| viewportId | [in] Viewport ID. |
| pManager | [in] Pointer to a manager for which to add content. |
| context | [in] Update manager context. |
Reimplemented from OdGsNode.
|
inline |
Sets a maximal lineweight for this entity node if it is greater than current maximal lineweight for this entity node.
| lwd | [in] New lineweight value to compare and set if necessary. |
Definition at line 1596 of file GsEntityNode.h.
|
inlinestatic |
Definition at line 322 of file GsEntityNode.h.
Returns the Aware flags for the specified Viewport for this ContainerNode object.
| viewportId | [in] Viewport ID. |
Value kSuppressViewportDraw 0x01 kDrawInvisibleEnts 0x02 kDrawLayerOff 0x04 kDrawLayerFrozen 0x08 kIgnoreFillPlane 0x10 kFillPlaneSet 0x20
Reimplemented in OdGsBlockReferenceNode.
| void OdGsEntityNode::convertToViewportDependent | ( | const OdGsUpdateContext & | ctx | ) |
Convert a RegenType dependent cache to Viewport dependent cache.
| ctx | [in] Current update context. |
|
inlinevirtual |
|
virtual |
Paints the specified view with the cached data associated with this Node object.
| ctx | [in] Current GS update context. |
Implements OdGsNode.
Enable multiple entity links.
| nMaxVpId | [in] Viewport ID. |
Definition at line 1273 of file GsEntityNode.h.
|
inline |
Retrieves the entity unerased flag for this object.
Definition at line 1453 of file GsEntityNode.h.
|
inline |
Returns extents of the underlying GiDrawable object(s).
Definition at line 1324 of file GsEntityNode.h.
|
virtual |
Retrieves extents of this node object.
| pView | [in] Pointer to a GS view. |
| ext | [out] Reference to the OdGeExtents3d object which will receive current entity node extents. |
Reimplemented from OdGsNode.
|
virtual |
Returns the extents of the underlying GiDrawable object(s) associated with this Node object.
| extents | [out] Receives the extents. |
Implements OdSiEntity.
| OdRxObject * OdGsEntityNode::findCompatibleCache | ( | const OdGsViewImpl & | keyView, |
| OdGsUpdateContext * | ctx, | ||
| OdUInt32 | awareMask = 0 |
||
| ) |
Finds compatible cache for the passed view.
| keyView | [in] View implementation object for which to find compatible cache. |
| ctx | [in] Current update context. |
| awareMask | [in] Aware flags. |
|
protected |
Definition at line 323 of file GsEntityNode.h.
|
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.
| flags | [in] A set of aware flags. |
| pLayerNode | [in] Layer node with which a starting geometry portion of a metafile is associated. |
|
inlinevirtual |
Retrieves a maximal lineweight for this entity node.
Reimplemented from OdGsNode.
Definition at line 1591 of file GsEntityNode.h.
|
inline |
Returns true if and only if the underlying GiDrawable object(s) have extents.
Definition at line 1319 of file GsEntityNode.h.
|
virtual |
Checks whether this node has frozen layers.
|
inlinevirtual |
Hides the specified node.
| 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.
|
inlinevirtual |
Highlights or unhighlights this node and the branch of child node, if specified.
| 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.
|
inline |
Retrieves a branch of subentities and nested entities to highlight or unhighlight.
Definition at line 1092 of file GsEntityNode.h.
|
inline |
Retrieves a branch of subentities and nested entities to highlight or unhighlight.
Definition at line 1097 of file GsEntityNode.h.
|
protected |
|
virtual |
Invalidates this entity node.
| pParent | [in] Parent container node. |
| view | [in] BaseVectorizeView object for which data are to be invalidated. |
| mask | [in] Mask. |
Implements OdGsNode.
Reimplemented in OdGsLightNode.
|
virtual |
Checks whether this node has no graphical content.
Reimplemented in OdGsBlockReferenceNode.
|
inline |
Definition at line 1516 of file GsEntityNode.h.
|
inline |
Checks whether this entity node is invisible.
Definition at line 1463 of file GsEntityNode.h.
|
inline |
Definition at line 1541 of file GsEntityNode.h.
|
inlinevirtual |
Reimplemented in OdGsLightNode.
Definition at line 832 of file GsEntityNode.h.
|
inline |
Checks whether this entity node is an owner of a light source.
Definition at line 1531 of file GsEntityNode.h.
|
inline |
Checks whether this node is marked as erased.
Definition at line 1496 of file GsEntityNode.h.
|
inline |
Definition at line 1486 of file GsEntityNode.h.
|
virtual |
Checks whether the passed views have compatible metafiles.
| 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.
|
inlinevirtual |
Reimplemented in OdGsBlockReferenceNode.
Definition at line 831 of file GsEntityNode.h.
|
inline |
Checks whether this node is regenerated on draw.
Definition at line 1561 of file GsEntityNode.h.
|
inline |
Specifies whether cache requires a regeneration on a highlight state change.
Definition at line 1536 of file GsEntityNode.h.
|
inlinevirtual |
Reimplemented in OdGsBlockReferenceNode.
Definition at line 833 of file GsEntityNode.h.
|
inline |
Checks whether this node is updated in a single-threaded mode.
Definition at line 1551 of file GsEntityNode.h.
|
inline |
Returns true if entity node represents Xref drawable.
Definition at line 1631 of file GsEntityNode.h.
|
virtual |
Checks whether at least one geometry portion of an metafile has a layer that changed.
| view | [in] GS view. |
Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.
|
virtual |
Restores node state from filer object.
| pFiler | [in] Pointer to a filer object. Filer object. |
| pVectorizer | [in] Pointer to a vectorrizer. May be needed to load vectorizer client metafile (cache). |
Reimplemented from OdGsNode.
|
virtual |
Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.
|
inline |
Specifies whether this node should be non-selectable.
| val | [in] Specifies whether this node is non-selectable. |
Definition at line 1481 of file GsEntityNode.h.
|
inline |
Checks whether this node is marked as non-selectable.
Definition at line 1476 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is marked by Update Manager.
Definition at line 1611 of file GsEntityNode.h.
|
inline |
Checks whether this node is marked to be skipped with the passed mask.
| mask | [in] Mask. |
Definition at line 1329 of file GsEntityNode.h.
|
inline |
Marks this node as erased or not erased.
| val | [in] Specifies whether to mark this node as erased. |
Definition at line 1501 of file GsEntityNode.h.
|
inline |
Definition at line 1491 of file GsEntityNode.h.
|
inline |
Controls the MarkToSkip status of this EntityNode object.
| markToSkip | [in] Controls MarkToSkip. |
| mask | [in] the mask(thread). |
Definition at line 1340 of file GsEntityNode.h.
|
inline |
Specifies to skip this node by all threads.
Definition at line 1358 of file GsEntityNode.h.
|
inlinestatic |
Specifies an index of thread to skip this node.
Definition at line 974 of file GsEntityNode.h.
|
inlineprotected |
Returns the array the objects in the metafile array of this EntityNode object.
Definition at line 1436 of file GsEntityNode.h.
| OdGsEntityNode::Metafile * OdGsEntityNode::metafile | ( | const OdGsViewImpl & | view, |
| OdGsUpdateContext * | ctx, | ||
| MetafileCompatibilityLevel | findCompatibleLevel = kFindCompatible |
||
| ) |
Returns metafile pointer compatible with requrested view configuration.
| 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. |
|
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.
|
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.
|
inline |
Returns the specified MetafilePtr from the metafile array of this EntityNode object.
| metafileIndex | [in] Metafile index. |
Definition at line 1441 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
Definition at line 1280 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
Definition at line 1296 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
| nVpId | [in] Viewport ID. |
Definition at line 1287 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
| nVpId | [in] Viewport ID. |
Definition at line 1303 of file GsEntityNode.h.
|
inlinevirtual |
|
inline |
Returns number of next entities.
Definition at line 1312 of file GsEntityNode.h.
| OdGsEntityNode::ODRX_DECLARE_MEMBERS | ( | OdGsEntityNode | ) |
|
inline |
Checks whether this EntityNode object is the child of a ContainerNode object.
Definition at line 1395 of file GsEntityNode.h.
|
inline |
Checks whether this EntityNode object is the child of a ContainerNode object.
| nVpId | [in] Viewport ID. |
Definition at line 1402 of file GsEntityNode.h.
|
virtual |
Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.
|
protectedvirtual |
Invalidates parts of cache depended on layers modified since last regeneration.
| view | [in] View Implementation object. |
Implements OdGsNode.
Reimplemented in OdGsBlockReferenceNode.
|
virtual |
Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.
Definition at line 324 of file GsEntityNode.h.
|
virtual |
Regenerates a metafile and returns a smart pointer to it.
| ctx | [in] View in which content is visible. |
| vpDepFlags | [in] Viewport-dependent flags. |
|
virtual |
Reimplemented in OdGsBlockReferenceNode, and OdGsMInsertBlockNode.
|
inline |
Sets the invalid viewport flag to false.
Definition at line 1468 of file GsEntityNode.h.
|
virtual |
Stores current state of this entity node into filer object.
| pFiler | [out] Pointer to a filer object. |
| pVectorizer | [in/out] Pointer to a vectorrizer. May be needed to save vectorizer client metafile (cache). |
Reimplemented from OdGsNode.
| void OdGsEntityNode::select | ( | OdGsBaseVectorizer & | view | ) |
|
inline |
Specifies whether this entity node is an owner of a light source.
| flag | [in] Flag to set. |
Definition at line 1526 of file GsEntityNode.h.
|
inline |
Sets the entity unerased flag for this object.
| flag | [in] Flag to set. |
Definition at line 1458 of file GsEntityNode.h.
|
inlineprotected |
Definition at line 1585 of file GsEntityNode.h.
|
protected |
|
inline |
Definition at line 1521 of file GsEntityNode.h.
|
inline |
Sets a branch of subentities and nested entities to highlight or unhighlight.
| pBr | [in] Pointer to a branch of subentities and nested entities. |
Definition at line 1087 of file GsEntityNode.h.
|
inline |
Definition at line 1546 of file GsEntityNode.h.
|
inline |
Controls the marking by Update Manager status of this EntityNode object.
| marked | [in] Controls marked status. |
Definition at line 1616 of file GsEntityNode.h.
|
inline |
Sets a maximal lineweight for this entity node.
| lwd | [in] New lineweight value to set. |
Definition at line 1606 of file GsEntityNode.h.
|
inline |
Sets the metafile array for this EntityNode object from the specified array of objects.
| metafiles | [in] Array of metafile objects. |
Definition at line 1448 of file GsEntityNode.h.
| void OdGsEntityNode::setMetafile | ( | OdGsUpdateContext & | ctx, |
| OdGsEntityNode::Metafile * | metafiles | ||
| ) |
Sets metafile for current view configuration.
| ctx | [in] Current update context. |
| metafiles | [in] Pointer onto new metafile object. |
| void OdGsEntityNode::setMetafileAt | ( | int | metafileIndex, |
| OdGsEntityNode::Metafile * | pMetafile | ||
| ) |
|
inline |
Sets the next entity for this EntityNode object to the specified EntityNode object.
| pNextEntity | [in] Pointer to the next EntityNode. |
Definition at line 1258 of file GsEntityNode.h.
|
inline |
Sets the next entity for this EntityNode object to the specified EntityNode object.
| pNextEntity | [in] Pointer to the next EntityNode. |
| nVpId | [in] Viewport ID. |
Definition at line 1265 of file GsEntityNode.h.
|
inline |
Controls the owned status of this EntityNode object.
| owned | [in] Controls owned status. |
Definition at line 1411 of file GsEntityNode.h.
Controls the owned status of this EntityNode object.
| nVpId | [in] Viewport ID. |
| owned | [in] Controls owned status. |
Definition at line 1418 of file GsEntityNode.h.
|
inline |
Specifies whether this node should be regenerated on draw.
| val | [in] Specifies whether to regenerate this node on draw. |
Definition at line 1566 of file GsEntityNode.h.
|
inline |
Specifies whether this node should be updated in a single-threaded mode.
| val | [in] Specifies whether to use single-threaded mode. |
Definition at line 1556 of file GsEntityNode.h.
|
inline |
Specifies whether this node should should skip clipping procedure.
| bOn | [in] Specifies whether to skip clipping. |
Definition at line 1626 of file GsEntityNode.h.
|
inline |
Controls the spatial indexing of this EntityNode object.
| spatiallyIndexed | [in] Controls spatially indexed. |
Definition at line 1380 of file GsEntityNode.h.
Controls the spatial indexing of this EntityNode object.
| nVpId | [in] Viewport ID. |
| spatiallyIndexed | [in] Controls spatially indexed. |
Definition at line 1387 of file GsEntityNode.h.
|
inline |
Specifies node visibility branch.
Definition at line 1108 of file GsEntityNode.h.
|
inline |
Checks whether this node skips clipping procedure.
Definition at line 1621 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is spatially indexed.
| nVpId | [in] Viewport ID. |
Definition at line 1364 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is spatially indexed.
| nVpId | [in] Viewport ID. |
Definition at line 1371 of file GsEntityNode.h.
|
virtual |
Updates this entity node.
| 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.
|
virtual |
Updates visible content.
| pViewImpl | [in] View in which content is visible. |
Reimplemented from OdGsNode.
|
inline |
Retrieves node visibility branch.
Definition at line 1112 of file GsEntityNode.h.
|
inline |
Retrieves node visibility branch.
Definition at line 1116 of file GsEntityNode.h.
|
friend |
Definition at line 279 of file GsEntityNode.h.
|
friend |
Definition at line 320 of file GsEntityNode.h.
|
friend |
Definition at line 319 of file GsEntityNode.h.
|
protected |
Definition at line 1233 of file GsEntityNode.h.
|
mutableprotected |
Definition at line 168 of file GsEntityNode.h.
|
protected |
Definition at line 586 of file GsEntityNode.h.
|
mutableprotected |
Definition at line 596 of file GsEntityNode.h.
|
protected |
Definition at line 587 of file GsEntityNode.h.