solidcore

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 unitDeferred cases
curve.curve_p2 green16
topology.face_p2 partial14
topology.edge partial12
surface.surface_p2 partial9
topology.vertex partial5

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 functionDefined atLinesRust (from the file header)
SmSolutionEnd::SmSolutionEndSmSolutionArray.h:985[SolutionEnd], [SolutionEnd::new]
SmSolutionEnd::~SmSolutionEndSmSolutionArray.h:1111Drop (implicit)
SmSolutionEnd::ReSetSmSolutionArray.h:1134[SolutionEnd::reset]
SmSolutionEnd::operator[]SmSolutionArray.h:1183[SolutionEnd::param], [SolutionEnd::param_mut]
SmSolutionEnd::operator[]SmSolutionArray.h:1213[SolutionEnd::param], [SolutionEnd::param_mut]
SmSolution::SmSolutionSmSolutionArray.h:2217[Solution], [Solution::new]
SmSolution::~SmSolutionSmSolutionArray.h:2391Drop (implicit)
SmSolution::ReSetSmSolutionArray.h:2419[Solution::reset]
SmSolutionArray::SmSolutionArraySmSolutionArray.h:3598[SolutionArray], [SolutionArray::new]
SmSolutionArray::GetSizeSmSolutionArray.h:3881[SolutionArray::len]
SmSolutionArray::ReSetSmSolutionArray.h:3948[SolutionArray::reset]
SmSolutionArray::GetDataArraySmSolutionArray.h:4081[SolutionArray::as_slice]
SmSolutionArray::operator[]SmSolutionArray.h:4091[SolutionArray::get], [SolutionArray::get_mut]
SmSolutionArray::GetTypeSmSolutionArray.h:4251[SolutionArray::TYPE], [SolutionArray::type_code], [SolutionArray::type_string], [SolutionArray::is_kind_of]
SmSolutionArray::GetTypeStringSmSolutionArray.h:4251[SolutionArray::TYPE], [SolutionArray::type_code], [SolutionArray::type_string], [SolutionArray::is_kind_of]
sm_AreSequentialSmSolutionArray.cpp:389are_sequential (private)
SmSolutionEnd::operator=SmSolutionArray.cpp:5312Clone/Copy for [SolutionEnd]
SmSolution::SmSolutionSmSolutionArray.cpp:10114[Solution], [Solution::new]
SmSolution::operator=SmSolutionArray.cpp:12118Clone/Copy for [Solution]
SmSolution::ClassifySolutionEndSmSolutionArray.cpp:191176[Solution::classify_solution_end], [EndClass]
SmSolution::GetIndexSmSolutionArray.cpp:37440[Solution::index_of]
SmSolution::GetPointSmSolutionArray.cpp:42434[Solution::point]
SmSolution::GetPointSmSolutionArray.cpp:468150[Solution::point]
SmSolution::GetObjectIndexForParameterIndexSmSolutionArray.cpp:62892[Solution::object_index_for_parameter_index]
SmSolution::GetParameterIntervalSmSolutionArray.cpp:73099[Solution::parameter_interval]
SmSolution::GetObjectToleranceSmSolutionArray.cpp:83716[Solution::object_tolerance]
SmSolution::IsEqualSmSolutionArray.cpp:86363[Solution::is_equal]
SmSolutionArray::SmSolutionArraySmSolutionArray.cpp:94630[SolutionArray], [SolutionArray::new]
SmSolutionArray::~SmSolutionArraySmSolutionArray.cpp:105217Drop (implicit)
SmSolutionArray::SetSizeSmSolutionArray.cpp:107663[SolutionArray::set_size]
SmSolutionArray::AppendSmSolutionArray.cpp:120514[SolutionArray::append]
SmSolutionArray::AddSortedSolutionSmSolutionArray.cpp:1238170[SolutionArray::add_sorted_solution]
SmSolutionArray::SetAtGrowSmSolutionArray.cpp:14329set_at_grow (private)
SmSolutionArray::InsertAtSmSolutionArray.cpp:144834[SolutionArray::insert_at]
SmSolutionArray::RemoveAtSmSolutionArray.cpp:148819[SolutionArray::remove_at]
SmSolutionArray::SwapSmSolutionArray.cpp:155716[SolutionArray::swap]
SmSolution::DumpSmSolutionArray.cpp:1602128
SmSolutionArray::GetAtSmSolutionArray.cpp:19205[SolutionArray::get_at], [SolutionArray::set_at]
SmSolutionArray::SetAtSmSolutionArray.cpp:193212[SolutionArray::get_at], [SolutionArray::set_at]
SmSolutionArray::AddSmSolutionArray.cpp:19517[SolutionArray::add]
SmSolutionArray::IsKindOfSmSolutionArray.cpp:19634[SolutionObject], [ObjectKind]
SmSolutionArray::DumpSmSolutionArray.cpp:197314
Module file-header table (40 rows)
RustUpstream
[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