Units / intersect
intersect.curve_class_p7 partial
- Layer
- 32
- Upstream lines
- 2,248
- Functions
- 14
- Rust module
intersect::curve_class::p7
Source: crates/solidcore/src/intersect/curve_class/p7.rs
Upstream: source/SMLib/src/SmCurveClass.cpp
Notes
PR #65: partial, difftest 1516 cases (1077 passed, 0 failed, 439 deferred: topology.edge 226, topology.vertex 160, topology.face_p2 53), --perturb SENSITIVE 1077/1077; topology members (SmEdge/SmVertex) and SmFace queries (topology.face_p4, query.face_p1, query.face_p2) stay UNPORTED stubs because the opaque handle O cannot reach a Brep; SmCrvOnSurf over a non-B-spline surface is UNPORTED(curve.crv_on_surf); wired back-edges: intersect.curve_class_p3 (GetPointClassByIndex, GetPointClassMateByIndex, AreCoincidentMaybe; its private IsDegenerate co-port is reused here) and query.face_p2 (ClassifyFaceInterval, CurveOnClassify now takes ClassGeometry); 14 fns; largest: SmCurveClassification::TestForPartialCoincidentEdges, SmCurveClassification::ClassifyFaceInterval, sm_SetDoFilletingGeometry, SmCurveClassification::AreCoincidentMaybe; cycle back-edges (call into later units; stub or co-port): topology.edge(9), topology.vertex(3), query.face_p1(2), query.face_p2(1), topology.face_p4(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 1,516
- Passed
- 1,077
- Deferred
- 439
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
topology.edge partial | 226 |
topology.vertex partial | 160 |
topology.face_p2 partial | 53 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.object partial geom.solution_array partial geom.tol green geom.vector3d green intersect.curve_class_p1 partial intersect.point_class partial
Soft dependencies: curve.crv_on_surf partial curve.curve_p4 partial curve.curve_p6 green geom.vector2d green nurbs.b_spline_curve_n_lib green nurbs.b_spline_curve_p1 green
Dependents: intersect.curve_class_p2 claimed intersect.curve_class_p3 partial intersect.curve_class_p4 claimed intersect.curve_class_p5 partial intersect.curve_class_p6 partial topology.face_p4 claimed
Soft dependents: blend.hcr claimed boolean.topology_intersector_p3 claimed heal.heal_data_p3 partial query.face_p2 partial query.face_p3 claimed topology.brep_p2 claimed topology.face_p1 partial topology.proto_topology_p2 partial topology.proto_topology_p3 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurveClassification::AreCoincidentMaybe | SmCurveClass.cpp:6609 | 362 | [CurveClassification::are_coincident_maybe], [CoincidentMaybe] |
SmCurveClassification::GetPointClassByIndex | SmCurveClass.cpp:7163 | 23 | [CurveClassification::point_class_by_index], [CurveClassification::point_class_by_index_mut] |
SmCurveClassification::GetPointClassMateByIndex | SmCurveClass.cpp:7200 | 27 | [CurveClassification::point_class_mate_by_index] |
SmCurveClassification::CollapseInterval | SmCurveClass.cpp:8345 | 81 | [CurveClassification::collapse_interval] |
SmCurveClassification::GetPointClassifiesConnectedTo | SmCurveClass.cpp:11117 | 68 | [CurveClassification::point_classifies_connected_to] |
SmCurveClassification::FindVertexObjects | SmCurveClass.cpp:11216 | 40 | [CurveClassification::find_vertex_objects], [VertexObjects] |
SmCurveClassification::FindEdgeObjects | SmCurveClass.cpp:13139 | 56 | [CurveClassification::find_edge_objects] |
SmCurveClassification::IsCrossedByEdge | SmCurveClass.cpp:13202 | 111 | [CurveClassification::is_crossed_by_edge] |
SmCurveClassification::IsCrossingFace | SmCurveClass.cpp:13325 | 35 | [CurveClassification::is_crossing_face] |
SmCurveClassification::HasNearMisses | SmCurveClass.cpp:13379 | 67 | [CurveClassification::has_near_misses] |
sm_SetDoFilletingGeometry | SmCurveClass.cpp:16815 | 382 | [set_do_filleting_geometry] |
SmCurveClassification::ClassifyFaceInterval | SmCurveClass.cpp:18748 | 481 | [CurveClassification::classify_face_interval] |
SmCurveClassification::TestForPartialCoincidentEdges | SmCurveClass.cpp:19263 | 513 | [CurveClassification::test_for_partial_coincident_edges], [PartialCoincidence] |
SmCurveInterval::GetCurve | SmCurveClass.cpp:20289 | 2 | [CurveClassification::curve] of the owner |
Module file-header table (16 rows)
| Rust | Upstream |
|---|---|
[CurveClassification::point_class_by_index], [CurveClassification::point_class_by_index_mut] | GetPointClassByIndex |
[CurveClassification::point_class_mate_by_index] | GetPointClassMateByIndex |
[CurveClassification::collapse_interval] | CollapseInterval |
[CurveClassification::point_classifies_connected_to] | GetPointClassifiesConnectedTo |
[CurveClassification::find_vertex_objects], [VertexObjects] | FindVertexObjects |
[CurveClassification::find_edge_objects] | FindEdgeObjects |
[CurveClassification::is_crossed_by_edge] | IsCrossedByEdge |
[CurveClassification::is_crossing_face] | IsCrossingFace |
[CurveClassification::has_near_misses] | HasNearMisses |
[CurveClassification::are_coincident_maybe], [CoincidentMaybe] | AreCoincidentMaybe |
[CurveClassification::classify_face_interval] | ClassifyFaceInterval |
[CurveClassification::test_for_partial_coincident_edges], [PartialCoincidence] | TestForPartialCoincidentEdges |
[set_do_filleting_geometry] | sm_SetDoFilletingGeometry |
[CurveClassification::curve] of the owner | SmCurveInterval::GetCurve |
[curve_is_degenerate] (intersect.curve_class_p3) | SmTol::IsDegenerate(const SmCurve*, SmExtent1d, SmXSectTol3d*) (CO-PORTED from geom.tol, with the tolerance given) |
tol_is_closed_curve (private) | SmTol::IsClosed(const SmObject*, SmXSectTol3d*) for a curve (CO-PORTED from geom.tol, with the tolerance given) |
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