solidcore

Units / geom

geom.global_solver partial

Layer
5
Upstream lines
1,775
Functions
24
Rust module
geom::global_solver

Source: crates/solidcore/src/geom/global_solver.rs

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

Notes

24 fns; largest: SmGlobalSolver::BranchMayContainAnswers, SmGlobalSolver::AddSortedSolution, sm_CombineMinMax, SmGlobalSolver::FindBestSubdivisionNode; cycle back-edges (call into later units; stub or co-port): blend.fillet_intersector(3), intersect.adv_surface_intersector(3), intersect.surface_drop_curve(3), intersect.surface_intersector_p1(3), intersect.surface_silhouette(3), intersect.surface_tracer(3), intersect.topology_solver_p1(3), surface.surface_p2(3), curve.crv_on_surf(2), curve.curve_cache(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit; difftest partial: 620 cases (20 fixtures + 600 generated), 611 pass, 9 deferred (curve.curve_p2 9: SmCurve::GetNaturalInterval via IdenticalSolutions on line solutions), max_rel_err 0; 20k-seed run clean; no UNPORTED(geom.global_solver) stubs existed to wire

Difftest

Cases
620
Passed
611
Deferred
9
Failed
0
Both errored
0
Max rel. error
0.0
Tolerance
1e-09 rel.
Seeds
16

Blocked by

Unported unitDeferred cases
curve.curve_p2 green9

Report JSON (per-case results)

Dependencies

Depends on: geom.extent1d green geom.extent3d green geom.solution_array partial geom.vector3d green

Soft dependencies: geom.geom_utility_p1 green geom.object partial geom.tol green geom.tree partial geom.vector2d green

Dependents: curve.curve_p1 partial curve.curve_p2 green curve.curve_p3 green curve.curve_p6 green curve.curve_p7 green curve.curve_p9 green intersect.adv_surface_intersector partial intersect.surface_intersector_p5 partial intersect.surface_tracer partial intersect.topology_solver_p1 partial intersect.topology_solver_p2 partial surface.plane_p2 partial surface.surf_of_revolution_p3 partial surface.surface_p1 partial surface.surface_p10 partial surface.surface_p11 partial surface.surface_p5 green surface.surface_p6 green surface.surface_p7 partial surface.surface_p8 partial surface.surface_p9 partial

Soft dependents: curve.curve_p8 green

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmGlobalSolver::SetSolverOperationSmGlobalSolver.h:1371[GlobalSolver::set_solver_operation] .. [GlobalSolver::set_at_distance]
SmGlobalSolver::SetSolutionRequestedSmGlobalSolver.h:1381
SmGlobalSolver::Set3DToleranceSmGlobalSolver.h:1391
SmGlobalSolver::SetBestAnswerSoFarSqSmGlobalSolver.h:1401
SmGlobalSolver::SetNumTreesSmGlobalSolver.h:1411
SmGlobalSolver::SetNumVariablesSmGlobalSolver.h:1421
SmGlobalSolver::SetOperationCategorySmGlobalSolver.h:1431
SmGlobalSolver::SetSolutionsSmGlobalSolver.h:1441
SmGlobalSolver::SetAtDistanceSmGlobalSolver.h:1453[GlobalSolver::set_solver_operation] .. [GlobalSolver::set_at_distance]
SmGlobalSolver::SmGlobalSolverSmGlobalSolver.cpp:3221[GlobalSolver], [GlobalSolver::new]
SmGlobalSolver::SmGlobalSolverSmGlobalSolver.cpp:6016[GlobalSolver], [GlobalSolver::new]
SmGlobalSolver::SmGlobalSolverSmGlobalSolver.cpp:8317[GlobalSolver], [GlobalSolver::new]
SmGlobalSolver::~SmGlobalSolverSmGlobalSolver.cpp:1062Drop (implicit)
SmGlobalSolver::SolveItSmGlobalSolver.cpp:130131[GlobalSolve::solve_it], [SolveRequest]
SmGlobalSolver::SolveBranchSmGlobalSolver.cpp:27295[GlobalSolve::solve_branch], [solve_branch]
SmGlobalSolver::BranchMayContainAnswersSmGlobalSolver.cpp:375552[GlobalSolve::branch_may_contain_answers], [GlobalSolver::branch_may_contain_answers]
SmGlobalSolver::AreReadyForLocalSolveSmGlobalSolver.cpp:93416[GlobalSolve::are_ready_for_local_solve], [GlobalSolver::are_ready_for_local_solve]
sm_FindLargestNonLeafSmGlobalSolver.cpp:95221find_largest_non_leaf (private)
SmGlobalSolver::FindBestSubdivisionNodeSmGlobalSolver.cpp:982140[GlobalSolve::find_best_subdivision_node], [GlobalSolver::find_best_subdivision_node]
SmGlobalSolver::SubdivideSmGlobalSolver.cpp:113130[GlobalSolve::subdivide], [subdivide]
SmGlobalSolver::LocalSolveSmGlobalSolver.cpp:117017[GlobalSolve::local_solve], [GlobalSolver::local_solve]
sm_CombineMinMaxSmGlobalSolver.cpp:1197196combine_min_max (private)
SmGlobalSolver::AddSortedSolutionSmGlobalSolver.cpp:1415432[GlobalSolve::add_sorted_solution]
SmGlobalSolver::IdenticalSolutionsSmGlobalSolver.cpp:186578[GlobalSolve::identical_solutions], [GlobalSolver::identical_solutions]
Module file-header table (25 rows)
RustUpstream
[MAX_SOLVER_TREES]SM_GS_MAX_TREES
[SolverOperation]SmSolverOperationType
[OperationCategory]SmOperationCategory
[SolutionRequested]SmSolutionRequestedType
[SolutionPairType], [PreferredSolution]SmSolutionPairType, IdenticalSolutions' pPreferredSol
[Branch]SmTreeNode* apBranch[SM_GS_MAX_TREES]
[GlobalSolver], [GlobalSolver::new]SmGlobalSolver, SmGlobalSolver()
[GlobalSolver::with_tree]SmGlobalSolver(SmTree*, ULONG)
[GlobalSolver::with_trees]SmGlobalSolver(SmTree*, SmTree*, ULONG)
Drop (implicit)~SmGlobalSolver
[GlobalSolver::solver_operation]GetSolverOperationType
[GlobalSolver::opt_vector]GetOptVector
[GlobalSolver::set_solver_operation] .. [GlobalSolver::set_at_distance]SetSolverOperation .. SetAtDistance
[GlobalSolve]the virtual interface of SmGlobalSolver
[GlobalSolve::solve_it], [SolveRequest]SmGlobalSolver::SolveIt (and its arguments)
[GlobalSolve::solve_branch], [solve_branch]SmGlobalSolver::SolveBranch
[GlobalSolve::branch_may_contain_answers], [GlobalSolver::branch_may_contain_answers]SmGlobalSolver::BranchMayContainAnswers
[GlobalSolve::are_ready_for_local_solve], [GlobalSolver::are_ready_for_local_solve]SmGlobalSolver::AreReadyForLocalSolve
find_largest_non_leaf (private)sm_FindLargestNonLeaf
[GlobalSolve::find_best_subdivision_node], [GlobalSolver::find_best_subdivision_node]SmGlobalSolver::FindBestSubdivisionNode
[GlobalSolve::subdivide], [subdivide]SmGlobalSolver::Subdivide
[GlobalSolve::local_solve], [GlobalSolver::local_solve]SmGlobalSolver::LocalSolve
combine_min_max (private)sm_CombineMinMax
[GlobalSolve::add_sorted_solution]SmGlobalSolver::AddSortedSolution
[GlobalSolve::identical_solutions], [GlobalSolver::identical_solutions]SmGlobalSolver::IdenticalSolutions

Upstream tests reaching this unit

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, SM_API_test:TestSmCreateRectangle, SM_API_test:TestSmCreateRegularPolygon