OpenCascade.js
API ReferenceModelingDataTKBRep

BRepGraphInc

OCCT package BRepGraphInc: BRepGraphInc_BaseDef, BRepGraphInc_BaseRef, BRepGraphInc_BaseRep, BRepGraphInc_ChildRef, and 32 more bound classes.

BRepGraphInc_Populate

Backend population pipeline for BRepGraphInc_Storage.
This class is part of the BRepGraphInc backend and is intended for backend maintenance, tests, and low-level infrastructure only. External code should enter through BRepGraph_Builder::Add(), which owns the public lifecycle, cache invalidation, and layer coordination.
Adapted from BRepGraph_Builder, but writes to incidence-table storage instead of Def/Usage two-layer storage. Entity structs carry forward child references directly (no separate Usage objects).
The population pipeline:

  1. Sequential hierarchy traversal (Compound/CompSolid/Solid/Shell)
  2. Parallel per-face geometry extraction
  3. Sequential registration with TShape deduplication
  4. Reverse index construction

Static methods(3)

  • Perform(theStorage: BRepGraphInc_Storage, theShape: TopoDS_Shape, theParallel: boolean, theOptions?: BRepGraphInc_Populate_Options, theParamLayer?: BRepGraph_LayerParam, theRegularityLayer?: BRepGraph_LayerRegularity, theTmpAlloc?: NCollection_BaseAllocator): void

    Build backend incidence storage from a TopoDS_Shape.

    Parameters (7)
    • theStorage
      storage to populate (cleared first)
    • theShape
      root shape
    • theParallel
      if true, face-level extraction runs in parallel
    • theOptions
      optional post-pass controls
    • theParamLayer
      optional point-rep layer to populate
    • theRegularityLayer
      optional edge-regularity layer to populate
    • theTmpAlloc
      optional allocator for temporary scratch data
  • AppendFlattened(theStorage: BRepGraphInc_Storage, theShape: TopoDS_Shape, theParallel: boolean, theAppendedRoots: NCollection_DynamicArray_BRepGraph_NodeId, theOptions: BRepGraphInc_Populate_Options, theParamLayer: BRepGraph_LayerParam, theRegularityLayer: BRepGraph_LayerRegularity, theTmpAlloc: NCollection_BaseAllocator): void

    Extend existing backend storage with additional shapes (no clear). Flattens hierarchy containers away; Solid/Shell/Compound/CompSolid inputs contribute appended face roots instead of container entities. Recomputes the built-in metadata layers from the populated storage.

    Parameters (8)
    • theStorage
      storage to extend
    • theShape
      shape to append
    • theParallel
      if true, face-level extraction runs in parallel
    • theAppendedRoots
      collected root NodeIds for non-container shapes Mutated in place; read the updated value from this argument after the call.
    • theOptions
      optional post-pass controls
    • theParamLayer
    • theRegularityLayer
    • theTmpAlloc
      optional allocator for temporary scratch data
  • Append(theStorage: BRepGraphInc_Storage, theShape: TopoDS_Shape, theParallel: boolean, theOptions?: BRepGraphInc_Populate_Options, theParamLayer?: BRepGraph_LayerParam, theRegularityLayer?: BRepGraph_LayerRegularity, theTmpAlloc?: NCollection_BaseAllocator): void

    Extend existing backend storage with additional shapes (no clear). Preserves the full shape hierarchy: Solid/Shell/Compound/CompSolid nodes are created alongside Face/Edge/Vertex nodes. Shapes already present in the storage (same TShape pointer) are deduplicated and not re-added.

    Parameters (7)
    • theStorage
      storage to extend
    • theShape
      shape to append
    • theParallel
      if true, face-level extraction runs in parallel
    • theOptions
      optional post-pass controls
    • theParamLayer
    • theRegularityLayer
    • theTmpAlloc
      optional allocator for temporary scratch data

BRepGraphInc_Reconstruct

Backend reconstruction helpers over incidence-table storage.
Converts BRepGraphInc_Storage entity data back into TopoDS shapes. This class is part of the BRepGraphInc backend; external callers should prefer BRepGraph::Shapes() so reconstruction stays behind the facade. Supports single-node and cached multi-face reconstruction with shared edge/vertex reuse via the Cache.

Static methods(3)

BRepGraphInc_ReverseIndex

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).

Constructors(1)

Instance methods(56)

BRepGraphInc_Storage

Constructors(1)

Instance methods(157)