CFx SDK Documentation 2024 SP0
|
#include <GsContainerNode.h>
Classes | |
struct | VpData |
Public Attributes | |
OdMutex | m_nodesMutex |
Protected Types | |
enum | { kEntityListValid = OdGsNode::kLastFlag << 1 , kCheckWorkset = OdGsNode::kLastFlag << 2 , kHasStockData = OdGsNode::kLastFlag << 3 , kVpDepCache = OdGsNode::kLastFlag << 4 , kLastFlag = kVpDepCache } |
enum | { kChildrenNotUpToDate = 0x80000000 } |
typedef OdList< OdGsLightNode * > | LightsList |
typedef OdSmartPtr< VpData > | VpDataPtr |
typedef OdVector< VpDataPtr > | VpDataArray |
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 | |
VpData * | getVpData (OdUInt32 nVpId, bool bCreateIfNotFound=true) const |
VpData * | makeVpData (OdUInt32 nVpId) const |
OdUInt32 | vpDataId (const VpData *pVpData) const |
virtual void | propagateLayerChanges (OdGsViewImpl &view) |
bool | saveVpData (OdGsFiler *pFiler, const VpData *pVpData) const |
bool | loadVpData (OdGsFiler *pFiler, VpData *pVpData) |
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 | |
VpDataArray | m_vpData |
VpDataPtr | m_shareableData |
OdUInt32Vector | m_vpAwareFlags |
ViewRefs | m_viewRefs |
StockProps | m_stock |
OdMutexPtr | m_lightsMutex |
Protected Attributes inherited from OdGsNode | |
OdGsNode * | m_pPrev |
OdGsNode * | m_pNext |
OdGsBaseModel * | m_pModel |
void * | m_underlyingDrawable |
OdUInt32 | m_flags |
OdUInt32 | m_userFlags |
Additional Inherited Members | |
Static Public Member Functions inherited from OdRxObject | |
static OdRxObjectPtr | cast (const OdRxObject *pointer) |
static OdRxClass * | desc () |
Static Protected Attributes inherited from OdGsNode | |
static GS_STATIC_EXPORT AllocatorArray | s_aAlloc |
This class implements OdGsNode descendent objects that can serve as containers for OdGsEntityNode objects.
Corresponding C++ library: TD_Gs <group OdGs_Classes>
Definition at line 46 of file GsContainerNode.h.
|
protected |
Definition at line 64 of file GsContainerNode.h.
|
protected |
Definition at line 90 of file GsContainerNode.h.
|
protected |
Definition at line 89 of file GsContainerNode.h.
|
protected |
Enumerator | |
---|---|
kEntityListValid | |
kCheckWorkset | |
kHasStockData | |
kVpDepCache | |
kLastFlag |
Definition at line 49 of file GsContainerNode.h.
|
protected |
Enumerator | |
---|---|
kChildrenNotUpToDate |
Definition at line 58 of file GsContainerNode.h.
OdGsContainerNode::OdGsContainerNode | ( | OdGsBaseModel * | pModel, |
const OdGiDrawable * | pUnderlyingDrawable, | ||
bool | bSetGsNode = true |
||
) |
Constructor for the OdGsContainerNode 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. |
OdGsContainerNode::~OdGsContainerNode | ( | ) |
Destructor for the OdGsContainerNode class.
|
virtual |
Adds a child node to this ContainerNode object.
pDrawable | [in] Pointer to the Drawable object. |
unerased | [in] Added child is unerased. |
void OdGsContainerNode::addChildNode | ( | OdUInt32 | nVpId, |
OdGsEntityNode * | pEnt | ||
) |
Returns true if and only if a regen is required for the specified Viewport object for this ContainterNode object.
nVpId | [in] Viewport ID. |
pEnt | [in] Pointer to an entity node to add. |
|
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.
void OdGsContainerNode::addEntProps | ( | const OdGsUpdateContext & | ctx | ) |
Adds entity properties from the passed context. Adds viewport real extents and sets aware flags.
ctx | [in] GS update context. |
|
virtual |
Definition at line 882 of file GsContainerNode.h.
|
inline |
Checks whether the EntityListValid flag is set for this ContainterNode object.
Definition at line 687 of file GsContainerNode.h.
Returns the Aware flags for the specified Viewport for this ContainerNode object.
viewportId | [in] Viewport ID. |
Value kVpID 0x00000001 kVpRegenType 0x00000002 kVpRenderMode 0x00000004 kVpWorldToEye 0x00000008 kVpPerspective 0x00000010 kVpResolution 0x00000020 kVpMaxDevForCircle 0x00000040 kVpMaxDevForCurve 0x00000080 kVpMaxDevForBoundary 0x00000100 kVpMaxDevForIsoline 0x00000200 kVpMaxDevForFacet 0x00000400 kVpCamLocation 0x00000800 kVpCamTarget 0x00001000 kVpCamUpVector 0x00002000 kVpCamViewDir 0x00004000 kVpViewport 0x00008000 kVpFrontBack 0x00010000 kVpFrozenLayers 0x00020000 kVpLtypeScaleMult 0x00040000 kEntityRegenDraw 0x00080000 kVpDisableLayoutCache 0x00100000 kVpModelTf 0x00200000 kVpExcludeFromExtMinMax 0x00400000 kSectionable 0x00800000 kVpRenderModule 0x01000000 kVpAnnoScale 0x02000000 kVpFilterFunction 0x04000000 kVpVisualStyle 0x08000000 kVpHighlightingGeom 0x10000000
Definition at line 812 of file GsContainerNode.h.
|
inline |
Definition at line 843 of file GsContainerNode.h.
|
inline |
Checks whether the kEntityRegenDraw flag is set for the specified viewport ID.
nVpID | [in] Viewport ID. |
Definition at line 853 of file GsContainerNode.h.
|
inline |
Checks whether the ChildrenUpToDate flag is set for this containter node.
nVpId | [in] Viewport ID. |
Definition at line 788 of file GsContainerNode.h.
OdUInt32 OdGsContainerNode::currViewChanges | ( | ) | const |
Returns summ of all aware flags for entire viewports list.
|
virtual |
Calls the destroySubitems() method.
Implements OdGsNode.
void OdGsContainerNode::destroySubitems | ( | ) |
Destroys all sub-items of this container node.
|
virtual |
Paints the specified view with the cached data associated with this Node object.
ctx | [in] Current GS update context. |
Implements OdGsNode.
|
virtual |
Vectorizes the entities in all of the child nodes of this ContainerNode object.
ctx | [in] Display context. |
bool OdGsContainerNode::doMTUpdate | ( | OdGsUpdateContext & | ctx | ) |
Performs a multi-threaded update.
ctx | [in] GS update context. |
void OdGsContainerNode::doSTUpdate | ( | OdGsUpdateContext & | ctx | ) |
Performs a single-threaded update.
ctx | [in] GS update context. |
|
inline |
Checks whether the EntityListValid flag is set for a specified viewport ID in this ContainterNode object.
nVpId | [in] Viewport ID. |
Definition at line 677 of file GsContainerNode.h.
|
virtual |
Returns extents of this container node object.
ext | [out] Reference to the OdGeExtents3d object which will receive current container node extents. |
Reimplemented from OdGsNode.
|
virtual |
Returns extents of this container node object.
extents | [out] Reference to the OdGeExtents3d object which will receive current container node extents. |
Implements OdGsCache.
bool OdGsContainerNode::findCompatibleCache | ( | OdGsViewImpl & | keyView | ) |
Finds compatible cache for the passed view.
keyView | [in] View implementation object for which to find compatible cache. |
|
inline |
Returns pointer to the first entity node inside container.
nVpId | [in] Viewport ID. |
Definition at line 746 of file GsContainerNode.h.
|
inline |
Returns pointer to the first entity node inside container.
nVpId | [in] Viewport ID. |
Definition at line 754 of file GsContainerNode.h.
|
inlineprotected |
Definition at line 633 of file GsContainerNode.h.
|
inline |
Checks whether this node has viewport data for the specified viewport ID.
nVpId | [in] Viewport ID. |
Definition at line 658 of file GsContainerNode.h.
bool OdGsContainerNode::highlightSubnodes | ( | OdUInt32 | nSubnodes, |
bool | bHighlight, | ||
bool | bAll, | ||
OdUInt32 | nSelStyle = 0 |
||
) |
Adds or releases the counter of highlighted children of the node, and sets the kHLT/kHLT_All flags if necessary.
nSubnodes | [in] Number of subnodes. |
bHighlight | [in] Flag that specifies whether to highlight. If true - highlight, if false - unhighlight. |
bAll | [in] If true then consider kHLT_All flag. |
nSelStyle | [in] Optional selection style index. |
|
virtual |
Implements OdGsNode.
OdUInt32 OdGsContainerNode::isAttached | ( | OdGsEntityNode * | pNode | ) | const |
Retrieves number of elements in the array of viewport data elements which are attached to the specified entity node.
pNode | [in] Pointer to an entity node. |
|
inline |
Checks whether this ContainterNode object is empty.
Definition at line 692 of file GsContainerNode.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.
|
inline |
Checks whether the kVpDepCache flag is set.
Definition at line 672 of file GsContainerNode.h.
|
inline |
Returns pointer to the last entity node inside container.
nVpId | [in] Viewport ID. |
Definition at line 762 of file GsContainerNode.h.
|
inline |
Returns pointer to the last entity node inside container.
nVpId | [in] Viewport ID. |
Definition at line 770 of file GsContainerNode.h.
|
inline |
Returns light nodes list.
nVpId | [in] Viewport ID. |
Definition at line 778 of file GsContainerNode.h.
|
inline |
Returns light nodes list.
nVpId | [in] Viewport ID. |
Definition at line 783 of file GsContainerNode.h.
|
virtual |
Loads current node state from filer object.
pFiler | [in] Filer object. |
pVectorizer | [in] Pointer to a vectorizer. May be required for saving client node state. |
Reimplemented from OdGsNode.
void OdGsContainerNode::makeStock | ( | ) |
|
inline |
Returns true if and only if a regen is required for the specified Viewport object for this ContainterNode object.
nVpId | [in] Viewport ID. |
Definition at line 834 of file GsContainerNode.h.
|
inlinevirtual |
Returns node type of this node.
Implements OdGsNode.
Definition at line 189 of file GsContainerNode.h.
|
inline |
Returns number of child entities
nVpId | [in] Viewport ID. |
Definition at line 902 of file GsContainerNode.h.
Definition at line 912 of file GsContainerNode.h.
Definition at line 907 of file GsContainerNode.h.
|
inline |
Retrieves number of elements in the array of viewport data elements.
Definition at line 665 of file GsContainerNode.h.
OdGsContainerNode::ODRX_DECLARE_MEMBERS | ( | OdGsContainerNode | ) |
|
virtual |
Runs the post-processing after nodes are loaded from filer. Processes spatial indexes for entity nodes associated with the loaded viewport data.
pFiler | [in] Filer object. |
Reimplemented from OdGsNode.
void OdGsContainerNode::propagateInvalidVpFlag | ( | ) |
Updates invalidVp flag for entire entities list.
|
protectedvirtual |
Invalidates parts of cache depended on layers modified since last regeneration.
view | [in] View Implementation object. |
Implements OdGsNode.
void OdGsContainerNode::propagateLayerChangesStock | ( | ) |
|
inline |
Returns real extents of the node
nVpId | [in] Viewport ID. |
Definition at line 868 of file GsContainerNode.h.
void OdGsContainerNode::releaseStock | ( | ) |
Removes the specified child node from this ContainerNode object.
pNode | [in] Pointer to the child object. |
void OdGsContainerNode::removeErased | ( | ) |
Removes entities marked as erased.
|
virtual |
Definition at line 887 of file GsContainerNode.h.
bool OdGsContainerNode::safeEntityUpdate | ( | OdGsEntityNode * | pEntity, |
OdGsUpdateContext & | ctx, | ||
OdSiSpatialIndex * | pSpatialIndex | ||
) |
Perform the safe update for the specified entity. Update errors are reported, if they occur.
pEntity | [in] Pointer to an entity node object to update. |
ctx | [in] GS update context. |
pSpatialIndex | [in] Pointer to a spatial index. |
|
virtual |
Stores current node state into filer object.
pFiler | [in] Filer object. |
pVectorizer | [in] Pointer to a vectorizer. May be required for saving client node state. |
Reimplemented from OdGsNode.
Sets the Aware flags for the specified Viewport for this ContainerNode object.
viewportId | [in] Viewport ID. |
flags | [in] Aware flags. |
Value kVpID 0x00000001 kVpRegenType 0x00000002 kVpRenderMode 0x00000004 kVpWorldToEye 0x00000008 kVpPerspective 0x00000010 kVpResolution 0x00000020 kVpMaxDevForCircle 0x00000040 kVpMaxDevForCurve 0x00000080 kVpMaxDevForBoundary 0x00000100 kVpMaxDevForIsoline 0x00000200 kVpMaxDevForFacet 0x00000400 kVpCamLocation 0x00000800 kVpCamTarget 0x00001000 kVpCamUpVector 0x00002000 kVpCamViewDir 0x00004000 kVpViewport 0x00008000 kVpFrontBack 0x00010000 kVpFrozenLayers 0x00020000 kVpLtypeScaleMult 0x00040000 kEntityRegenDraw 0x00080000 kVpDisableLayoutCache 0x00100000 kVpModelTf 0x00200000 kVpExcludeFromExtMinMax 0x00400000 kSectionable 0x00800000 kVpRenderModule 0x01000000 kVpAnnoScale 0x02000000 kVpFilterFunction 0x04000000 kVpVisualStyle 0x08000000 kVpHighlightingGeom 0x10000000
Definition at line 819 of file GsContainerNode.h.
|
inline |
Definition at line 848 of file GsContainerNode.h.
Sets the kEntityRegenDraw flag value for the specified viewport ID.
bVal | [in] Flag value. |
nVpID | [in] Viewport ID. |
Definition at line 860 of file GsContainerNode.h.
|
inline |
Controls the ChildrenUpToDate flag for this ContainterNode object.
childrenUpToDate | [in] Controls flag. |
nVpID | [in] Viewport ID. |
Definition at line 795 of file GsContainerNode.h.
|
inline |
Sets the EntityListValid flag to false for this ContainterNode object.
Definition at line 704 of file GsContainerNode.h.
Controls the EntityListValid flag for this ContainterNode object.
nVpId | [in] Viewport ID. |
entityListValid | [in] Controls flag. |
Definition at line 714 of file GsContainerNode.h.
|
inline |
Sets real extents of the node.
nVpId | [in] Viewport ID. |
ext | [in] New real extents for the node. |
Definition at line 876 of file GsContainerNode.h.
void OdGsContainerNode::setVpDepCache | ( | const OdGsViewImpl & | pView | ) |
Sets viewport cache.
pView | [in] View implementation object. |
|
inline |
Returns a reference to the spatial index for this ContainerNode object.
nVpId | [in] Viewport ID. |
Definition at line 736 of file GsContainerNode.h.
|
inline |
Returns a reference to the spatial index for this ContainerNode object.
nVpId | [in] Viewport ID. |
Definition at line 741 of file GsContainerNode.h.
|
inline |
Definition at line 897 of file GsContainerNode.h.
void OdGsContainerNode::turnOnLights | ( | OdGsBaseVectorizer & | view | ) |
Turn on lights for the specified vectorizer view.
view | [in] Vectorizer view. |
|
virtual |
Updates this container node.
ctx | [in] GS update context. |
pParent | [in] Pointer to a parent container node. Not used. |
pParentIndex | [in] Pointer to a parent spatial index. Not used. |
Implements OdGsNode.
|
virtual |
|
virtual |
|
virtual |
Updates visible content.
pViewImpl | [in] View in which content is visible. |
Reimplemented from OdGsNode.
OdUInt32 OdGsContainerNode::viewportId | ( | const OdGsViewImpl & | pView, |
bool | bForceVpId = true |
||
) | const |
Retrieves a viewport identifier of a passed view object.
pView | [in] View implementation object. |
bForceVpId | [in] Flag that specifies whether to force getting viewport ID when there is no viewport cache. |
|
inline |
Definition at line 892 of file GsContainerNode.h.
Definition at line 643 of file GsContainerNode.h.
|
protected |
Definition at line 611 of file GsContainerNode.h.
|
mutable |
Definition at line 613 of file GsContainerNode.h.
|
mutableprotected |
Definition at line 607 of file GsContainerNode.h.
|
protected |
Definition at line 610 of file GsContainerNode.h.
|
protected |
Definition at line 609 of file GsContainerNode.h.
|
protected |
Definition at line 608 of file GsContainerNode.h.
|
mutableprotected |
Definition at line 606 of file GsContainerNode.h.