solidcore

Units / intersect

intersect.surface_silhouette green

Layer
31
Upstream lines
979
Functions
8
Rust module
intersect::surface_silhouette

Source: crates/solidcore/src/intersect/surface_silhouette.rs

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

Notes

partial (PR #45): difftest 709 cases (incl. 37 review adversarial fixtures), 546 pass, 163 deferred (surface.surface_p3 163: SmSurface::EvaluateNormalSection / EvaluateGeometric; the 6 surface.plane_p1 deferrals (SmBSplineSurface::CalculateBoundingBox on a plane, a stub in surface_cache/p1.rs) pass since the surface.surface_p1 merge, PR #43). SmSurface::EvaluateNormal and DropVectors wired to surface.surface_p7. 8 fns; largest: SmSurfaceSilhouette::ComputePointValues, SmSurfaceSilhouette::LocalPointSolve, SmFindSilSingEFO::Evaluate, SmSurfaceSilhouette::BranchMayContainAnswers; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit GREEN (PR #120 --green run, after merging main with surface.surface_p3): cases=709 passed=709 failed=0 deferred=0; the surface.surface_p3 deferrals pass since #52 merged.

Difftest

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

Blocked by

Nothing: no deferred cases.

Report JSON (per-case results)

Dependencies

Depends on: geom.extent2d green geom.polar_box green geom.vector2d green geom.vector3d green intersect.surface_tracer partial surface.surface_p2 partial

Soft dependencies: curve.curve_p7 green geom.geom_utility_p1 green geom.pseudo_box green geom.tol green surface.surface_cache_p1 green surface.surface_p3 green surface.surface_p7 partial

Dependents: audit.recursion todo

Soft dependents: none

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmSurfaceSilhouette::~SmSurfaceSilhouetteSmSurfaceSilhouette.h:601Drop (implicit)
SmSurfaceSilhouette::SmSurfaceSilhouetteSmSurfaceSilhouette.cpp:2914[SurfaceSilhouette], [SurfaceSilhouette::new]
SmSurfaceSilhouette::DoesPointLieOnCurveSmSurfaceSilhouette.cpp:5159[SurfaceSilhouette::does_point_lie_on_curve]
SmSurfaceSilhouette::FindSolutionsOnBoundaryCurveSmSurfaceSilhouette.cpp:12023[SurfaceSilhouette::find_solutions_on_boundary_curve]
SmFindSilSingEFO::EvaluateSmSurfaceSilhouette.cpp:19066[FindSilSingEfo::evaluate] ([EvalFunction])
SmSurfaceSilhouette::ComputePointValuesSmSurfaceSilhouette.cpp:262416[SurfaceSilhouette::compute_point_values]
SmSurfaceSilhouette::LocalPointSolveSmSurfaceSilhouette.cpp:686335[SurfaceSilhouette::local_point_solve]
SmSurfaceSilhouette::BranchMayContainAnswersSmSurfaceSilhouette.cpp:103065[SurfaceSilhouette::branch_may_contain_answers], [SurfaceSilhouette::patch_may_contain_answers]
Module file-header table (11 rows)
RustUpstream
[SurfaceSilhouette], [SurfaceSilhouette::new]SmSurfaceSilhouette, SmSurfaceSilhouette(cpSurface, crUVDomain, bPerspective, crEye)
Drop (implicit)~SmSurfaceSilhouette
[SurfaceSilhouette::does_point_lie_on_curve]SmSurfaceSilhouette::DoesPointLieOnCurve
[SurfaceSilhouette::find_solutions_on_boundary_curve]SmSurfaceSilhouette::FindSolutionsOnBoundaryCurve
[FindSilSingEfo], [FindSilSingEfo::new]SmFindSilSingEFO, its constructor (file-local class)
[FindSilSingEfo::evaluate] ([EvalFunction])SmFindSilSingEFO::Evaluate
[SurfaceSilhouette::compute_point_values]SmSurfaceSilhouette::ComputePointValues
[SurfaceSilhouette::local_point_solve]SmSurfaceSilhouette::LocalPointSolve
[SurfaceSilhouette::branch_may_contain_answers], [SurfaceSilhouette::patch_may_contain_answers]SmSurfaceSilhouette::BranchMayContainAnswers
[TYPE], [TYPE_STRING], [is_kind_of]GetType, GetTypeString, IsKindOf (SM_COMMON)
[SurfaceTrace] for [SurfaceSilhouette]the virtual overrides of SmSurfaceTracer

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