Units / surface
surface.unbend_volume green
- Layer
- 24
- Upstream lines
- 920
- Functions
- 29
- Rust module
surface::unbend_volume
Source: crates/solidcore/src/surface/unbend_volume.rs
Upstream: source/SMLib/inc/SmUnbendVolume.h, source/SMLib/src/SmUnbendVolume.cpp
Notes
PARTIAL: difftest 1874 cases (374 fixture + 1500 generated), 1808 pass bit-identical, 66 deferred (surface.surface_p8 66: IsCurveInParamDomainSimple -> SmCurve::HasPlaneCrossings -> SmSurface::GlobalCurveIntersect; ReadFromDB base read wired by surface.volume_p2), max_rel_err 0; 30k-seed run clean (30374 cases); --perturb SENSITIVE; co-ports of SmVolume::EvaluatePoint and SmVolume::IsPointInParamDomain replaced by surface.volume_p2's (PR #26); wired: surface.volume_p1 (deferred 39 -> 2), curve.crv_in_volume (its SmVolume::EvaluatePoint stub now calls the co-port: surface.volume_p2 deferred 33 -> 1); component constructor ported as UnbendVolume::create; 29 fns; largest: SmUnbendVolume::Evaluate, SmUnbendVolume::EvaluateSimple, SmUnbendVolume::EvaluateBoundingBoxSimple, SmUnbendVolume::ReadFromDB; cycle back-edges (call into later units; stub or co-port): surface.volume_p2(2); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit Re-run after wiring PR #118 (surface.surface_p8 and its back-edges, GlobalPointSolve_0 included): 1874 cases, 1874 pass, 0 deferred, 0 failed, max_rel_err 0; green.
Difftest
- Cases
- 1,874
- Passed
- 1,874
- 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.extent1d green geom.extent3d green geom.object partial geom.pseudo_box green geom.solution_array partial geom.tol green geom.vector3d green surface.volume_p1 green topology.database_io green
Soft dependencies: curve.crv_in_volume partial curve.curve_p4 partial curve.curve_p6 green curve.line green geom.context green geom.extent2d green geom.geom_utility_p1 green geom.vector2d green surface.plane_p1 partial
Dependents: none
Soft dependents: surface.volume_p2 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmUnbendVolume::SmUnbendVolume | SmUnbendVolume.h:274 | 10 | [UnbendVolume] |
SmUnbendVolume::SmUnbendVolume | SmUnbendVolume.h:286 | 4 | [UnbendVolume] |
SmUnbendVolume::~SmUnbendVolume | SmUnbendVolume.h:304 | 1 | Drop (implicit) |
SmUnbendVolume::GetNaturalParamDomain | SmUnbendVolume.h:344 | 4 | [UnbendVolume::natural_param_domain] |
SmUnbendVolume::GetLegalMinU | SmUnbendVolume.h:357 | 1 | [UnbendVolume::legal_min_u] |
SmUnbendVolume::GetUnbendOrigin | SmUnbendVolume.h:361 | 1 | [Volume::unbend_origin], [Volume::unbend_axis], [Volume::unbend_mid_dir], [Volume::unbend_binormal] |
SmUnbendVolume::GetUnbendAxis | SmUnbendVolume.h:362 | 1 | [Volume::unbend_origin], [Volume::unbend_axis], [Volume::unbend_mid_dir], [Volume::unbend_binormal] |
SmUnbendVolume::GetUnbendMidDir | SmUnbendVolume.h:363 | 1 | [Volume::unbend_origin], [Volume::unbend_axis], [Volume::unbend_mid_dir], [Volume::unbend_binormal] |
SmUnbendVolume::GetUnbendBinormal | SmUnbendVolume.h:364 | 1 | [Volume::unbend_origin], [Volume::unbend_axis], [Volume::unbend_mid_dir], [Volume::unbend_binormal] |
SmUnbendVolume::GetUnbendNeutralDist | SmUnbendVolume.h:365 | 1 | [UnbendVolume::unbend_neutral_dist], [UnbendVolume::singularity_tol] |
SmUnbendVolume::IsPointInParamDomainSimple | SmUnbendVolume.h:684 | 8 | [UnbendVolume::is_point_in_param_domain_simple] |
SmUnbendVolume::GetClassString | SmUnbendVolume.h:753 | 1 | [UNBEND_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends |
SmUnbendVolume::GetType | SmUnbendVolume.h:753 | 1 | [UNBEND_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends |
SmUnbendVolume::GetTypeString | SmUnbendVolume.h:753 | 1 | [UNBEND_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends |
SmUnbendVolume::Copy | SmUnbendVolume.cpp:136 | 12 | [Volume::copy] (unbend arm) |
SmUnbendVolume::operator== | SmUnbendVolume.cpp:177 | 29 | [Volume::approx_eq] (unbend arm), [UnbendVolume::members_eq] |
SmUnbendVolume::Evaluate | SmUnbendVolume.cpp:1029 | 186 | [UnbendVolume::evaluate] |
SmUnbendVolume::EvaluateSimple | SmUnbendVolume.cpp:1314 | 160 | [UnbendVolume::evaluate_simple] |
SmUnbendVolume::EvaluateBoundingBoxSimple | SmUnbendVolume.cpp:1496 | 112 | [UnbendVolume::evaluate_bounding_box_simple] |
SmUnbendVolume::TrimParamBoundingBoxSimple | SmUnbendVolume.cpp:1825 | 66 | [UnbendVolume::trim_param_bounding_box_simple] |
SmUnbendVolume::InvEvaluateGuessPointSimple | SmUnbendVolume.cpp:2066 | 25 | [UnbendVolume::inv_evaluate_guess_point_simple] |
SmUnbendVolume::GlobalPointSolveSimple | SmUnbendVolume.cpp:2100 | 58 | [UnbendVolume::global_point_solve_simple] |
SmUnbendVolume::LocalPointSolveSimple | SmUnbendVolume.cpp:2165 | 29 | [UnbendVolume::local_point_solve_simple] |
SmUnbendVolume::IsBoundedSimple | SmUnbendVolume.cpp:2210 | 6 | [UnbendVolume::is_bounded_simple] |
SmUnbendVolume::IsOnBoundarySimple | SmUnbendVolume.cpp:2360 | 25 | [UnbendVolume::is_on_boundary_simple] |
SmUnbendVolume::IsLineInParamDomainSimple | SmUnbendVolume.cpp:2397 | 62 | [UnbendVolume::is_line_in_param_domain_simple] |
SmUnbendVolume::IsCurveInParamDomainSimple | SmUnbendVolume.cpp:2467 | 38 | [UnbendVolume::is_curve_in_param_domain_simple] |
SmUnbendVolume::ReadFromDB | SmUnbendVolume.cpp:2614 | 72 | [UnbendVolume::read_from_db] |
SmUnbendVolume::IsKindOf | SmUnbendVolume.cpp:3102 | 4 | [UNBEND_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends |
Module file-header table (24 rows)
| Rust | Upstream |
|---|---|
[UnbendVolume] | SmUnbendVolume (members m_dUnbendNeutralDist, m_dSingularityTol) |
[UnbendVolume::new], Default | SmUnbendVolume(const SmContext*) |
[UnbendVolume::create] | SmUnbendVolume(crContext, Center, Axis, MidDir, NeutralDist, SingularityTol) |
[Volume::copy] (unbend arm) | SmUnbendVolume(const SmUnbendVolume&, SmBoolean), Copy |
Drop (implicit) | ~SmUnbendVolume |
[Volume::approx_eq] (unbend arm), [UnbendVolume::members_eq] | operator== |
[UnbendVolume::natural_param_domain] | GetNaturalParamDomain |
[UnbendVolume::legal_min_u] | GetLegalMinU |
[Volume::unbend_origin], [Volume::unbend_axis], [Volume::unbend_mid_dir], [Volume::unbend_binormal] | GetUnbendOrigin, GetUnbendAxis, GetUnbendMidDir, GetUnbendBinormal |
[UnbendVolume::unbend_neutral_dist], [UnbendVolume::singularity_tol] | GetUnbendNeutralDist, m_dSingularityTol (GetSingularityTol) |
[UnbendVolume::evaluate] | Evaluate |
[UnbendVolume::evaluate_simple] | EvaluateSimple |
[UnbendVolume::evaluate_bounding_box_simple] | EvaluateBoundingBoxSimple |
[UnbendVolume::trim_param_bounding_box_simple] | TrimParamBoundingBoxSimple |
[UnbendVolume::inv_evaluate_guess_point_simple] | InvEvaluateGuessPointSimple |
[UnbendVolume::global_point_solve_simple] | GlobalPointSolveSimple |
[UnbendVolume::local_point_solve_simple] | LocalPointSolveSimple |
[UnbendVolume::is_bounded_simple] | IsBoundedSimple |
[UnbendVolume::is_on_boundary_simple] | IsOnBoundarySimple |
[UnbendVolume::is_point_in_param_domain_simple] | IsPointInParamDomainSimple |
[UnbendVolume::is_line_in_param_domain_simple] | IsLineInParamDomainSimple |
[UnbendVolume::is_curve_in_param_domain_simple] | IsCurveInParamDomainSimple |
[UnbendVolume::read_from_db] | ReadFromDB |
[UNBEND_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends | GetType, GetTypeString, GetClassString (SM_COMMON), IsKindOf |
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