Units / geom
geom.solution_array partial
- Layer
- 4
- Upstream lines
- 1,319
- Functions
- 42
- Rust module
geom::solution_array
Source: crates/solidcore/src/geom/solution_array.rs
Upstream: source/SMLib/inc/SmSolutionArray.h, source/SMLib/src/SmSolutionArray.cpp
Notes
difftest: 810 cases, 754 pass, 56 deferred (curve.curve_p2 16, topology.face_p2 14, topology.edge 12, surface.surface_p2 9, topology.vertex 5); Dump not ported (print only). 42 fns; largest: SmSolution::ClassifySolutionEnd, SmSolutionArray::AddSortedSolution, SmSolution::GetPoint, SmSolution::Dump; cycle back-edges (call into later units; stub or co-port): geom.extent1d(4), geom.vector3d(4), curve.curve_p2(2), geom.extent2d(2), surface.surface_p2(2), topology.edge(2), topology.face_p2(2), query.poly(1), surface.volume_p1(1), topology.vertex(1); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit
Difftest
- Cases
- 810
- Passed
- 754
- Deferred
- 56
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
curve.curve_p2 green | 16 |
topology.face_p2 partial | 14 |
topology.edge partial | 12 |
surface.surface_p2 partial | 9 |
topology.vertex partial | 5 |
Report JSON (per-case results)
Dependencies
Depends on: geom.extent3d green geom.object partial
Soft dependencies: geom.tol green geom.vector2d green
Dependents: blend.fillet_corner_p1 todo blend.fillet_corner_p2 todo blend.fillet_custom_solver partial blend.fillet_geom_p1 claimed blend.fillet_geom_p2 todo blend.fillet_geom_p3 todo blend.fillet_geom_p4 todo blend.fillet_geom_p5 todo blend.fillet_geom_p6 todo blend.fillet_solver_p1 claimed blend.fillet_solver_p2 todo blend.fillet_solver_p3 todo blend.fillet_solver_p4 claimed blend.fillet_solver_p5 claimed blend.fillet_standard_solver_p1 claimed blend.fillet_standard_solver_p2 todo blend.hcr claimed boolean.topology_intersector_p1 partial curve.composite_curve_p1 green curve.composite_curve_p2 green curve.conic green curve.crv_on_surf partial curve.curve_p1 partial curve.curve_p2 green curve.curve_p3 green curve.curve_p4 partial curve.curve_p6 green curve.curve_p7 green curve.curve_p8 green curve.curve_p9 green curve.ellipse_p1 green curve.ellipse_p2 green curve.hyperbola green curve.line green curve.parabola green geom.global_solver partial geom.tools partial geom.transform green intersect.adv_surface_intersector partial intersect.curve_class_p1 partial intersect.curve_class_p2 claimed intersect.curve_class_p5 partial intersect.curve_class_p7 partial intersect.curve_class_p8 partial intersect.curve_class_p9 partial intersect.point_class partial intersect.surface_drop_curve partial intersect.surface_drop_lib_p1 partial intersect.surface_drop_lib_p2 green intersect.surface_drop_lib_p3 claimed intersect.surface_intersector_p1 partial intersect.surface_intersector_p2 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 intersect.topology_solver_p2 partial nurbs.b_spline_curve_p3 partial nurbs.b_spline_surface_p1 green offset.offset_executive_p1 claimed offset.offset_geometry_creation 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 surface.bend_volume green surface.plane_p1 partial surface.plane_p2 partial surface.surf_of_extrusion_p1 green surface.surf_of_extrusion_p2 partial surface.surf_of_revolution_p1 green surface.surf_of_revolution_p2 partial surface.surf_of_revolution_p3 partial surface.surface_p1 partial surface.surface_p10 partial surface.surface_p11 partial surface.surface_p2 partial surface.surface_p4 green surface.surface_p5 green surface.surface_p6 green surface.surface_p7 partial surface.surface_p8 partial surface.surface_point_solve_p2 green surface.twist_volume green surface.unbend_volume green surface.volume_p2 partial sweep.rotational_sweep_geometry partial topology.brep_p1 claimed topology.brep_p10 claimed topology.brep_p2 claimed topology.brep_p3 claimed topology.brep_p5 claimed topology.brep_p8 claimed topology.edgeuse_p2 partial topology.edgeuse_p3 claimed topology.face_p3 claimed topology.face_p4 claimed topology.proto_topology_p2 partial topology.proto_topology_p3 partial topology.shell claimed topology.topology_traverser partial topology.trimming_tools partial topology.vertexuse partial
Soft dependents: blend.fillet_executive_p2 todo blend.fillet_intersector claimed boolean.topology_intersector_p2 claimed curve.curve_p5 partial intersect.ray_tracer partial nurbs.b_spline_curve_n_lib green query.loop green surface.surface_p3 green surface.surface_p9 partial surface.surface_point_solve_p3 green sweep.trans_sweep_geometry partial topology.proto_topology_p1 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmSolutionEnd::SmSolutionEnd | SmSolutionArray.h:98 | 5 | [SolutionEnd], [SolutionEnd::new] |
SmSolutionEnd::~SmSolutionEnd | SmSolutionArray.h:111 | 1 | Drop (implicit) |
SmSolutionEnd::ReSet | SmSolutionArray.h:113 | 4 | [SolutionEnd::reset] |
SmSolutionEnd::operator[] | SmSolutionArray.h:118 | 3 | [SolutionEnd::param], [SolutionEnd::param_mut] |
SmSolutionEnd::operator[] | SmSolutionArray.h:121 | 3 | [SolutionEnd::param], [SolutionEnd::param_mut] |
SmSolution::SmSolution | SmSolutionArray.h:221 | 7 | [Solution], [Solution::new] |
SmSolution::~SmSolution | SmSolutionArray.h:239 | 1 | Drop (implicit) |
SmSolution::ReSet | SmSolutionArray.h:241 | 9 | [Solution::reset] |
SmSolutionArray::SmSolutionArray | SmSolutionArray.h:359 | 8 | [SolutionArray], [SolutionArray::new] |
SmSolutionArray::GetSize | SmSolutionArray.h:388 | 1 | [SolutionArray::len] |
SmSolutionArray::ReSet | SmSolutionArray.h:394 | 8 | [SolutionArray::reset] |
SmSolutionArray::GetDataArray | SmSolutionArray.h:408 | 1 | [SolutionArray::as_slice] |
SmSolutionArray::operator[] | SmSolutionArray.h:409 | 1 | [SolutionArray::get], [SolutionArray::get_mut] |
SmSolutionArray::GetType | SmSolutionArray.h:425 | 1 | [SolutionArray::TYPE], [SolutionArray::type_code], [SolutionArray::type_string], [SolutionArray::is_kind_of] |
SmSolutionArray::GetTypeString | SmSolutionArray.h:425 | 1 | [SolutionArray::TYPE], [SolutionArray::type_code], [SolutionArray::type_string], [SolutionArray::is_kind_of] |
sm_AreSequential | SmSolutionArray.cpp:38 | 9 | are_sequential (private) |
SmSolutionEnd::operator= | SmSolutionArray.cpp:53 | 12 | Clone/Copy for [SolutionEnd] |
SmSolution::SmSolution | SmSolutionArray.cpp:101 | 14 | [Solution], [Solution::new] |
SmSolution::operator= | SmSolutionArray.cpp:121 | 18 | Clone/Copy for [Solution] |
SmSolution::ClassifySolutionEnd | SmSolutionArray.cpp:191 | 176 | [Solution::classify_solution_end], [EndClass] |
SmSolution::GetIndex | SmSolutionArray.cpp:374 | 40 | [Solution::index_of] |
SmSolution::GetPoint | SmSolutionArray.cpp:424 | 34 | [Solution::point] |
SmSolution::GetPoint | SmSolutionArray.cpp:468 | 150 | [Solution::point] |
SmSolution::GetObjectIndexForParameterIndex | SmSolutionArray.cpp:628 | 92 | [Solution::object_index_for_parameter_index] |
SmSolution::GetParameterInterval | SmSolutionArray.cpp:730 | 99 | [Solution::parameter_interval] |
SmSolution::GetObjectTolerance | SmSolutionArray.cpp:837 | 16 | [Solution::object_tolerance] |
SmSolution::IsEqual | SmSolutionArray.cpp:863 | 63 | [Solution::is_equal] |
SmSolutionArray::SmSolutionArray | SmSolutionArray.cpp:946 | 30 | [SolutionArray], [SolutionArray::new] |
SmSolutionArray::~SmSolutionArray | SmSolutionArray.cpp:1052 | 17 | Drop (implicit) |
SmSolutionArray::SetSize | SmSolutionArray.cpp:1076 | 63 | [SolutionArray::set_size] |
SmSolutionArray::Append | SmSolutionArray.cpp:1205 | 14 | [SolutionArray::append] |
SmSolutionArray::AddSortedSolution | SmSolutionArray.cpp:1238 | 170 | [SolutionArray::add_sorted_solution] |
SmSolutionArray::SetAtGrow | SmSolutionArray.cpp:1432 | 9 | set_at_grow (private) |
SmSolutionArray::InsertAt | SmSolutionArray.cpp:1448 | 34 | [SolutionArray::insert_at] |
SmSolutionArray::RemoveAt | SmSolutionArray.cpp:1488 | 19 | [SolutionArray::remove_at] |
SmSolutionArray::Swap | SmSolutionArray.cpp:1557 | 16 | [SolutionArray::swap] |
SmSolution::Dump | SmSolutionArray.cpp:1602 | 128 | |
SmSolutionArray::GetAt | SmSolutionArray.cpp:1920 | 5 | [SolutionArray::get_at], [SolutionArray::set_at] |
SmSolutionArray::SetAt | SmSolutionArray.cpp:1932 | 12 | [SolutionArray::get_at], [SolutionArray::set_at] |
SmSolutionArray::Add | SmSolutionArray.cpp:1951 | 7 | [SolutionArray::add] |
SmSolutionArray::IsKindOf | SmSolutionArray.cpp:1963 | 4 | [SolutionObject], [ObjectKind] |
SmSolutionArray::Dump | SmSolutionArray.cpp:1973 | 14 |
Module file-header table (40 rows)
| Rust | Upstream |
|---|---|
[MAX_TREES], [MAX_PARAMS] | SM_SA_MAX_TREES, SM_SA_MAX_TREES*2 |
[SolutionType] | SmSolutionType |
[SortKey] | SmSortKeyType |
[SolutionEnd], [SolutionEnd::new] | SmSolutionEnd, SmSolutionEnd() |
Clone/Copy for [SolutionEnd] | SmSolutionEnd::operator= |
Drop (implicit) | ~SmSolutionEnd |
[SolutionEnd::reset] | SmSolutionEnd::ReSet |
[SolutionEnd::param], [SolutionEnd::param_mut] | SmSolutionEnd::operator[] (const and non-const) |
[Solution], [Solution::new] | SmSolution, SmSolution() |
[Solution::zeroed] | a smos_Calloc/smos_MemSet zeroed SmSolution slot |
Clone/Copy for [Solution] | SmSolution(const SmSolution&), SmSolution::operator= |
Drop (implicit) | ~SmSolution |
[Solution::reset] | SmSolution::ReSet |
[Solution::classify_solution_end], [EndClass] | SmSolution::ClassifySolutionEnd and its return values |
[Solution::index_of] | SmSolution::GetIndex |
[Solution::point] | SmSolution::GetPoint(ULONG, ...) |
[Solution::point_of] | SmSolution::GetPoint(const SmObject*, ...) |
[Solution::object_index_for_parameter_index] | SmSolution::GetObjectIndexForParameterIndex |
[Solution::parameter_interval] | SmSolution::GetParameterInterval |
[Solution::object_tolerance] | SmSolution::GetObjectTolerance |
[Solution::is_equal] | SmSolution::IsEqual |
are_sequential (private) | sm_AreSequential |
[SolutionObject], [ObjectKind] | the SmObject* of m_apObjects and its IsKindOf tests |
[SolutionArray], [SolutionArray::new] | SmSolutionArray, SmSolutionArray() |
[SolutionArray::with_capacity] | SmSolutionArray(ULONG, SmSolution* = NULL) |
Drop (implicit) | ~SmSolutionArray |
[SolutionArray::len] | SmSolutionArray::GetSize |
[SolutionArray::set_size] | SmSolutionArray::SetSize |
[SolutionArray::reset] | SmSolutionArray::ReSet |
[SolutionArray::as_slice] | SmSolutionArray::GetDataArray |
[SolutionArray::get], [SolutionArray::get_mut] | SmSolutionArray::operator[] |
[SolutionArray::get_at], [SolutionArray::set_at] | SmSolutionArray::GetAt, SetAt |
[SolutionArray::add] | SmSolutionArray::Add |
set_at_grow (private) | SmSolutionArray::SetAtGrow |
[SolutionArray::append] | SmSolutionArray::Append |
[SolutionArray::add_sorted_solution] | SmSolutionArray::AddSortedSolution |
[SolutionArray::insert_at] | SmSolutionArray::InsertAt(ULONG, const SmSolution&, ULONG) |
[SolutionArray::remove_at] | SmSolutionArray::RemoveAt |
[SolutionArray::swap] | SmSolutionArray::Swap |
[SolutionArray::TYPE], [SolutionArray::type_code], [SolutionArray::type_string], [SolutionArray::is_kind_of] | SmSolutionArray::GetType, GetTypeString, 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