solidcore

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 functionDefined atLinesRust (from the file header)
SmPseudoBox::~SmPseudoBoxSmPseudoBox.h:611Drop (implicit)
SmPseudoBox::SetIntervalSmPseudoBox.h:841[PseudoBox::set_interval]
SmPseudoBox::GetBasisSmPseudoBox.h:971[PseudoBox::basis], [PseudoBox::basis_vector]
SmPseudoBox::GetBasisSmPseudoBox.h:983[PseudoBox::basis], [PseudoBox::basis_vector]
SmPseudoBox::GetIntervalSmPseudoBox.h:1023[PseudoBox::intervals], [PseudoBox::interval]
SmPseudoBox::SmPseudoBoxSmPseudoBox.cpp:276[PseudoBox]
SmPseudoBox::SmPseudoBoxSmPseudoBox.cpp:3912[PseudoBox]
SmPseudoBox::SmPseudoBoxSmPseudoBox.cpp:5712[PseudoBox]
SmPseudoBox::operator=SmPseudoBox.cpp:7521Clone/Copy
SmPseudoBox::operator=SmPseudoBox.cpp:10215Clone/Copy
SmPseudoBox::InitSmPseudoBox.cpp:1508[PseudoBox::init]
SmPseudoBox::InitBasisSmPseudoBox.cpp:1649[PseudoBox::init_basis]
SmPseudoBox::AddPoint3dSmPseudoBox.cpp:27214[PseudoBox::add_point]
SmPseudoBox::ExpandAbsoluteSmPseudoBox.cpp:2929[PseudoBox::expand_absolute]
SmPseudoBox::ContainsPoint3dSmPseudoBox.cpp:33319[PseudoBox::contains_point]
SmPseudoBox::EvaluateSmPseudoBox.cpp:36120[PseudoBox::evaluate]
SmPseudoBox::InvertAbsoluteSmPseudoBox.cpp:48249[PseudoBox::invert_absolute]
SmPseudoBox::UnionSmPseudoBox.cpp:61923[PseudoBox::union_into]
SmPseudoBox::SetBasisSmPseudoBox.cpp:65334[PseudoBox::set_basis]
SmPseudoBox::SetIntervalsSmPseudoBox.cpp:71010[PseudoBox::set_intervals]
SmPseudoBox::SetUnboundedSmPseudoBox.cpp:7267[PseudoBox::set_unbounded]
SmPseudoBox::GetIntervalsSmPseudoBox.cpp:73911[PseudoBox::intervals], [PseudoBox::interval]
SmPseudoBox::DistanceToPointSmPseudoBox.cpp:77267[PseudoBox::distance_to_point]
SmPseudoBox::IntersectLineSmPseudoBox.cpp:910141[PseudoBox::intersect_line]
SmPseudoBox::HasNegativeVolumeSmPseudoBox.cpp:10579[PseudoBox::has_negative_volume]
SmPseudoBox::GetMaxDimensionSmPseudoBox.cpp:10728[PseudoBox::max_dimension]
SmPseudoBox::GetXYAreaSmPseudoBox.cpp:108610[PseudoBox::xy_area]
SmPseudoBox::GetVolumeSmPseudoBox.cpp:110213[PseudoBox::volume]
SmPseudoBox::IsPointSizedSmPseudoBox.cpp:112125[PseudoBox::is_point_sized]
SmPseudoBox::IsLinearSmPseudoBox.cpp:115225[PseudoBox::is_linear]
SmPseudoBox::IsPlanarSmPseudoBox.cpp:119036[PseudoBox::is_planar]
SmPseudoBox::AreDisjointSmPseudoBox.cpp:1240119[PseudoBox::are_disjoint]
SmPseudoBox::AreProjectDisjointSmPseudoBox.cpp:138845[PseudoBox::are_project_disjoint]
SmPseudoBox::IsContainedBySmPseudoBox.cpp:143924[PseudoBox::is_contained_by]
SmPseudoBox::ClassifyPoint3dSmPseudoBox.cpp:146946[PseudoBox::classify_point]
SmPseudoBox::CalcPlanesSmPseudoBox.cpp:152442[PseudoBox::calc_planes]
SmPseudoBox::IsBoundedSmPseudoBox.cpp:170526[PseudoBox::is_bounded], [PseudoBox::boundary_types]
SmPseudoBox::IsAxisAlignedSmPseudoBox.cpp:173740[PseudoBox::is_axis_aligned]
SmPseudoBox::AreAlignedSmPseudoBox.cpp:178343[PseudoBox::are_aligned]
SmPseudoBox::GetCornersSmPseudoBox.cpp:187911[PseudoBox::corners]
SmPseudoBox::GetEdgesSmPseudoBox.cpp:189838[PseudoBox::edges]
SmPseudoBox::CalcCornersSmPseudoBox.cpp:194529[PseudoBox::corners]
SmPseudoBox::AssertDefinedSmPseudoBox.cpp:211519[PseudoBox::assert_defined]
SmPseudoBox::ProjectToPlaneSmPseudoBox.cpp:2159404[PseudoBox::project_to_plane], [PseudoBox::project_to_plane_into]
Module file-header table (44 rows)
RustUpstream
[PseudoBox]SmPseudoBox
[Projection]SmProjectionType + its point/vector args
[PseudoBox::new], DefaultSmPseudoBox()
[PseudoBox::from_basis_intervals]SmPseudoBox(xDir, yDir, zDir, xIvl, ..)
Clone/Copycopy 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