solidcore

Units / topology

topology.brep_cache partial

Layer
46
Upstream lines
389
Functions
10
Rust module
topology::brep_cache

Source: crates/solidcore/src/topology/brep_cache.rs

Upstream: source/SMLib/inc/SmBrepCache.h, source/SMLib/src/SmBrepCache.cpp

Notes

PARTIAL (PR #115): 663 difftest cases, 662 bit-identical passes, 0 failures, 1 deferred to query.brep (SmBrep::CalculateBoundingBox); no absolute floors. Polygon BuildTrees, constructor/accessors/type checks and ReSizeTrees with real exact vertices/line edges are compared, including shared polygon boundaries, tree split thresholds, empty/degenerate inputs and scales 1e-12..1e50. Exact BuildTrees remains deferred at its first callee; exact face sizing also awaits query.face_p1/topology.face_p4. Cache objects use typed ids and caller-supplied owner keys. All incoming UNPORTED(topology.brep_cache) sites wired to the cache factory/accessors and solver adapter; geom.a_object retains 168 deferrals (131 now query.brep, 37 topology.shell). 10 fns; largest: SmBrepCache::BuildTrees, SmBrepCache::ReSizeTrees, SmBrepCache::SmBrepCache, SmBrepCache::~SmBrepCache; cycle back-edges (call into later units; stub or co-port): query.poly(10), query.face_p1(2), query.brep(1), query.edge(1); unit-SCC #22 (220 units); only 145 of 389 lines survive RTA (reached via virtual dispatch to classes no in-scope entry point constructs); low priority / likely deferrable; 319 upstream test entry points reach this unit

Difftest

Cases
663
Passed
662
Deferred
1
Failed
0
Both errored
0
Max rel. error
0.0
Tolerance
1e-09 rel.
Seeds
16

Blocked by

Unported unitDeferred cases
query.brep claimed1

Report JSON (per-case results)

Dependencies

Depends on: geom.extent3d green geom.object partial geom.tree partial geom.vector3d green topology.brep_p1 claimed topology.edge partial

Soft dependencies: curve.curve_p2 green curve.curve_p6 green geom.a_object partial geom.tol green surface.surface_p1 partial surface.surface_p2 partial topology.face_p2 partial topology.face_p4 claimed topology.vertex partial

Dependents: topology.brep_p2 claimed

Soft dependents: boolean.merge_p4 todo boolean.merge_p5 partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmBrepCache::GetVertexTreeSmBrepCache.h:461[BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree]
SmBrepCache::GetCurveTreeSmBrepCache.h:471[BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree]
SmBrepCache::GetSurfaceTreeSmBrepCache.h:481[BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree]
SmBrepCache::GetTypeSmBrepCache.h:651[TYPE], [is_kind_of]
SmBrepCache::GetTypeStringSmBrepCache.h:651
SmBrepCache::SmBrepCacheSmBrepCache.cpp:3638[BrepCache::new]
SmBrepCache::~SmBrepCacheSmBrepCache.cpp:8015Drop (implicit)
SmBrepCache::BuildTreesSmBrepCache.cpp:187200[BrepCache::build_trees]
SmBrepCache::ReSizeTreesSmBrepCache.cpp:411127[BrepCache::resize_trees]
SmBrepCache::IsKindOfSmBrepCache.cpp:6584[TYPE], [is_kind_of]
Module file-header table (8 rows)
RustUpstream
[BrepCache::new]SmBrepCache::SmBrepCache
[BrepCache::build_trees]SmBrepCache::BuildTrees
[BrepCache::resize_trees]SmBrepCache::ReSizeTrees
[BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree]GetVertexTree, GetCurveTree, GetSurfaceTree
[make_brep_cache]SmSAGObject::CacheMakeOrValidate (new-cache path)
[BrepObjects]SmTopologySolver object/cache access
[TYPE], [is_kind_of]GetType, IsKindOf
Drop (implicit)SmBrepCache::~SmBrepCache

Upstream tests reaching this unit

prog_test:my_test_extent3d, prog_test:my_test_vector2d, prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join