Units / geom
geom.pseudo_box green
- Layer
- 5
- Upstream lines
- 1,508
- Functions
- 44
- Rust module
geom::pseudo_box
Source: crates/solidcore/src/geom/pseudo_box.rs
Upstream: source/SMLib/inc/SmPseudoBox.h, source/SMLib/src/SmPseudoBox.cpp
Notes
GREEN: difftest 3011 cases (11 fixture incl. my_test_pseudobox and the SmTol test box + 3000 generated programs on 4 box registers), all bit-identical, 0 deferred, max_rel_err 0, perturb SENSITIVE; wired UNPORTED(geom.pseudo_box) in geom.extent3d (Circumscribe / SmExtent3d(SmPseudoBox); promoted to green), geom.tol (GetScaledZero(SmPseudoBox)) and geom.transform (EvaluateBoundingBoxSimple: 113 cases undeferred, still partial on surface.volume_p1/p2); Circumscribe axis-map quirk in findings.md; 44 fns; largest: SmPseudoBox::ProjectToPlane, SmPseudoBox::IntersectLine, SmPseudoBox::AreDisjoint, SmPseudoBox::DistanceToPoint; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 3,011
- Passed
- 3,011
- 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.geom_utility_p1 green geom.tol green geom.vector3d green
Soft dependencies: geom.geom_utility_p2 green
Dependents: curve.composite_curve_p1 green curve.curve_p6 green curve.curve_p7 green curve.curve_p9 green curve.hermite_curve green curve.line green geom.point_set green intersect.adv_surface_intersector partial intersect.ray_tracer partial nurbs.b_spline_curve_p2 green nurbs.b_spline_surface_p1 green surface.b_spline_volume green surface.b_spline_volume_n_lib partial surface.offset_surface green surface.plane_p2 partial surface.surf_of_extrusion_p2 partial surface.surf_of_revolution_p1 green surface.surface_p1 partial surface.surface_p10 partial surface.surface_p11 partial surface.surface_p7 partial surface.surface_p8 partial surface.surface_p9 partial surface.twist_volume green surface.unbend_volume green surface.volume_p2 partial
Soft dependents: curve.curve_cache green curve.curve_p1 partial curve.curve_p2 green curve.curve_p3 green intersect.surface_silhouette green query.edge partial query.poly partial surface.bend_volume green surface.surface_cache_p2 partial surface.surface_cache_p3 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmPseudoBox::~SmPseudoBox | SmPseudoBox.h:61 | 1 | Drop (implicit) |
SmPseudoBox::SetInterval | SmPseudoBox.h:84 | 1 | [PseudoBox::set_interval] |
SmPseudoBox::GetBasis | SmPseudoBox.h:97 | 1 | [PseudoBox::basis], [PseudoBox::basis_vector] |
SmPseudoBox::GetBasis | SmPseudoBox.h:98 | 3 | [PseudoBox::basis], [PseudoBox::basis_vector] |
SmPseudoBox::GetInterval | SmPseudoBox.h:102 | 3 | [PseudoBox::intervals], [PseudoBox::interval] |
SmPseudoBox::SmPseudoBox | SmPseudoBox.cpp:27 | 6 | [PseudoBox] |
SmPseudoBox::SmPseudoBox | SmPseudoBox.cpp:39 | 12 | [PseudoBox] |
SmPseudoBox::SmPseudoBox | SmPseudoBox.cpp:57 | 12 | [PseudoBox] |
SmPseudoBox::operator= | SmPseudoBox.cpp:75 | 21 | Clone/Copy |
SmPseudoBox::operator= | SmPseudoBox.cpp:102 | 15 | Clone/Copy |
SmPseudoBox::Init | SmPseudoBox.cpp:150 | 8 | [PseudoBox::init] |
SmPseudoBox::InitBasis | SmPseudoBox.cpp:164 | 9 | [PseudoBox::init_basis] |
SmPseudoBox::AddPoint3d | SmPseudoBox.cpp:272 | 14 | [PseudoBox::add_point] |
SmPseudoBox::ExpandAbsolute | SmPseudoBox.cpp:292 | 9 | [PseudoBox::expand_absolute] |
SmPseudoBox::ContainsPoint3d | SmPseudoBox.cpp:333 | 19 | [PseudoBox::contains_point] |
SmPseudoBox::Evaluate | SmPseudoBox.cpp:361 | 20 | [PseudoBox::evaluate] |
SmPseudoBox::InvertAbsolute | SmPseudoBox.cpp:482 | 49 | [PseudoBox::invert_absolute] |
SmPseudoBox::Union | SmPseudoBox.cpp:619 | 23 | [PseudoBox::union_into] |
SmPseudoBox::SetBasis | SmPseudoBox.cpp:653 | 34 | [PseudoBox::set_basis] |
SmPseudoBox::SetIntervals | SmPseudoBox.cpp:710 | 10 | [PseudoBox::set_intervals] |
SmPseudoBox::SetUnbounded | SmPseudoBox.cpp:726 | 7 | [PseudoBox::set_unbounded] |
SmPseudoBox::GetIntervals | SmPseudoBox.cpp:739 | 11 | [PseudoBox::intervals], [PseudoBox::interval] |
SmPseudoBox::DistanceToPoint | SmPseudoBox.cpp:772 | 67 | [PseudoBox::distance_to_point] |
SmPseudoBox::IntersectLine | SmPseudoBox.cpp:910 | 141 | [PseudoBox::intersect_line] |
SmPseudoBox::HasNegativeVolume | SmPseudoBox.cpp:1057 | 9 | [PseudoBox::has_negative_volume] |
SmPseudoBox::GetMaxDimension | SmPseudoBox.cpp:1072 | 8 | [PseudoBox::max_dimension] |
SmPseudoBox::GetXYArea | SmPseudoBox.cpp:1086 | 10 | [PseudoBox::xy_area] |
SmPseudoBox::GetVolume | SmPseudoBox.cpp:1102 | 13 | [PseudoBox::volume] |
SmPseudoBox::IsPointSized | SmPseudoBox.cpp:1121 | 25 | [PseudoBox::is_point_sized] |
SmPseudoBox::IsLinear | SmPseudoBox.cpp:1152 | 25 | [PseudoBox::is_linear] |
SmPseudoBox::IsPlanar | SmPseudoBox.cpp:1190 | 36 | [PseudoBox::is_planar] |
SmPseudoBox::AreDisjoint | SmPseudoBox.cpp:1240 | 119 | [PseudoBox::are_disjoint] |
SmPseudoBox::AreProjectDisjoint | SmPseudoBox.cpp:1388 | 45 | [PseudoBox::are_project_disjoint] |
SmPseudoBox::IsContainedBy | SmPseudoBox.cpp:1439 | 24 | [PseudoBox::is_contained_by] |
SmPseudoBox::ClassifyPoint3d | SmPseudoBox.cpp:1469 | 46 | [PseudoBox::classify_point] |
SmPseudoBox::CalcPlanes | SmPseudoBox.cpp:1524 | 42 | [PseudoBox::calc_planes] |
SmPseudoBox::IsBounded | SmPseudoBox.cpp:1705 | 26 | [PseudoBox::is_bounded], [PseudoBox::boundary_types] |
SmPseudoBox::IsAxisAligned | SmPseudoBox.cpp:1737 | 40 | [PseudoBox::is_axis_aligned] |
SmPseudoBox::AreAligned | SmPseudoBox.cpp:1783 | 43 | [PseudoBox::are_aligned] |
SmPseudoBox::GetCorners | SmPseudoBox.cpp:1879 | 11 | [PseudoBox::corners] |
SmPseudoBox::GetEdges | SmPseudoBox.cpp:1898 | 38 | [PseudoBox::edges] |
SmPseudoBox::CalcCorners | SmPseudoBox.cpp:1945 | 29 | [PseudoBox::corners] |
SmPseudoBox::AssertDefined | SmPseudoBox.cpp:2115 | 19 | [PseudoBox::assert_defined] |
SmPseudoBox::ProjectToPlane | SmPseudoBox.cpp:2159 | 404 | [PseudoBox::project_to_plane], [PseudoBox::project_to_plane_into] |
Module file-header table (44 rows)
| Rust | Upstream |
|---|---|
[PseudoBox] | SmPseudoBox |
[Projection] | SmProjectionType + its point/vector args |
[PseudoBox::new], Default | SmPseudoBox() |
[PseudoBox::from_basis_intervals] | SmPseudoBox(xDir, yDir, zDir, xIvl, ..) |
Clone/Copy | copy constructor, operator=(SmPseudoBox) |
[PseudoBox::from_extent3d] | SmPseudoBox(const SmExtent3d&) |
[PseudoBox::assign_extent3d] | operator=(const SmExtent3d&) |
Drop (implicit) | ~SmPseudoBox |
[PseudoBox::init] | Init |
[PseudoBox::init_basis] | InitBasis |
[PseudoBox::add_point] | AddPoint3d |
[PseudoBox::expand_absolute] | ExpandAbsolute |
[PseudoBox::contains_point] | ContainsPoint3d |
[PseudoBox::evaluate] | Evaluate |
[PseudoBox::invert_absolute] | InvertAbsolute |
[PseudoBox::union_into] | Union |
[PseudoBox::set_basis] | SetBasis(b1, b2, b3) |
[PseudoBox::basis], [PseudoBox::basis_vector] | GetBasis(), GetBasis(b1, b2, b3), GetBasis(lIndex) |
[PseudoBox::set_intervals] | SetIntervals |
[PseudoBox::set_interval] | SetInterval |
[PseudoBox::intervals], [PseudoBox::interval] | GetIntervals, GetInterval |
[PseudoBox::set_unbounded] | SetUnbounded |
[PseudoBox::distance_to_point] | DistanceToPoint |
[PseudoBox::intersect_line] | IntersectLine |
[PseudoBox::has_negative_volume] | HasNegativeVolume |
[PseudoBox::max_dimension] | GetMaxDimension |
[PseudoBox::xy_area] | GetXYArea |
[PseudoBox::volume] | GetVolume |
[PseudoBox::is_point_sized] | IsPointSized |
[PseudoBox::is_linear] | IsLinear |
[PseudoBox::is_planar] | IsPlanar |
[PseudoBox::are_disjoint] | AreDisjoint |
[PseudoBox::are_project_disjoint] | AreProjectDisjoint |
[PseudoBox::is_contained_by] | IsContainedBy |
[PseudoBox::classify_point] | ClassifyPoint3d |
[PseudoBox::calc_planes] | CalcPlanes |
[PseudoBox::is_bounded], [PseudoBox::boundary_types] | IsBounded |
[PseudoBox::is_axis_aligned] | IsAxisAligned |
[PseudoBox::are_aligned] | AreAligned |
[PseudoBox::corners] | CalcCorners, GetCorners |
[PseudoBox::edges] | GetEdges |
[PseudoBox::assert_defined] | AssertDefined |
[PseudoBox::project_to_plane], [PseudoBox::project_to_plane_into] | ProjectToPlane |
impl [ScaledZero] | SmTol::GetScaledZero(const SmPseudoBox&) (SmTol.cpp, unit geom.tol) |
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