Units / geom
geom.extent3d green
- Layer
- 0
- Upstream lines
- 1,122
- Functions
- 67
- Rust module
geom::extent3d
Source: crates/solidcore/src/geom/extent3d.rs
Upstream: source/SMLib/inc/SmExtent3d.h, source/SMLib/src/SmExtent3d.cpp
Notes
GREEN: difftest 3086 cases, all bit-identical, 0 deferred (Circumscribe wired by geom.pseudo_box); geom.extent1d intervals wired; co-ports sm_sqrt/sm_asin/GetMaxDimension (geom.vector3d). 67 fns; largest: SmExtent3d::IntersectLine, SmExtent3d::Circumscribe, SmExtent3d::ApproximateUnbounded, SmExtent3d::ComputeConeBoundTo; cycle back-edges (call into later units; stub or co-port): geom.vector3d(51), geom.extent1d(9), geom.pseudo_box(4); unit-SCC #22 (220 units); 318 upstream test entry points reach this unit
Difftest
- Cases
- 3,086
- Passed
- 3,086
- 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: none
Soft dependencies: none
Dependents: blend.hcr claimed boolean.merge_p1 partial boolean.merge_p2 todo boolean.topology_intersector_p1 partial boolean.topology_intersector_p3 claimed curve.composite_curve_p1 green curve.curve_cache green curve.curve_p2 green curve.curve_p6 green curve.curve_p7 green curve.curve_p8 green curve.curve_p9 green curve.hermite_curve green curve.line green geom.global_solver partial geom.grid partial geom.hash_table green geom.object partial geom.point_set green geom.pseudo_box green geom.solution_array partial geom.tol green geom.transform green geom.tree partial heal.stitch_p1 claimed heal.stitch_p2 claimed intersect.adv_surface_intersector partial intersect.curve_class_p8 partial intersect.ray_tracer partial intersect.surface_intersector_p1 partial intersect.surface_intersector_p3 partial intersect.surface_intersector_p4 partial intersect.surface_intersector_p5 partial intersect.surface_tracer partial intersect.topology_solver_p1 partial mass.integrator partial nurbs.b_spline_curve_p2 green nurbs.b_spline_surface_n_lib_p2 partial nurbs.b_spline_surface_p1 green nurbs.nurbs_crv green nurbs.nurbs_srf green offset.offset_executive_p1 claimed primitive.primitive_creation_p1 claimed primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo query.api_queries partial query.brep claimed query.edge partial query.face_p1 claimed query.face_p3 claimed query.poly partial surface.b_spline_volume green surface.b_spline_volume_n_lib partial surface.bend_volume green surface.cone_p3 partial surface.offset_surface green surface.plane_p2 partial surface.sphere green surface.surface_cache_p1 green surface.surface_p1 partial surface.surface_p10 partial surface.surface_p2 partial surface.surface_p3 green surface.surface_p6 green surface.surface_p7 partial surface.surface_p8 partial surface.surface_point_solve_p1 green surface.trim_srf_cache partial surface.twist_volume green surface.unbend_volume green surface.volume_p1 green surface.volume_p2 partial topology.brep_cache partial topology.brep_p10 claimed topology.brep_p2 claimed topology.brep_p3 claimed topology.brep_p5 claimed topology.brep_p9 claimed topology.edgeuse_p3 claimed topology.face_p1 partial topology.shell claimed topology.trimming_tools partial
Soft dependents: blend.fillet_geom_p4 todo boolean.topology_intersector_p2 claimed curve.crv_in_volume partial curve.curve_p1 partial geom.extent2d green heal.heal_data_p2 partial intersect.surface_intersector_p2 partial intersect.topology_solver_p2 partial nurbs.b_spline_curve_p3 partial nurbs.b_spline_surface_p2 partial offset.offset_geometry_creation claimed surface.surf_of_revolution_p2 partial surface.surf_of_revolution_p3 partial surface.surface_cache_p2 partial surface.surface_cache_p3 partial surface.surface_p11 partial surface.surface_p9 partial sweep.topology_sweep claimed topology.brep_p1 claimed topology.brep_p6 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmExtent3d::SmExtent3d | SmExtent3d.h:40 | 1 | [Extent3d] |
SmExtent3d::SmExtent3d | SmExtent3d.h:43 | 3 | [Extent3d] |
SmExtent3d::SmExtent3d | SmExtent3d.h:46 | 8 | [Extent3d] |
SmExtent3d::SmExtent3d | SmExtent3d.h:55 | 1 | [Extent3d] |
SmExtent3d::operator= | SmExtent3d.h:56 | 5 | Clone/Copy |
SmExtent3d::~SmExtent3d | SmExtent3d.h:63 | 2 | |
SmExtent3d::SetUnbounded | SmExtent3d.h:82 | 1 | [Extent3d::set_unbounded] |
SmExtent3d::GetMin | SmExtent3d.h:89 | 1 | [Extent3d::min], [Extent3d::max], [Extent3d::mid] |
SmExtent3d::GetMax | SmExtent3d.h:90 | 1 | [Extent3d::min], [Extent3d::max], [Extent3d::mid] |
SmExtent3d::GetMid | SmExtent3d.h:91 | 1 | [Extent3d::min], [Extent3d::max], [Extent3d::mid] |
SmExtent3d::GetUMin | SmExtent3d.h:92 | 1 | [Extent3d::u_min] .. [Extent3d::w_max] |
SmExtent3d::GetUMax | SmExtent3d.h:94 | 1 | |
SmExtent3d::GetVMin | SmExtent3d.h:95 | 1 | |
SmExtent3d::GetVMax | SmExtent3d.h:97 | 1 | |
SmExtent3d::GetWMin | SmExtent3d.h:98 | 1 | |
SmExtent3d::GetWMax | SmExtent3d.h:100 | 1 | [Extent3d::u_min] .. [Extent3d::w_max] |
SmExtent3d::GetMin | SmExtent3d.h:101 | 1 | [Extent3d::min], [Extent3d::max], [Extent3d::mid] |
SmExtent3d::GetMax | SmExtent3d.h:103 | 1 | [Extent3d::min], [Extent3d::max], [Extent3d::mid] |
SmExtent3d::GetUInterval | SmExtent3d.h:106 | 1 | [Extent3d::u_interval], [Extent3d::v_interval], [Extent3d::w_interval] |
SmExtent3d::GetVInterval | SmExtent3d.h:107 | 1 | [Extent3d::u_interval], [Extent3d::v_interval], [Extent3d::w_interval] |
SmExtent3d::GetWInterval | SmExtent3d.h:108 | 1 | [Extent3d::u_interval], [Extent3d::v_interval], [Extent3d::w_interval] |
SmExtent3d::GetMaxLength | SmExtent3d.h:119 | 1 | [Extent3d::max_length] |
SmExtent3d::GetMaxDimension | SmExtent3d.h:120 | 4 | [Extent3d::max_dimension] |
SmExtent3d::Init | SmExtent3d.cpp:24 | 6 | [Extent3d::new], [Default] |
SmExtent3d::AssertDefined | SmExtent3d.cpp:80 | 12 | [Extent3d::is_defined] |
SmExtent3d::SmExtent3d | SmExtent3d.cpp:98 | 10 | [Extent3d] |
SmExtent3d::SmExtent3d | SmExtent3d.cpp:114 | 7 | [Extent3d] |
SmExtent3d::Circumscribe | SmExtent3d.cpp:129 | 135 | [Extent3d::circumscribe] |
SmExtent3d::AddPoint3d | SmExtent3d.cpp:270 | 11 | [Extent3d::add_point] |
SmExtent3d::SetMinMax | SmExtent3d.cpp:287 | 17 | [Extent3d::set_min_max] |
SmExtent3d::SetMinMax | SmExtent3d.cpp:310 | 25 | [Extent3d::set_min_max] |
SmExtent3d::SetUInterval | SmExtent3d.cpp:341 | 21 | [Extent3d::set_u_interval], [Extent3d::set_v_interval] |
SmExtent3d::SetVInterval | SmExtent3d.cpp:368 | 21 | [Extent3d::set_u_interval], [Extent3d::set_v_interval] |
SmExtent3d::SetUMin | SmExtent3d.cpp:421 | 6 | [Extent3d::set_u_min] .. [Extent3d::set_v_max] |
SmExtent3d::SetUMax | SmExtent3d.cpp:432 | 6 | [Extent3d::set_u_min] .. [Extent3d::set_v_max] |
SmExtent3d::SetVMin | SmExtent3d.cpp:443 | 6 | [Extent3d::set_u_min] .. [Extent3d::set_v_max] |
SmExtent3d::SetVMax | SmExtent3d.cpp:454 | 6 | [Extent3d::set_u_min] .. [Extent3d::set_v_max] |
SmExtent3d::Evaluate | SmExtent3d.cpp:491 | 30 | [Extent3d::evaluate] |
SmExtent3d::Union | SmExtent3d.cpp:595 | 17 | [Extent3d::union] |
SmExtent3d::MaximumDistanceSquared | SmExtent3d.cpp:620 | 10 | [Extent3d::max_distance_squared] |
SmExtent3d::MinimumDistanceSquared | SmExtent3d.cpp:640 | 21 | [Extent3d::min_distance_squared] |
SmExtent3d::MaximumDistance | SmExtent3d.cpp:668 | 9 | [Extent3d::max_distance] |
SmExtent3d::MinimumDistance | SmExtent3d.cpp:685 | 9 | [Extent3d::min_distance] |
SmExtent3d::Intersect | SmExtent3d.cpp:751 | 26 | [Extent3d::intersect] |
SmExtent3d::ExpandRelative | SmExtent3d.cpp:784 | 16 | [Extent3d::expand_relative] |
SmExtent3d::ExpandAbsolute | SmExtent3d.cpp:833 | 16 | [Extent3d::expand_absolute] |
SmExtent3d::GetSize | SmExtent3d.cpp:856 | 8 | [Extent3d::size] |
SmExtent3d::GetCorners | SmExtent3d.cpp:872 | 19 | [Extent3d::corners] |
SmExtent3d::GetEdges | SmExtent3d.cpp:897 | 38 | [Extent3d::edges] |
SmExtent3d::XLength | SmExtent3d.cpp:941 | 5 | [Extent3d::x_length] .. [Extent3d::z_length] |
SmExtent3d::YLength | SmExtent3d.cpp:952 | 5 | [Extent3d::x_length] .. [Extent3d::z_length] |
SmExtent3d::ZLength | SmExtent3d.cpp:963 | 5 | [Extent3d::x_length] .. [Extent3d::z_length] |
SmExtent3d::ComputeSphereBound | SmExtent3d.cpp:975 | 21 | [Extent3d::sphere_bound] |
SmExtent3d::ComputeConeBoundTo | SmExtent3d.cpp:1005 | 58 | [Extent3d::cone_bound_to] |
SmExtent3d::AreDisjoint | SmExtent3d.cpp:1106 | 18 | [Extent3d::are_disjoint] |
SmExtent3d::IsContainedBy | SmExtent3d.cpp:1131 | 18 | [Extent3d::is_contained_by] |
SmExtent3d::GetPlanes | SmExtent3d.cpp:1155 | 19 | [Extent3d::planes] |
SmExtent3d::IsPointSized | SmExtent3d.cpp:1180 | 15 | [Extent3d::is_point_sized] |
SmExtent3d::ContainsPoint3d | SmExtent3d.cpp:1203 | 16 | [Extent3d::contains_point] |
SmExtent3d::ContainsLineSeg3d | SmExtent3d.cpp:1227 | 14 | [Extent3d::contains_line_seg] |
SmExtent3d::IsPoint3dOnBoundary | SmExtent3d.cpp:1431 | 21 | [Extent3d::is_point_on_boundary] |
SmExtent3d::IntersectLine | SmExtent3d.cpp:1458 | 158 | [Extent3d::intersect_line], [LineHit] |
SmExtent3d::HasNegativeVolume | SmExtent3d.cpp:1622 | 9 | [Extent3d::has_negative_volume] |
SmExtent3d::IsInit | SmExtent3d.cpp:1637 | 12 | [Extent3d::is_init] |
SmExtent3d::IsBounded | SmExtent3d.cpp:1685 | 37 | [Extent3d::boundary_types], [Extent3d::is_bounded] |
SmExtent3d::AnyBounds | SmExtent3d.cpp:1729 | 15 | [Extent3d::any_bounds] |
SmExtent3d::ApproximateUnbounded | SmExtent3d.cpp:1760 | 128 | [Extent3d::approximate_unbounded], [Extent3d::approximate_unbounded_expanded] |
Module file-header table (51 rows)
| Rust | Upstream |
|---|---|
[Extent3d] | SmExtent3d |
[Extent3d::new], [Default] | SmExtent3d(), Init |
[Extent3d::init] | Init |
[Extent3d::from_points] | SmExtent3d(const SmPoint3d&, const SmPoint3d&) |
[Extent3d::from_point] | SmExtent3d(const SmPoint3d&) |
[Extent3d::from_bounds] | SmExtent3d(double x6) |
Clone/Copy | copy constructor, operator=, destructor |
[Extent3d::is_defined] | AssertDefined |
[Extent3d::set_unbounded] | SetUnbounded |
[Extent3d::min], [Extent3d::max], [Extent3d::mid] | GetMin(), GetMax(), GetMid() |
[Extent3d::u_min] .. [Extent3d::w_max] | GetUMin .. GetWMax |
[Extent3d::min_at], [Extent3d::max_at] | GetMin(ULONG), GetMax(ULONG) |
[Extent3d::max_length] | GetMaxLength |
[Extent3d::max_dimension] | GetMaxDimension |
[Extent3d::add_point] | AddPoint3d |
[Extent3d::set_min_max] | SetMinMax(const SmPoint3d&, const SmPoint3d&) |
[Extent3d::set_min_max_coords] | SetMinMax(double x6) |
[Extent3d::set_u_min] .. [Extent3d::set_v_max] | SetUMin, SetUMax, SetVMin, SetVMax |
[Extent3d::evaluate] | Evaluate |
[Extent3d::union] | Union |
[Extent3d::intersect] | Intersect |
[Extent3d::max_distance_squared] | MaximumDistanceSquared |
[Extent3d::min_distance_squared] | MinimumDistanceSquared |
[Extent3d::max_distance] | MaximumDistance |
[Extent3d::min_distance] | MinimumDistance |
[Extent3d::expand_relative] | ExpandRelative |
[Extent3d::expand_absolute] | ExpandAbsolute |
[Extent3d::size] | GetSize |
[Extent3d::corners] | GetCorners |
[Extent3d::edges] | GetEdges |
[Extent3d::planes] | GetPlanes |
[Extent3d::x_length] .. [Extent3d::z_length] | XLength, YLength, ZLength |
[Extent3d::sphere_bound] | ComputeSphereBound |
[Extent3d::cone_bound_to] | ComputeConeBoundTo |
[Extent3d::are_disjoint] | AreDisjoint |
[Extent3d::is_contained_by] | IsContainedBy |
[Extent3d::is_point_sized] | IsPointSized |
[Extent3d::contains_point] | ContainsPoint3d |
[Extent3d::contains_line_seg] | ContainsLineSeg3d |
[Extent3d::is_point_on_boundary] | IsPoint3dOnBoundary |
[Extent3d::intersect_line], [LineHit] | IntersectLine |
[Extent3d::has_negative_volume] | HasNegativeVolume |
[Extent3d::is_init] | IsInit |
[Extent3d::boundary_types], [Extent3d::is_bounded] | IsBounded |
[Extent3d::any_bounds] | AnyBounds |
[Extent3d::u_interval], [Extent3d::v_interval], [Extent3d::w_interval] | GetUInterval, GetVInterval, GetWInterval |
[Extent3d::set_u_interval], [Extent3d::set_v_interval] | SetUInterval, SetVInterval |
[Extent3d::approximate_unbounded], [Extent3d::approximate_unbounded_expanded] | ApproximateUnbounded |
[Extent3d::from_pseudo_box] | SmExtent3d(const SmPseudoBox&) |
[Extent3d::circumscribe] | Circumscribe |
[BoundaryType] | SmBoundaryType (SmTypes.h) |
Upstream tests reaching this unit
prog_test:my_test_extent3d, 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