Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Static Public Member Functions
BRepGraphInc_Populate Class Reference

Backend population pipeline for BRepGraphInc_Storage. More...

#include <BRepGraphInc_Populate.hxx>

Data Structures

struct  Options
 Options controlling which post-passes are executed during population. More...
 

Static Public Member Functions

static void Perform (BRepGraphInc_Storage &theStorage, const TopoDS_Shape &theShape, const bool theParallel, const Options &theOptions=Options(), const occ::handle< BRepGraph_LayerParam > &theParamLayer=occ::handle< BRepGraph_LayerParam >(), const occ::handle< BRepGraph_LayerRegularity > &theRegularityLayer=occ::handle< BRepGraph_LayerRegularity >(), const occ::handle< NCollection_BaseAllocator > &theTmpAlloc=occ::handle< NCollection_BaseAllocator >())
 Build backend incidence storage from a TopoDS_Shape.
 
static void AppendFlattened (BRepGraphInc_Storage &theStorage, const TopoDS_Shape &theShape, const bool theParallel, NCollection_DynamicArray< BRepGraph_NodeId > &theAppendedRoots, const Options &theOptions=Options(), const occ::handle< BRepGraph_LayerParam > &theParamLayer=occ::handle< BRepGraph_LayerParam >(), const occ::handle< BRepGraph_LayerRegularity > &theRegularityLayer=occ::handle< BRepGraph_LayerRegularity >(), const occ::handle< NCollection_BaseAllocator > &theTmpAlloc=occ::handle< NCollection_BaseAllocator >())
 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.
 
static void Append (BRepGraphInc_Storage &theStorage, const TopoDS_Shape &theShape, const bool theParallel, const Options &theOptions=Options(), const occ::handle< BRepGraph_LayerParam > &theParamLayer=occ::handle< BRepGraph_LayerParam >(), const occ::handle< BRepGraph_LayerRegularity > &theRegularityLayer=occ::handle< BRepGraph_LayerRegularity >(), const occ::handle< NCollection_BaseAllocator > &theTmpAlloc=occ::handle< NCollection_BaseAllocator >())
 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.
 

Detailed Description

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

Member Function Documentation

◆ Append()

static void BRepGraphInc_Populate::Append ( BRepGraphInc_Storage & theStorage,
const TopoDS_Shape & theShape,
const bool theParallel,
const Options & theOptions = Options(),
const occ::handle< BRepGraph_LayerParam > & theParamLayer = occ::handleBRepGraph_LayerParam >(),
const occ::handle< BRepGraph_LayerRegularity > & theRegularityLayer = occ::handleBRepGraph_LayerRegularity >(),
const occ::handle< NCollection_BaseAllocator > & theTmpAlloc = occ::handleNCollection_BaseAllocator >() )
static

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
[in,out]theStoragestorage to extend
[in]theShapeshape to append
[in]theParallelif true, face-level extraction runs in parallel
[in]theOptionsoptional post-pass controls
[in]theTmpAllocoptional allocator for temporary scratch data

◆ AppendFlattened()

static void BRepGraphInc_Populate::AppendFlattened ( BRepGraphInc_Storage & theStorage,
const TopoDS_Shape & theShape,
const bool theParallel,
NCollection_DynamicArray< BRepGraph_NodeId > & theAppendedRoots,
const Options & theOptions = Options(),
const occ::handle< BRepGraph_LayerParam > & theParamLayer = occ::handleBRepGraph_LayerParam >(),
const occ::handle< BRepGraph_LayerRegularity > & theRegularityLayer = occ::handleBRepGraph_LayerRegularity >(),
const occ::handle< NCollection_BaseAllocator > & theTmpAlloc = occ::handleNCollection_BaseAllocator >() )
static

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
[in,out]theStoragestorage to extend
[in]theShapeshape to append
[in]theParallelif true, face-level extraction runs in parallel
[out]theAppendedRootscollected root NodeIds for non-container shapes
[in]theOptionsoptional post-pass controls
[in]theTmpAllocoptional allocator for temporary scratch data

◆ Perform()

static void BRepGraphInc_Populate::Perform ( BRepGraphInc_Storage & theStorage,
const TopoDS_Shape & theShape,
const bool theParallel,
const Options & theOptions = Options(),
const occ::handle< BRepGraph_LayerParam > & theParamLayer = occ::handleBRepGraph_LayerParam >(),
const occ::handle< BRepGraph_LayerRegularity > & theRegularityLayer = occ::handleBRepGraph_LayerRegularity >(),
const occ::handle< NCollection_BaseAllocator > & theTmpAlloc = occ::handleNCollection_BaseAllocator >() )
static

Build backend incidence storage from a TopoDS_Shape.

Parameters
[out]theStoragestorage to populate (cleared first)
[in]theShaperoot shape
[in]theParallelif true, face-level extraction runs in parallel
[in]theOptionsoptional post-pass controls
[in]theParamLayeroptional point-rep layer to populate
[in]theRegularityLayeroptional edge-regularity layer to populate
[in]theTmpAllocoptional allocator for temporary scratch data

The documentation for this class was generated from the following file: