Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Public Member Functions
BRepGraph::EditorView Class Reference

Non-const view for programmatic graph construction and structural editing. More...

#include <BRepGraph_EditorView.hxx>

Data Structures

struct  BoundaryIssue
 A single boundary invariant issue detected by ValidateMutationBoundary(). More...
 
class  CoEdgeOps
 CoEdge and PCurve operations. More...
 
class  CompoundOps
 Compound creation and editing operations. More...
 
class  CompSolidOps
 CompSolid creation and editing operations. More...
 
class  EdgeOps
 Edge creation and editing operations. More...
 
class  FaceOps
 Face creation and editing operations. More...
 
class  GenOps
 Generic node, reference, and representation removal operations. More...
 
class  OccurrenceOps
 Occurrence mutation operations. More...
 
class  ProductOps
 Product and assembly low-level reconstruction primitives. Wire two existing entities together; for shape ingestion use BRepGraph_Builder::Add(). More...
 
class  RepOps
 Representation mutation guards (Surface, Curve3D, Curve2D, Triangulation, Polygon3D, Polygon2D, PolygonOnTri). All Mut*() accessors raise Standard_ProgramError for null, out-of-range, or removed typed ids. Access via BRepGraph::EditorView::Reps(). More...
 
class  ShellOps
 Shell creation and editing operations. More...
 
class  SolidOps
 Solid creation and editing operations. More...
 
class  VertexOps
 Vertex creation operations. More...
 
class  WireOps
 Wire creation and editing operations. More...
 

Public Member Functions

VertexOpsVertices ()
 Return vertex creation operations.
 
EdgeOpsEdges ()
 Return edge creation and editing operations.
 
CoEdgeOpsCoEdges ()
 Return coedge and PCurve operations.
 
WireOpsWires ()
 Return wire creation and editing operations.
 
FaceOpsFaces ()
 Return face creation and editing operations.
 
ShellOpsShells ()
 Return shell creation and editing operations.
 
SolidOpsSolids ()
 Return solid creation and editing operations.
 
CompoundOpsCompounds ()
 Return compound creation and editing operations.
 
CompSolidOpsCompSolids ()
 Return compsolid creation and editing operations.
 
ProductOpsProducts ()
 Return product and assembly creation and editing operations.
 
OccurrenceOpsOccurrences ()
 Return occurrence mutation operations.
 
GenOpsGen ()
 Return generic node, reference, and representation removal operations.
 
RepOpsReps ()
 Return representation (surface, curve, triangulation, polygon) mutation operations.
 
void BeginDeferredInvalidation ()
 Begin deferred invalidation mode. While active, markModified() only increments OwnGen + SubtreeGen and appends to the deferred list - without acquiring the shape-cache mutex or propagating upward. Call EndDeferredInvalidation() to batch-flush all accumulated changes. Intended for batch mutation loops (SameParameter, Sewing) where many entities are modified sequentially and upward propagation should be deferred until all mutations are complete. Prefer BRepGraph_DeferredScope RAII guard.
 
void EndDeferredInvalidation () noexcept
 End deferred invalidation mode and batch-flush: propagates SubtreeGen upward for all modified entities from the deferred list. Shape cache entries are validated lazily via SubtreeGen comparison.
 
bool IsDeferredMode () const
 Check if deferred invalidation mode is currently active.
 
void CommitMutation () noexcept
 Finalize a batch of mutations. Validates reverse-index consistency and asserts active entity counts match actual entity state. Call this after manual batch mutation loops, or rely on BRepGraph_DeferredScope to call it automatically at scope exit.
 
bool ValidateMutationBoundary (NCollection_DynamicArray< BoundaryIssue > *const theIssues=nullptr) const
 Validate lightweight mutation-boundary invariants.
 

Detailed Description

Non-const view for programmatic graph construction and structural editing.

The single mutation entry point for a BRepGraph instance. Provides:

Each Ops class is accessed via a non-const reference accessor: theGraph.Editor().Vertices().Add(...) theGraph.Editor().Edges().Add(...) theGraph.Editor().CoEdges().SetPCurve(...) theGraph.Editor().Gen().RemoveNode(...)

Contract notes:

Member Function Documentation

◆ BeginDeferredInvalidation()

void BRepGraph::EditorView::BeginDeferredInvalidation ( )

Begin deferred invalidation mode. While active, markModified() only increments OwnGen + SubtreeGen and appends to the deferred list - without acquiring the shape-cache mutex or propagating upward. Call EndDeferredInvalidation() to batch-flush all accumulated changes. Intended for batch mutation loops (SameParameter, Sewing) where many entities are modified sequentially and upward propagation should be deferred until all mutations are complete. Prefer BRepGraph_DeferredScope RAII guard.

Warning
Deferred mode batches invalidation only; it does NOT serialize the mutation body. Callers must guarantee exclusive Editor() structural edit access for the whole deferred scope; concurrent Editor().Mut*() usage still requires external synchronization around the surrounding batch.

◆ CoEdges()

CoEdgeOps & BRepGraph::EditorView::CoEdges ( )
inline

Return coedge and PCurve operations.

◆ CommitMutation()

void BRepGraph::EditorView::CommitMutation ( )
noexcept

Finalize a batch of mutations. Validates reverse-index consistency and asserts active entity counts match actual entity state. Call this after manual batch mutation loops, or rely on BRepGraph_DeferredScope to call it automatically at scope exit.

◆ Compounds()

CompoundOps & BRepGraph::EditorView::Compounds ( )
inline

Return compound creation and editing operations.

◆ CompSolids()

CompSolidOps & BRepGraph::EditorView::CompSolids ( )
inline

Return compsolid creation and editing operations.

◆ Edges()

EdgeOps & BRepGraph::EditorView::Edges ( )
inline

Return edge creation and editing operations.

◆ EndDeferredInvalidation()

void BRepGraph::EditorView::EndDeferredInvalidation ( )
noexcept

End deferred invalidation mode and batch-flush: propagates SubtreeGen upward for all modified entities from the deferred list. Shape cache entries are validated lazily via SubtreeGen comparison.

◆ Faces()

FaceOps & BRepGraph::EditorView::Faces ( )
inline

Return face creation and editing operations.

◆ Gen()

GenOps & BRepGraph::EditorView::Gen ( )
inline

Return generic node, reference, and representation removal operations.

◆ IsDeferredMode()

bool BRepGraph::EditorView::IsDeferredMode ( ) const

Check if deferred invalidation mode is currently active.

Note
This is a state flag only. It does not imply mutation ownership or synchronization guarantees.

◆ Occurrences()

OccurrenceOps & BRepGraph::EditorView::Occurrences ( )
inline

Return occurrence mutation operations.

◆ Products()

ProductOps & BRepGraph::EditorView::Products ( )
inline

Return product and assembly creation and editing operations.

◆ Reps()

RepOps & BRepGraph::EditorView::Reps ( )
inline

Return representation (surface, curve, triangulation, polygon) mutation operations.

◆ Shells()

ShellOps & BRepGraph::EditorView::Shells ( )
inline

Return shell creation and editing operations.

◆ Solids()

SolidOps & BRepGraph::EditorView::Solids ( )
inline

Return solid creation and editing operations.

◆ ValidateMutationBoundary()

bool BRepGraph::EditorView::ValidateMutationBoundary ( NCollection_DynamicArray< BoundaryIssue > *const theIssues = nullptr) const

Validate lightweight mutation-boundary invariants.

Parameters
[out]theIssuesoptional destination for detailed issues
Returns
true if no issues were found

◆ Vertices()

VertexOps & BRepGraph::EditorView::Vertices ( )
inline

Return vertex creation operations.

◆ Wires()

WireOps & BRepGraph::EditorView::Wires ( )
inline

Return wire creation and editing operations.


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