![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Internal storage for BRepGraph (PIMPL). More...
#include <BRepGraph_Data.hxx>
Data Structures | |
| struct | CachedShape |
| Gen-validated shape cache entry. More... | |
Public Types | |
| using | ReconstructCache = NCollection_DataMap<BRepGraph_NodeId, TopoDS_Shape> |
Public Member Functions | |
| BRepGraph_Data () | |
| BRepGraph_Data (const occ::handle< NCollection_BaseAllocator > &theAlloc) | |
Data Fields | |
| occ::handle< NCollection_BaseAllocator > | myAllocator |
| BRepGraphInc_Storage | myIncStorage |
| Incidence-table storage - sole source of truth for all topology data, original shapes, TShape->NodeId mapping, and UIDs. | |
| std::atomic< size_t > | myNextUIDCounter |
| UID system. | |
| std::atomic< uint32_t > | myGeneration {0} |
| Standard_GUID | myGraphGUID |
| Random graph identity, generated at BRepGraph_Builder::Add(). | |
| BRepGraph_History | myHistoryLog |
| History subsystem. | |
| bool | myIsDone = false |
| NCollection_DynamicArray< BRepGraph_ProductId > | myRootProductIds |
| Root product identifiers: products not referenced by any active occurrence. Maintained incrementally by Editor/EditorView mutations. | |
| std::atomic< bool > | myDeferredMode {false} |
| When true, markModified() only increments OwnGen + SubtreeGen and appends to myDeferredModified - no mutex acquisition and no upward propagation. | |
| std::atomic< uint32_t > | myPropagationWave {0} |
| Propagation wave counter. Incremented at the start of each markModified() / markRefModified() call. markParentModified() compares entity.LastPropWave against this to skip already-visited parents in the same propagation wave (O(1) re-visit guard). | |
| uint32_t | myRemoveSubgraphDepth = 0 |
| Recursion depth of EditorView::GenOps::RemoveSubgraph. Outermost call (depth==0) triggers a single reverse-index rebuild after cascade so individual cascade-prune steps avoid maintaining per-kind unbinds for every removed node. | |
| NCollection_DynamicArray< BRepGraph_NodeId > | myDeferredModified |
| NodeIds accumulated during deferred mode. Processed by EndDeferredInvalidation(). | |
| NCollection_DynamicArray< BRepGraph_RefId > | myDeferredRefModified |
| RefIds accumulated during deferred mode. Processed by EndDeferredInvalidation(). | |
| NCollection_DataMap< BRepGraph_NodeId, CachedShape > | myCurrentShapes |
| Thread-safe cache of reconstructed shapes with SubtreeGen validation. | |
| std::shared_mutex | myCurrentShapesMutex |
| NCollection_DataMap< BRepGraph_UID, BRepGraph_NodeId > | myUIDToNodeId |
| Lazy reverse lookup index for entity UIDs. | |
| std::shared_mutex | myUIDToNodeIdMutex |
| uint32_t | myUIDToNodeIdGeneration = 0 |
| bool | myUIDToNodeIdDirty = true |
| NCollection_DataMap< BRepGraph_RefUID, BRepGraph_RefId > | myRefUIDToRefId |
| Lazy reverse lookup index for reference UIDs. | |
| std::shared_mutex | myRefUIDToRefIdMutex |
| uint32_t | myRefUIDToRefIdGeneration = 0 |
| bool | myRefUIDToRefIdDirty = true |
| BRepGraph_MeshCacheStorage | myMeshCache |
| Cached mesh data storage (algorithm-derived, non-mutating). Holds triangulation/polygon rep references written by BRepGraphMesh. Does NOT trigger markModified() or mutation tracking. | |
| BRepGraph::TopoView | myTopoView {nullptr} |
| Cached view objects (pointers set to owning BRepGraph in its constructor). | |
| BRepGraph::UIDsView | myUIDsView {nullptr} |
| BRepGraph::CacheView | myCacheView {nullptr} |
| BRepGraph::RefsView | myRefsView {nullptr} |
| BRepGraph::ShapesView | myShapesView {nullptr} |
| BRepGraph::EditorView | myEditorView {nullptr} |
| BRepGraph::MeshView | myMeshView {nullptr} |
Internal storage for BRepGraph (PIMPL).
All topology definition data and UIDs live in myIncStorage. Access via myIncStorage.Edges, myIncStorage.Faces, etc.
|
inline |
|
inlineexplicit |
| occ::handle<NCollection_BaseAllocator> BRepGraph_Data::myAllocator |
| BRepGraph::CacheView BRepGraph_Data::myCacheView {nullptr} |
|
mutable |
Thread-safe cache of reconstructed shapes with SubtreeGen validation.
|
mutable |
When true, markModified() only increments OwnGen + SubtreeGen and appends to myDeferredModified - no mutex acquisition and no upward propagation.
| NCollection_DynamicArray<BRepGraph_NodeId> BRepGraph_Data::myDeferredModified |
NodeIds accumulated during deferred mode. Processed by EndDeferredInvalidation().
| NCollection_DynamicArray<BRepGraph_RefId> BRepGraph_Data::myDeferredRefModified |
RefIds accumulated during deferred mode. Processed by EndDeferredInvalidation().
| BRepGraph::EditorView BRepGraph_Data::myEditorView {nullptr} |
| std::atomic<uint32_t> BRepGraph_Data::myGeneration {0} |
| Standard_GUID BRepGraph_Data::myGraphGUID |
Random graph identity, generated at BRepGraph_Builder::Add().
| BRepGraph_History BRepGraph_Data::myHistoryLog |
History subsystem.
| BRepGraphInc_Storage BRepGraph_Data::myIncStorage |
Incidence-table storage - sole source of truth for all topology data, original shapes, TShape->NodeId mapping, and UIDs.
| BRepGraph_MeshCacheStorage BRepGraph_Data::myMeshCache |
Cached mesh data storage (algorithm-derived, non-mutating). Holds triangulation/polygon rep references written by BRepGraphMesh. Does NOT trigger markModified() or mutation tracking.
| BRepGraph::MeshView BRepGraph_Data::myMeshView {nullptr} |
| std::atomic<size_t> BRepGraph_Data::myNextUIDCounter |
| std::atomic<uint32_t> BRepGraph_Data::myPropagationWave {0} |
Propagation wave counter. Incremented at the start of each markModified() / markRefModified() call. markParentModified() compares entity.LastPropWave against this to skip already-visited parents in the same propagation wave (O(1) re-visit guard).
| BRepGraph::RefsView BRepGraph_Data::myRefsView {nullptr} |
|
mutable |
Lazy reverse lookup index for reference UIDs.
|
mutable |
|
mutable |
| uint32_t BRepGraph_Data::myRemoveSubgraphDepth = 0 |
Recursion depth of EditorView::GenOps::RemoveSubgraph. Outermost call (depth==0) triggers a single reverse-index rebuild after cascade so individual cascade-prune steps avoid maintaining per-kind unbinds for every removed node.
| NCollection_DynamicArray<BRepGraph_ProductId> BRepGraph_Data::myRootProductIds |
Root product identifiers: products not referenced by any active occurrence. Maintained incrementally by Editor/EditorView mutations.
| BRepGraph::ShapesView BRepGraph_Data::myShapesView {nullptr} |
| BRepGraph::TopoView BRepGraph_Data::myTopoView {nullptr} |
Cached view objects (pointers set to owning BRepGraph in its constructor).
| BRepGraph::UIDsView BRepGraph_Data::myUIDsView {nullptr} |
|
mutable |
Lazy reverse lookup index for entity UIDs.
|
mutable |
|
mutable |