solidcore

Units / surface

surface.curve_bounded_surface green

Layer
22
Upstream lines
324
Functions
19
Rust module
surface::curve_bounded_surface

Source: crates/solidcore/src/surface/curve_bounded_surface.rs

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

Notes

difftest 535 cases (135 fixture + 400 generated), 359 pass, 176 deferred (surface.surface_p1 85, surface.surface_p3 56, surface.surface_p7 25, surface.surface_p5 10); SurfaceKind::CurveBounded; Surface::read_from_db now takes &Kernel; 19 fns; largest: SmCurveBoundedSurface::ReadFromDB, SmCurveBoundedSurface::operator==, SmCurveBoundedSurface::Evaluate, SmCurveBoundedSurface::SmCurveBoundedSurface; cycle back-edges (call into later units; stub or co-port): surface.surface_p1(4), surface.surface_p3(2), surface.surface_p5(1), surface.surface_p7(1); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit Re-run with surface.surface_p5's back-edges wired (PR #50): cases=535 passed=469 failed=0 deferred=66 max_rel_err=0e0 blocked_by=surface.surface_p3(66). GREEN (PR #52, after merging surface_p4/#49 and surface_p5/#50): 535/535 pass, 0 deferred, --perturb SENSITIVE 535/535.

Difftest

Cases
535
Passed
535
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.object partial surface.surface_p2 partial topology.database_io green

Soft dependencies: curve.composite_curve_p1 green curve.curve_p2 green

Dependents: none

Soft dependents: surface.surface_p1 partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmCurveBoundedSurface::GetNaturalUVDomainSmCurveBoundedSurface.h:771[CurveBoundedSurface::natural_uv_domain]
SmCurveBoundedSurface::EvaluateNormalSmCurveBoundedSurface.h:7910[CurveBoundedSurface::evaluate_normal]
SmCurveBoundedSurface::EvaluateSmCurveBoundedSurface.h:9136[CurveBoundedSurface::evaluate]
SmCurveBoundedSurface::EvaluateSimpleSmCurveBoundedSurface.h:12915[CurveBoundedSurface::evaluate_simple]
SmCurveBoundedSurface::EvaluateNormalAtSingularitySmCurveBoundedSurface.h:1459[CurveBoundedSurface::evaluate_normal_at_singularity]
SmCurveBoundedSurface::EvaluateGeometricSmCurveBoundedSurface.h:15523[CurveBoundedSurface::evaluate_geometric]
SmCurveBoundedSurface::EvaluateNormalSectionSmCurveBoundedSurface.h:17919[CurveBoundedSurface::evaluate_normal_section]
SmCurveBoundedSurface::EvaluatePointSmCurveBoundedSurface.h:1998[CurveBoundedSurface::evaluate_point]
SmCurveBoundedSurface::EvaluateSTEPSmCurveBoundedSurface.h:20915[CurveBoundedSurface::evaluate_step]
SmCurveBoundedSurface::EvaluateSTEPPointSmCurveBoundedSurface.h:2258[CurveBoundedSurface::evaluate_step_point]
SmCurveBoundedSurface::SetContextSmCurveBoundedSurface.h:2357[CurveBoundedSurface::set_context]
SmCurveBoundedSurface::GetClassStringSmCurveBoundedSurface.h:2801[TYPE], [TYPE_STRING], [CLASS_STRING], [CurveBoundedSurface::type_code], [CurveBoundedSurface::type_string], [CurveBoundedSurface::class_string]
SmCurveBoundedSurface::GetTypeSmCurveBoundedSurface.h:2801[TYPE], [TYPE_STRING], [CLASS_STRING], [CurveBoundedSurface::type_code], [CurveBoundedSurface::type_string], [CurveBoundedSurface::class_string]
SmCurveBoundedSurface::GetTypeStringSmCurveBoundedSurface.h:2801[TYPE], [TYPE_STRING], [CLASS_STRING], [CurveBoundedSurface::type_code], [CurveBoundedSurface::type_string], [CurveBoundedSurface::class_string]
SmCurveBoundedSurface::SmCurveBoundedSurfaceSmCurveBoundedSurface.cpp:2526[CurveBoundedSurface]
SmCurveBoundedSurface::~SmCurveBoundedSurfaceSmCurveBoundedSurface.cpp:5719Drop (implicit)
SmCurveBoundedSurface::operator==SmCurveBoundedSurface.cpp:8351[CurveBoundedSurface::approx_eq]
SmCurveBoundedSurface::ReadFromDBSmCurveBoundedSurface.cpp:70970[CurveBoundedSurface::read_from_db]
SmCurveBoundedSurface::IsKindOfSmCurveBoundedSurface.cpp:7844[is_kind_of], [CurveBoundedSurface::is_kind_of]
Module file-header table (18 rows)
RustUpstream
[CurveBoundedSurface]SmCurveBoundedSurface
[CurveBoundedSurface::new]SmCurveBoundedSurface(rBasisSurface, cp3DBoundaries, cpUVBoundaries, bImplicitOuter)
Drop (implicit)~SmCurveBoundedSurface
[CurveBoundedSurface::approx_eq]operator==
[CurveBoundedSurface::natural_uv_domain]GetNaturalUVDomain
[CurveBoundedSurface::evaluate_normal]EvaluateNormal
[CurveBoundedSurface::evaluate]Evaluate
[CurveBoundedSurface::evaluate_simple]EvaluateSimple
[CurveBoundedSurface::evaluate_normal_at_singularity]EvaluateNormalAtSingularity
[CurveBoundedSurface::evaluate_geometric]EvaluateGeometric
[CurveBoundedSurface::evaluate_normal_section]EvaluateNormalSection
[CurveBoundedSurface::evaluate_point]EvaluatePoint
[CurveBoundedSurface::evaluate_step]EvaluateSTEP
[CurveBoundedSurface::evaluate_step_point]EvaluateSTEPPoint
[CurveBoundedSurface::set_context]SetContext
[TYPE], [TYPE_STRING], [CLASS_STRING], [CurveBoundedSurface::type_code], [CurveBoundedSurface::type_string], [CurveBoundedSurface::class_string]GetType, GetTypeString, GetClassString (SM_COMMON)
[is_kind_of], [CurveBoundedSurface::is_kind_of]IsKindOf
[CurveBoundedSurface::read_from_db]ReadFromDB

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