|
| void | SetAllocator (const occ::handle< NCollection_BaseAllocator > &theAlloc) |
| | Set allocator for internal index tables.
|
| |
| void | Clear () |
| | Clear all indices.
|
| |
| void | Build (const BRepGraphInc_Storage &theStorage) |
| | Rebuild all reverse indices from storage tables. Thin wrapper over the explicit-table overload retained for compatibility.
|
| |
| void | Build (const NCollection_DynamicArray< BRepGraphInc::VertexDef > &theVertices, const NCollection_DynamicArray< BRepGraphInc::EdgeDef > &theEdges, const NCollection_DynamicArray< BRepGraphInc::CoEdgeDef > &theCoEdges, const NCollection_DynamicArray< BRepGraphInc::WireDef > &theWires, const NCollection_DynamicArray< BRepGraphInc::FaceDef > &theFaces, const NCollection_DynamicArray< BRepGraphInc::ShellDef > &theShells, const NCollection_DynamicArray< BRepGraphInc::SolidDef > &theSolids, const NCollection_DynamicArray< BRepGraphInc::CompoundDef > &theCompounds, const NCollection_DynamicArray< BRepGraphInc::CompSolidDef > &theCompSolids, const NCollection_DynamicArray< BRepGraphInc::ShellRef > &theShellRefs, const NCollection_DynamicArray< BRepGraphInc::FaceRef > &theFaceRefs, const NCollection_DynamicArray< BRepGraphInc::WireRef > &theWireRefs, const NCollection_DynamicArray< BRepGraphInc::CoEdgeRef > &theCoEdgeRefs, const NCollection_DynamicArray< BRepGraphInc::SolidRef > &theSolidRefs, const NCollection_DynamicArray< BRepGraphInc::ChildRef > &theChildRefs, const NCollection_DynamicArray< BRepGraphInc::VertexRef > &theVertexRefs) |
| | Rebuild all reverse indices from the entity and reference-entry tables. Edge-to-face index is derived from CoEdge.FaceDefId links.
|
| |
| void | BuildDelta (const NCollection_DynamicArray< BRepGraphInc::VertexDef > &theVertices, const NCollection_DynamicArray< BRepGraphInc::EdgeDef > &theEdges, const NCollection_DynamicArray< BRepGraphInc::CoEdgeDef > &theCoEdges, const NCollection_DynamicArray< BRepGraphInc::WireDef > &theWires, const NCollection_DynamicArray< BRepGraphInc::FaceDef > &theFaces, const NCollection_DynamicArray< BRepGraphInc::ShellDef > &theShells, const NCollection_DynamicArray< BRepGraphInc::SolidDef > &theSolids, const NCollection_DynamicArray< BRepGraphInc::CompoundDef > &theCompounds, const NCollection_DynamicArray< BRepGraphInc::CompSolidDef > &theCompSolids, const NCollection_DynamicArray< BRepGraphInc::ShellRef > &theShellRefs, const NCollection_DynamicArray< BRepGraphInc::FaceRef > &theFaceRefs, const NCollection_DynamicArray< BRepGraphInc::WireRef > &theWireRefs, const NCollection_DynamicArray< BRepGraphInc::CoEdgeRef > &theCoEdgeRefs, const NCollection_DynamicArray< BRepGraphInc::SolidRef > &theSolidRefs, const NCollection_DynamicArray< BRepGraphInc::ChildRef > &theChildRefs, const NCollection_DynamicArray< BRepGraphInc::VertexRef > &theVertexRefs, const uint32_t theOldNbEdges, const uint32_t theOldNbWires, const uint32_t theOldNbFaces, const uint32_t theOldNbShells, const uint32_t theOldNbSolids, const uint32_t theOldNbCompounds, const uint32_t theOldNbCompSolids, const uint32_t theOldNbChildRefs, const uint32_t theOldNbSolidRefs) |
| | Incrementally update reverse indices for entities/ref-parents appended after a previous ReverseIndex::Build(). Only processes entities from the old counts to the current vector lengths and appended reference entries.
|
| |
| void | BuildProductOccurrences (const NCollection_DynamicArray< BRepGraphInc::OccurrenceDef > &theOccurrences, const uint32_t theNbProducts) |
| | Build product-to-occurrences reverse index.
|
| |
| const NCollection_DynamicArray< BRepGraph_WireId > * | WiresOfEdge (const BRepGraph_EdgeId theEdgeId) const |
| | Return wire indices containing the given edge.
|
| |
| const NCollection_DynamicArray< BRepGraph_FaceId > * | FacesOfEdge (const BRepGraph_EdgeId theEdgeId) const |
| | Return face indices containing the given edge (derived from CoEdge.FaceDefId links).
|
| |
| const NCollection_DynamicArray< BRepGraph_CoEdgeId > * | CoEdgesOfEdge (const BRepGraph_EdgeId theEdgeId) const |
| | Return coedge indices referencing the given edge.
|
| |
| uint32_t | NbFacesOfEdge (const BRepGraph_EdgeId theEdgeId) const |
| | Return the number of faces incident to an edge - O(1). Derived directly from the edge-to-faces adjacency vector to keep a single source of truth.
|
| |
| const NCollection_DynamicArray< BRepGraph_EdgeId > * | EdgesOfVertex (const BRepGraph_VertexId theVertexId) const |
| | Return edge indices incident to the given vertex.
|
| |
| const NCollection_DynamicArray< BRepGraph_FaceId > * | FacesOfWire (const BRepGraph_WireId theWireId) const |
| | Return face indices containing the given wire.
|
| |
| const NCollection_DynamicArray< BRepGraph_ShellId > * | ShellsOfFace (const BRepGraph_FaceId theFaceId) const |
| | Return shell indices containing the given face.
|
| |
| const NCollection_DynamicArray< BRepGraph_SolidId > * | SolidsOfShell (const BRepGraph_ShellId theShellId) const |
| | Return solid indices containing the given shell.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfSolid (const BRepGraph_SolidId theSolidId) const |
| | Return compound indices containing the given solid as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompSolidId > * | CompSolidsOfSolid (const BRepGraph_SolidId theSolidId) const |
| | Return compsolid indices containing the given solid as a SolidInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfShell (const BRepGraph_ShellId theShellId) const |
| | Return compound indices containing the given shell as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfFace (const BRepGraph_FaceId theFaceId) const |
| | Return compound indices containing the given face as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfCompound (const BRepGraph_CompoundId theCompoundId) const |
| | Return compound indices containing the given compound as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfCompSolid (const BRepGraph_CompSolidId theCompSolidId) const |
| | Return compound indices containing the given compsolid as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfWire (const BRepGraph_WireId theWireId) const |
| | Return compound indices containing the given wire as a NodeInstance. OCCT TopoDS_Compound can legally hold atomic topology (wire / edge / vertex); these reverse maps round-trip that case.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfEdge (const BRepGraph_EdgeId theEdgeId) const |
| | Return compound indices containing the given edge as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_CompoundId > * | CompoundsOfVertex (const BRepGraph_VertexId theVertexId) const |
| | Return compound indices containing the given vertex as a NodeInstance.
|
| |
| const NCollection_DynamicArray< BRepGraph_WireId > * | WiresOfCoEdge (const BRepGraph_CoEdgeId theCoEdgeId) const |
| | Return wire indices containing the given coedge.
|
| |
| const NCollection_DynamicArray< BRepGraph_OccurrenceId > * | OccurrencesOfProduct (const BRepGraph_ProductId theProductId) const |
| | Return occurrence indices that reference the given product.
|
| |
| const NCollection_DynamicArray< BRepGraph_WireId > & | WiresOfEdgeRef (const BRepGraph_EdgeId theEdgeId) const |
| | Return wire indices containing the given edge (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_FaceId > & | FacesOfEdgeRef (const BRepGraph_EdgeId theEdgeId) const |
| | Return face indices containing the given edge (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_CoEdgeId > & | CoEdgesOfEdgeRef (const BRepGraph_EdgeId theEdgeId) const |
| | Return coedge indices referencing the given edge (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_FaceId > & | FacesOfWireRef (const BRepGraph_WireId theWireId) const |
| | Return face indices containing the given wire (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_EdgeId > & | EdgesOfVertexRef (const BRepGraph_VertexId theVertexId) const |
| | Return edge indices incident to the given vertex (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_ShellId > & | ShellsOfFaceRef (const BRepGraph_FaceId theFaceId) const |
| | Return shell indices containing the given face (safe reference, never null).
|
| |
| const NCollection_DynamicArray< BRepGraph_SolidId > & | SolidsOfShellRef (const BRepGraph_ShellId theShellId) const |
| | Return solid indices containing the given shell (safe reference, never null).
|
| |
| bool | Validate (const NCollection_DynamicArray< BRepGraphInc::VertexDef > &theVertices, const NCollection_DynamicArray< BRepGraphInc::EdgeDef > &theEdges, const NCollection_DynamicArray< BRepGraphInc::CoEdgeDef > &theCoEdges, const NCollection_DynamicArray< BRepGraphInc::WireDef > &theWires, const NCollection_DynamicArray< BRepGraphInc::FaceDef > &theFaces, const NCollection_DynamicArray< BRepGraphInc::ShellDef > &theShells, const NCollection_DynamicArray< BRepGraphInc::SolidDef > &theSolids, const NCollection_DynamicArray< BRepGraphInc::CompoundDef > &theCompounds, const NCollection_DynamicArray< BRepGraphInc::CompSolidDef > &theCompSolids, const NCollection_DynamicArray< BRepGraphInc::ShellRef > &theShellRefs, const NCollection_DynamicArray< BRepGraphInc::FaceRef > &theFaceRefs, const NCollection_DynamicArray< BRepGraphInc::WireRef > &theWireRefs, const NCollection_DynamicArray< BRepGraphInc::CoEdgeRef > &theCoEdgeRefs, const NCollection_DynamicArray< BRepGraphInc::SolidRef > &theSolidRefs, const NCollection_DynamicArray< BRepGraphInc::ChildRef > &theChildRefs, const NCollection_DynamicArray< BRepGraphInc::VertexRef > &theVertexRefs) const |
| | Verify reverse index consistency against forward entity/reference-entry tables. For each forward ref (e.g., wire->edge), checks that the corresponding reverse entry exists (edge->wire). Intended for debug validation.
|
| |
| void | BindEdgeToWire (const BRepGraph_EdgeId theEdgeId, const BRepGraph_WireId theWireId) |
| | Register an edge as belonging to a wire (O(1) amortized).
|
| |
| void | UnbindEdgeFromWire (const BRepGraph_EdgeId theEdgeId, const BRepGraph_WireId theWireId) |
| | Remove a wire from the edge-to-wire index for a given edge.
|
| |
| void | ReplaceEdgeInWireMap (const BRepGraph_EdgeId theOldEdgeId, const BRepGraph_EdgeId theNewEdgeId, const BRepGraph_WireId theWireId) |
| | Replace an edge in the edge-to-wire index for a specific wire.
|
| |
| void | BindVertexToEdge (const BRepGraph_VertexId theVertexId, const BRepGraph_EdgeId theEdgeId) |
| | Register a vertex as incident to an edge (O(1) amortized, deduplicates).
|
| |
| void | UnbindVertexFromEdge (const BRepGraph_VertexId theVertexId, const BRepGraph_EdgeId theEdgeId) |
| | Remove an edge from the vertex-to-edge index for a given vertex.
|
| |
| void | BindEdgeToCoEdge (const BRepGraph_EdgeId theEdgeId, const BRepGraph_CoEdgeId theCoEdgeId) |
| | Register a coedge as referencing an edge (O(1) amortized).
|
| |
| void | UnbindEdgeFromCoEdge (const BRepGraph_EdgeId theEdgeId, const BRepGraph_CoEdgeId theCoEdgeId) |
| | Remove a coedge from the edge-to-coedge index for a given edge.
|
| |
| void | BindCoEdgeToWire (const BRepGraph_CoEdgeId theCoEdgeId, const BRepGraph_WireId theWireId) |
| | Register a coedge as belonging to a wire (O(1) amortized).
|
| |
| void | UnbindCoEdgeFromWire (const BRepGraph_CoEdgeId theCoEdgeId, const BRepGraph_WireId theWireId) |
| | Remove a wire from the coedge-to-wire index for a given coedge.
|
| |
| void | BindEdgeToFace (const BRepGraph_EdgeId theEdgeId, const BRepGraph_FaceId theFaceId) |
| | Register an edge as belonging to a face (O(1) amortized, deduplicates).
|
| |
| void | UnbindEdgeFromFace (const BRepGraph_EdgeId theEdgeId, const BRepGraph_FaceId theFaceId) |
| | Remove a face from the edge-to-face index for a given edge.
|
| |
| void | BindWireToFace (const BRepGraph_WireId theWireId, const BRepGraph_FaceId theFaceId) |
| | Register a wire as belonging to a face (O(1) amortized, deduplicates).
|
| |
| void | UnbindWireFromFace (const BRepGraph_WireId theWireId, const BRepGraph_FaceId theFaceId) |
| | Remove a face from the wire-to-face index for a given wire.
|
| |
| void | BindFaceToShell (const BRepGraph_FaceId theFaceId, const BRepGraph_ShellId theShellId) |
| | Register a face as belonging to a shell (O(1) amortized, deduplicates).
|
| |
| void | UnbindFaceFromShell (const BRepGraph_FaceId theFaceId, const BRepGraph_ShellId theShellId) |
| | Remove a shell from the face-to-shell index for a given face.
|
| |
| void | BindShellToSolid (const BRepGraph_ShellId theShellId, const BRepGraph_SolidId theSolidId) |
| | Register a shell as belonging to a solid (O(1) amortized, deduplicates).
|
| |
| void | UnbindShellFromSolid (const BRepGraph_ShellId theShellId, const BRepGraph_SolidId theSolidId) |
| | Remove a solid from the shell-to-solid index for a given shell.
|
| |
| void | BindSolidToCompSolid (const BRepGraph_SolidId theSolidId, const BRepGraph_CompSolidId theCompSolidId) |
| | Register a solid as belonging to a compsolid (O(1) amortized, deduplicates).
|
| |
| void | UnbindSolidFromCompSolid (const BRepGraph_SolidId theSolidId, const BRepGraph_CompSolidId theCompSolidId) |
| | Remove a compsolid from the solid-to-compsolid index for a given solid.
|
| |
| void | BindCompoundChild (const BRepGraph_NodeId theChildDefId, const BRepGraph_CompoundId theCompoundId) |
| | Register a child node as belonging to a compound (dispatched on NodeKind). Routes to the appropriate per-kind compound reverse map. No-op for unsupported kinds.
|
| |
| void | UnbindCompoundChild (const BRepGraph_NodeId theChildDefId, const BRepGraph_CompoundId theCompoundId) |
| | Remove a compound from the per-kind compound reverse map for a given child node.
|
| |
| void | BindProductOccurrence (const BRepGraph_OccurrenceId theOccurrenceId, const BRepGraph_ProductId theProductId) |
| | Register an occurrence as referencing a product (O(1) amortized, deduplicates).
|
| |
| void | UnbindProductOccurrence (const BRepGraph_OccurrenceId theOccurrenceId, const BRepGraph_ProductId theProductId) |
| | Remove an occurrence from the product-to-occurrences index for a given product.
|
| |
Backend reverse incidence indices for O(1) upward navigation.
Built from entity and reference-entry tables after population. Full ReverseIndex::Build() is used for initial construction, while builder-side mutations maintain the index incrementally through targeted bind/unbind operations and ReverseIndex::BuildDelta() for append workflows.
Two query tiers
Pointer-returning methods (e.g. WiresOfEdge() -> nullptr for empty) serve performance-critical backend code that avoids static-empty-vector overhead. Safe-reference methods (e.g. WiresOfEdgeRef() -> static empty vector) serve the public facade (TopoView delegates to Ref variants).