Units / query
query.loop green
- Layer
- 42
- Upstream lines
- 830
- Functions
- 1
- Rust module
query::loop
Source: crates/solidcore/src/query/loop.rs
Upstream: source/SMLib/src/SmLoop.cpp
Notes
GREEN (SmSurface::GetSingularities wired to surface.surface_p3 in PR #52): 3040/3040 pass bit-identical, 0 deferred. Earlier PARTIAL (PR #63): difftest 3040 cases (40 fixture re-expressing the TestSmCreateRectangle / TestSmCreateRegularPolygon loops (CCW, CW, mixed edge use orientations, far-centre thin rectangle, tiny and large tolerances) and smTopoTest my_test_single_periodic_vertexuse (a seamless circle loop on a cylinder) + 3000 generated over real SmPlane / SmBSplineSurface / SmSurfOfRevolution (cylinder, cone, sphere, torus-like) faces with SmLine / SmCircle / SmBSplineCurve edges and 2D B-spline UV trims (lines, collinear polylines, rational arcs, wiggly and cusp-like curves, extended trims with sub-interval edges), seam edges used twice, open and star (winding 2) loops, vertex loops, 1e-3/1e3 scales, points on and near edges, vertices and domain sides), 2780 pass bit-identical, 260 deferred (surface.surface_p3 260: SmSurface::GetSingularities for a point and a loop end on a side of the natural domain), max_rel_err 0; 20k-seed run clean; --perturb SENSITIVE. The loop is passed as a borrowed FaceLoop view (query::r#loop::{FaceLoop, LoopEdgeuse, LoopFace}) since the arena topology binds no geometry yet; an edge use without UV trim curve is UNPORTED(topology.edgeuse_p3) GetOrCreateUVTrimCurve. 1 fns; largest: SmLoop::ContainsUVPoint; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 3,040
- Passed
- 3,040
- 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: curve.curve_p2 green geom.extent1d green geom.extent2d green geom.tol green geom.vector3d green topology.loopuse partial
Soft dependencies: curve.curve_p3 green curve.curve_p5 partial curve.curve_p6 green geom.geom_utility_p1 green geom.solution_array partial surface.surface_p2 partial surface.surface_p3 green topology.edge partial topology.edgeuse_p1 partial topology.edgeuse_p3 claimed topology.face_p2 partial
Dependents: none
Soft dependents: query.face_p2 partial query.face_p3 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmLoop::ContainsUVPoint | SmLoop.cpp:509 | 830 | [contains_uv_point] |
Module file-header table (6 rows)
| Rust | Upstream |
|---|---|
[contains_uv_point] | SmLoop::ContainsUVPoint |
[UvContainment] | its return value and out-params |
[FaceLoop], [LoopEdgeuse] | the SmLoop / SmLoopuse / SmEdgeuse / SmEdge / SmFace data it reads (see Deviations) |
[uv_corner_boundaries] | SmLoop::GetUVCornerBoundaries (CO-PORTED from topology.loopuse) |
[UvCornerBoundaries] | its return value and out-params |
calc_quad_num (private) | sm_CalcQuadNum (file static, unit topology.loopuse) |
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