CFx SDK Documentation
2020SP3
|
#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), kLastEntFlag = kMarkedByUpdateManager } |
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, kLastFlag = kSelectHidden } |
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 () |
OdGsDCRect | extentsToPixels (const OdGeExtents3d &ext, OdGsViewImpl *pViewImpl) |
Protected Member Functions inherited from OdGsNode | |
void | setInvalidVp (bool val) |
void | clearDrawable () |
OdGsNode (const OdGsNode &c) | |
Protected Attributes | |
OdGeExtents3d | m_extents |
OdGsHlBranchPtr | m_hlBranch |
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 |
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 102 of file GsEntityNode.h.
This template class is a specialization of the OdSmartPtr class for Metafile object pointers.
Definition at line 150 of file GsEntityNode.h.
|
protected |
Definition at line 463 of file GsEntityNode.h.
|
protected |
Definition at line 482 of file GsEntityNode.h.
|
protected |
Enumerator | |
---|---|
kMarkedToSkipFirst | |
kMarkedToSkipLast | |
kMarkedToSkipAll |
Definition at line 499 of file GsEntityNode.h.
This enumeration used with OdGsEntityNode::metafile method.
Enumerator | |
---|---|
kSkipCheckCompatible | |
kCheckViewChanges | |
kCheckCompatibleView | |
kFindCompatible |
Definition at line 438 of file GsEntityNode.h.
OdGsEntityNode::OdGsEntityNode | ( | OdGsBaseModel * | pModel, |
const OdGiDrawable * | pUnderlyingDrawable, | ||
bool | bSetGsNode = false |
||
) |
pModel | [in] Pointer to the BaseModel object. |
pUnderlyingDrawable | [in] Pointer to the underlying Drawable object. |
OdGsEntityNode::~OdGsEntityNode | ( | ) |
|
virtual |
Adds content of node to the update manager
viewportId | [in] Id of viewport |
pManager | [in] Pointer to the Update Manager instance |
context | [in] UpdateManagerContext that specify what values should be initialized |
Reimplemented from OdGsNode.
|
inline |
Definition at line 1097 of file GsEntityNode.h.
|
inlinestatic |
Definition at line 188 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 |
Implements OdGsNode.
Definition at line 688 of file GsEntityNode.h.
|
virtual |
Paints the specified view with the cached data associated with this Node object.
view | [in] View to be painted. |
Implements OdGsNode.
Enable multiple entity links.
Definition at line 782 of file GsEntityNode.h.
|
inline |
Definition at line 961 of file GsEntityNode.h.
|
inline |
Definition at line 833 of file GsEntityNode.h.
|
virtual |
Reimplemented from OdGsNode.
|
virtual |
Returns the extents of this Entity object.
extents | [out] Receives the extents. |
Implements OdSiEntity.
|
protected |
OdRxObject* OdGsEntityNode::findCompatibleCache | ( | const OdGsViewImpl & | keyView, |
OdGsUpdateContext * | ctx, | ||
OdUInt32 | awareMask = 0 |
||
) |
|
protected |
Definition at line 189 of file GsEntityNode.h.
|
static |
|
inlinevirtual |
Reimplemented from OdGsNode.
Definition at line 1092 of file GsEntityNode.h.
|
inline |
Returns true if and only if the underlying GiDrawable object(s) have extents.
Definition at line 828 of file GsEntityNode.h.
|
virtual |
Returns true if the node has no graphical content.
|
inlinevirtual |
Reimplemented from OdGsNode.
Reimplemented in OdGsMInsertBlockNode.
Definition at line 1079 of file GsEntityNode.h.
|
inline |
Definition at line 710 of file GsEntityNode.h.
|
inline |
Definition at line 711 of file GsEntityNode.h.
|
protected |
|
virtual |
Invalidates the cached data within this object.
pParent | [in] Pointer to the ContainerNode object for this Node object. |
pView | [in] Pointer to the VectorizeView object for which data are to be invalidated. |
mask | [in] Mask. |
Implements OdGsNode.
Reimplemented in OdGsLightNode.
|
virtual |
Returns true if the node has no graphical content.
Reimplemented in OdGsBlockReferenceNode.
|
inline |
Definition at line 1024 of file GsEntityNode.h.
|
inline |
Definition at line 971 of file GsEntityNode.h.
|
inline |
Definition at line 1049 of file GsEntityNode.h.
|
inlinevirtual |
Reimplemented in OdGsLightNode.
Definition at line 579 of file GsEntityNode.h.
|
inline |
Definition at line 1039 of file GsEntityNode.h.
|
inline |
Definition at line 1004 of file GsEntityNode.h.
|
inline |
Definition at line 994 of file GsEntityNode.h.
|
inlinevirtual |
Reimplemented in OdGsBlockReferenceNode.
Definition at line 578 of file GsEntityNode.h.
|
inline |
Definition at line 1069 of file GsEntityNode.h.
|
inline |
Definition at line 1044 of file GsEntityNode.h.
|
inline |
Definition at line 1059 of file GsEntityNode.h.
|
virtual |
Reimplemented in OdGsMInsertBlockNode, and OdGsBlockReferenceNode.
|
virtual |
Reimplemented from OdGsNode.
|
virtual |
Reimplemented in OdGsMInsertBlockNode, and OdGsBlockReferenceNode.
|
inline |
Definition at line 989 of file GsEntityNode.h.
|
inline |
Definition at line 984 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is marked by Update Manager.
Definition at line 1112 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is marked to be skipped with the given mask (thread).
Definition at line 838 of file GsEntityNode.h.
|
inline |
Definition at line 1009 of file GsEntityNode.h.
|
inline |
Definition at line 999 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 849 of file GsEntityNode.h.
|
inline |
Definition at line 866 of file GsEntityNode.h.
|
inlinestatic |
Definition at line 682 of file GsEntityNode.h.
|
inlineprotected |
Returns the array the objects in the metafile array of this EntityNode object.
Definition at line 944 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. |
bFindCompatible | [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 934 of file GsEntityNode.h.
|
inlineprotected |
Returns a reference to the metafile array of this EntityNode object as an array of MetafilePtr.
Definition at line 939 of file GsEntityNode.h.
|
inline |
Returns the specified MetafilePtr from the metafile array of this EntityNode object.
metafileIndex | [in] Metafile index. |
Definition at line 949 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
nVpId | [in] Viewport ID. |
Definition at line 789 of file GsEntityNode.h.
|
inline |
Returns the next entity for this EntityNode object.
nVpId | [in] Viewport ID. |
Definition at line 805 of file GsEntityNode.h.
|
inline |
Definition at line 796 of file GsEntityNode.h.
|
inline |
Definition at line 812 of file GsEntityNode.h.
|
inlinevirtual |
Implements OdGsNode.
Definition at line 576 of file GsEntityNode.h.
|
inline |
Returns number of next entities.
Definition at line 821 of file GsEntityNode.h.
OdGsEntityNode::ODRX_DECLARE_MEMBERS | ( | OdGsEntityNode | ) |
|
inline |
Returns true if and only if this EntityNode object is the child of a ContainerNode object.
Definition at line 903 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is the child of a ContainerNode object.
nVpId | [in] Viewport ID. |
Definition at line 910 of file GsEntityNode.h.
|
virtual |
Reimplemented in OdGsMInsertBlockNode, and OdGsBlockReferenceNode.
|
protectedvirtual |
Invalidates parts of cache depended on layers modified since last regeneration.
Implements OdGsNode.
Reimplemented in OdGsBlockReferenceNode.
|
virtual |
Reimplemented in OdGsMInsertBlockNode, and OdGsBlockReferenceNode.
Definition at line 190 of file GsEntityNode.h.
|
virtual |
|
virtual |
Reimplemented in OdGsMInsertBlockNode, and OdGsBlockReferenceNode.
|
inline |
Definition at line 976 of file GsEntityNode.h.
|
virtual |
Reimplemented from OdGsNode.
void OdGsEntityNode::select | ( | OdGsBaseVectorizer & | view | ) |
|
inline |
Definition at line 1034 of file GsEntityNode.h.
|
inline |
Definition at line 966 of file GsEntityNode.h.
|
inlineprotected |
Definition at line 1086 of file GsEntityNode.h.
|
protected |
|
inline |
Definition at line 1029 of file GsEntityNode.h.
|
inline |
Definition at line 709 of file GsEntityNode.h.
|
inline |
Definition at line 1054 of file GsEntityNode.h.
|
inline |
Controls the marking by Update Manager status of this EntityNode object.
marked | [in] Controls marked status. |
Definition at line 1117 of file GsEntityNode.h.
|
inline |
Definition at line 1107 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 956 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 767 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 774 of file GsEntityNode.h.
|
inline |
Controls the owned status of this EntityNode object.
owned | [in] Controls owned status. |
Definition at line 919 of file GsEntityNode.h.
Controls the owned status of this EntityNode object.
nVpId | [in] Viewport ID. |
owned | [in] Controls owned status. |
Definition at line 926 of file GsEntityNode.h.
|
inline |
Definition at line 1074 of file GsEntityNode.h.
|
inline |
Definition at line 1064 of file GsEntityNode.h.
|
inline |
Controls the spatial indexing of this EntityNode object.
spatiallyIndexed | [in] Controls spatially indexed. |
Definition at line 888 of file GsEntityNode.h.
Controls the spatial indexing of this EntityNode object.
nVpId | [in] Viewport ID. |
spatiallyIndexed | [in] Controls spatially indexed. |
Definition at line 895 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is spatially indexed.
nVpId | [in] Viewport ID. |
Definition at line 872 of file GsEntityNode.h.
|
inline |
Returns true if and only if this EntityNode object is spatially indexed.
nVpId | [in] Viewport ID. |
Definition at line 879 of file GsEntityNode.h.
|
virtual |
Updates the cached data within this Node object for the specified VectorizeView and ContainerNode objects.
pParent | [in] Pointer to the ContainerNode object for this Node object. |
view | [in] VectorizeView object for which data are to be updated. |
Implements OdGsNode.
Reimplemented in OdGsLightNode.
|
virtual |
Updates the cached data if Node object is visible in specified view
pViewImpl | [in] pointer to the View Implementation |
Reimplemented from OdGsNode.
|
friend |
Definition at line 145 of file GsEntityNode.h.
|
friend |
Definition at line 186 of file GsEntityNode.h.
|
friend |
Definition at line 185 of file GsEntityNode.h.
|
protected |
Definition at line 753 of file GsEntityNode.h.
|
mutableprotected |
Definition at line 118 of file GsEntityNode.h.
|
protected |
Definition at line 386 of file GsEntityNode.h.
|
mutableprotected |
Definition at line 395 of file GsEntityNode.h.