Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Typedefs | Functions
BRepGraphInc Namespace Reference

Definition structs for the incidence-table topology model. More...

Data Structures

struct  BaseDef
 Fields shared by every entity. More...
 
struct  BaseRef
 Fields shared by every reference entry. More...
 
struct  BaseRep
 Fields shared by every representation entity. More...
 
struct  ChildRef
 Child reference storage entry. More...
 
struct  CoEdgeDef
 CoEdge entity: use of an edge on a specific face, owns PCurve data. More...
 
struct  CoEdgeRef
 CoEdge reference storage entry. No Orientation field: CoEdgeDef::Orientation already owns the edge-on-face sense, coupled with PCurve parametrization, so duplicating orientation here would create a second competing source of truth. More...
 
struct  CompoundDef
 Compound entity: heterogeneous child references. More...
 
struct  CompSolidDef
 Comp-solid entity: ordered solid references. More...
 
struct  Curve2DRep
 2D parametric curve (PCurve) representation for coedges. More...
 
struct  Curve3DRep
 3D curve geometry representation for edges. More...
 
struct  EdgeDef
 Edge entity: parameter range, boundary vertices, flags. Geometry (curve, polygon) accessed via rep indices into Storage vectors. More...
 
struct  FaceDef
 Face entity: surface, triangulations, wires. More...
 
struct  FaceRef
 Face reference storage entry. More...
 
struct  Instance
 Unified instance container template. More...
 
struct  OccurrenceDef
 Occurrence entity: reference to a child node (topology root or product). The parent product is determined from OccurrenceRef::ParentId (BaseRef). Placement lives on OccurrenceRef::LocalLocation (definitions never carry location). Path-based traversal (PathView::ForEachPathTo) resolves DAG paths without stored parent-occurrence pointers. More...
 
struct  OccurrenceRef
 Occurrence reference storage entry. Like ChildRef but without Orientation - placement is a reference property. Structurally parallel to other ref types: definitions carry no location. More...
 
struct  Polygon2DRep
 2D polygon-on-surface discretization for coedges. More...
 
struct  Polygon3DRep
 3D polygon discretization for edges. More...
 
struct  PolygonOnTriRep
 Polygon-on-triangulation for coedges. Links a polygon to a specific triangulation rep (global index, not face-local). More...
 
struct  ProductDef
 Product entity: reusable shape definition (part or assembly). Children are managed uniformly via OccurrenceRefIds: More...
 
struct  ShellDef
 Shell entity: ordered face references with local locations. More...
 
struct  ShellRef
 Shell reference storage entry. More...
 
struct  SolidDef
 Solid entity: ordered shell references with local locations. More...
 
struct  SolidRef
 Solid reference storage entry. More...
 
struct  SurfaceRep
 Surface geometry representation for faces. More...
 
struct  TriangulationRep
 Triangulation mesh representation for faces. More...
 
struct  VertexDef
 Vertex definition: 3D point + tolerance. More...
 
struct  VertexRef
 Vertex reference storage entry. More...
 
struct  WireDef
 Wire entity: ordered coedge references with closure flag. More...
 
struct  WireInstance
 Wire instance with an additional flag indicating whether this is the outer wire. More...
 
struct  WireRef
 Wire reference storage entry. More...
 

Typedefs

using VertexInstance = Instance<BRepGraph_VertexId>
 
using CoEdgeInstance = Instance<BRepGraph_CoEdgeId>
 
using FaceInstance = Instance<BRepGraph_FaceId>
 
using ShellInstance = Instance<BRepGraph_ShellId>
 
using SolidInstance = Instance<BRepGraph_SolidId>
 
using OccurrenceInstance = Instance<BRepGraph_OccurrenceId>
 
using CompoundInstance = Instance<BRepGraph_CompoundId>
 
using CompSolidInstance = Instance<BRepGraph_CompSolidId>
 
using ProductInstance = Instance<BRepGraph_ProductId>
 
using NodeInstance = Instance<BRepGraph_NodeId>
 NodeInstance is Instance<BRepGraph_NodeId>. Returned by BRepGraph_ChildExplorer and BRepGraph_ParentExplorer with accumulated transforms from traversal root to the current node. Implicitly convertible from any typed Instance via BRepGraph_NodeId::Typed implicit conversion to BRepGraph_NodeId.
 

Functions

template<typename T >
void InitVec (NCollection_DynamicArray< T > &theVec, const occ::handle< NCollection_BaseAllocator > &theAlloc, const int theBlockSize=4)
 Helper: reinitialize a vector member with the given allocator and block size.
 

Detailed Description

Definition structs for the incidence-table topology model.

Geometry and mesh representation structs for the incidence-table model.

Managed reference entry structs for the incidence-table storage.

Each definition holds intrinsic geometry properties plus forward-direction children (via RefId indices). The incidence model stores topology as flat vectors of definitions (one per kind) with integer cross-references, enabling cache-friendly traversal and parallel geometry extraction.

Each reference entry extends BaseRef with payload fields describing how a child definition is used by its parent (orientation, location). Reference entries are stored in flat per-kind vectors in BRepGraphInc_Storage and support mutation tracking and soft-removal. Not every definition kind has a dedicated Ref kind by design:

For lightweight read-only projections without lifecycle fields, see BRepGraphInc_Instance.hxx (Instance structs carry only DefId + Orientation + Location).

Each representation struct wraps a single piece of geometry or discretization data (surface, curve, triangulation, polygon) with a typed RepId address and lifecycle tracking fields. Representations are stored in flat per-kind vectors in BRepGraphInc_Storage and referenced from definitions by typed RepId.

Typedef Documentation

◆ CoEdgeInstance

◆ CompoundInstance

◆ CompSolidInstance

◆ FaceInstance

◆ NodeInstance

NodeInstance is Instance<BRepGraph_NodeId>. Returned by BRepGraph_ChildExplorer and BRepGraph_ParentExplorer with accumulated transforms from traversal root to the current node. Implicitly convertible from any typed Instance via BRepGraph_NodeId::Typed implicit conversion to BRepGraph_NodeId.

◆ OccurrenceInstance

◆ ProductInstance

◆ ShellInstance

◆ SolidInstance

◆ VertexInstance

Function Documentation

◆ InitVec()

template<typename T >
void BRepGraphInc::InitVec ( NCollection_DynamicArray< T > & theVec,
const occ::handle< NCollection_BaseAllocator > & theAlloc,
const int theBlockSize = 4 )
inline

Helper: reinitialize a vector member with the given allocator and block size.