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.