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 unit | Deferred cases |
|---|---|
query.brep claimed | 1 |
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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmBrepCache::GetVertexTree | SmBrepCache.h:46 | 1 | [BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree] |
SmBrepCache::GetCurveTree | SmBrepCache.h:47 | 1 | [BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree] |
SmBrepCache::GetSurfaceTree | SmBrepCache.h:48 | 1 | [BrepCache::vertex_tree], [BrepCache::curve_tree], [BrepCache::surface_tree] |
SmBrepCache::GetType | SmBrepCache.h:65 | 1 | [TYPE], [is_kind_of] |
SmBrepCache::GetTypeString | SmBrepCache.h:65 | 1 | |
SmBrepCache::SmBrepCache | SmBrepCache.cpp:36 | 38 | [BrepCache::new] |
SmBrepCache::~SmBrepCache | SmBrepCache.cpp:80 | 15 | Drop (implicit) |
SmBrepCache::BuildTrees | SmBrepCache.cpp:187 | 200 | [BrepCache::build_trees] |
SmBrepCache::ReSizeTrees | SmBrepCache.cpp:411 | 127 | [BrepCache::resize_trees] |
SmBrepCache::IsKindOf | SmBrepCache.cpp:658 | 4 | [TYPE], [is_kind_of] |
Module file-header table (8 rows)
| Rust | Upstream |
|---|---|
[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