Units / intersect
intersect.ray_tracer partial
- Layer
- 32
- Upstream lines
- 1,246
- Functions
- 13
- Rust module
intersect::ray_tracer
Source: crates/solidcore/src/intersect/ray_tracer.rs
Upstream: source/SMLib/inc/SmRayTracer.h, source/SMLib/src/SmRayTracer.cpp
Notes
partial: 421 cases, 310 pass, 0 fail, 111 deferred (surface.surface_p8 SmSurface::LocalLineIntersect x108, surface.surface_p6 SmSurface::CalculateContinuities x3 via the surface cache); surface_leaf matches upstream SE on degenerate patches (2 fixtures); SmSurface::EvaluateNormalSection wired to surface.surface_p3 (no case reaches it yet past the deferrals); UNPORTED stubs also for SmFace::PointClassify (query.face_p2), poly types (query.poly); CO-PORTED in intersect.ray_tracer (PR #48): SmSurfaceGridElement data members -> geom::grid::SurfaceGridElement (+ Grid::add_surface_element), SmRayRenderer/SmLightSource -> intersect::ray_tracer; 13 fns; largest: SmLSI3LocalSolver::LocalSolve, SmRayTracer::FireRay, sm_FindAdditionalTangentGuess, sm_FindPolyHit; cycle back-edges (call into later units; stub or co-port): query.poly(7), topology.topology(2), query.face_p2(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit Re-run (PR #118, LocalLineIntersect wired by surface.surface_p8): 421 cases, 415 pass, 6 deferred (surface.surface_p2). LocalSolve sets the solution node marker as upstream does.
Difftest
- Cases
- 421
- Passed
- 415
- Deferred
- 6
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
surface.surface_p2 partial | 6 |
Report JSON (per-case results)
Dependencies
Depends on: geom.context green geom.extent1d green geom.extent2d green geom.extent3d green geom.geom_utility_p1 green geom.grid partial geom.object partial geom.pseudo_box green geom.vector2d green geom.vector3d green intersect.point_class partial surface.surface_p2 partial
Soft dependencies: curve.curve_p2 green curve.line green geom.polar_box green geom.solution_array partial geom.tol green geom.tree partial surface.surface_cache_p3 partial surface.surface_p1 partial surface.surface_p3 green surface.surface_p7 partial surface.surface_p8 partial
Dependents: blend.hcr claimed
Soft dependents: none
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmLightSource::~SmLightSource | SmRayTracer.h:68 | 1 | Drop (implicit) |
SmRayTracer::SetSolverTolerance | SmRayTracer.h:166 | 1 | [RayTracer::set_solver_tolerance] |
sm_LinePlaneIntersect | SmRayTracer.cpp:54 | 28 | line_plane_intersect (private) |
SmRayRenderer::~SmRayRenderer | SmRayTracer.cpp:114 | 15 | Drop (implicit) |
sm_IsPointValid | SmRayTracer.cpp:435 | 51 | is_point_valid (private) |
sm_ConvertToParameterDelta | SmRayTracer.cpp:541 | 11 | convert_to_parameter_delta (private) |
sm_FindAdditionalTangentGuess | SmRayTracer.cpp:558 | 201 | find_additional_tangent_guess (private) |
SmRayTracer::SmRayTracer | SmRayTracer.cpp:768 | 19 | [RayTracer], [RayTracer::new] |
SmRayTracer::~SmRayTracer | SmRayTracer.cpp:793 | 6 | Drop (implicit) |
SmLSI3LocalSolver::LocalSolve | SmRayTracer.cpp:841 | 386 | [Lsi3LocalSolver::local_solve], [LocalSolveResult] |
sm_FindPolyHit | SmRayTracer.cpp:1234 | 90 | find_poly_hit (private) |
SmRayTracer::FireRay | SmRayTracer.cpp:1332 | 369 | [RayTracer::fire_ray], [RayHit] |
SmRayTracer::AddSurfaceToGrid | SmRayTracer.cpp:1711 | 68 | [RayTracer::add_surface_to_grid], [RayTracer::add_surface_with_bbox] |
Module file-header table (21 rows)
| Rust | Upstream |
|---|---|
[LightSource], [LightSource::new] | SmLightSource, its constructor |
Drop (implicit) | ~SmLightSource |
[Lsi3LocalSolver], [Lsi3LocalSolver::new] | SmLSI3LocalSolver, its constructors |
[Lsi3LocalSolver::local_solve], [LocalSolveResult] | SmLSI3LocalSolver::LocalSolve |
[RayTracer], [RayTracer::new] | SmRayTracer, SmRayTracer::SmRayTracer |
Drop (implicit) | ~SmRayTracer |
[RayTracer::set_solver_tolerance] | SmRayTracer::SetSolverTolerance |
[RayTracer::fire_ray], [RayHit] | SmRayTracer::FireRay |
[RayTracer::add_surface_to_grid], [RayTracer::add_surface_with_bbox] | SmRayTracer::AddSurfaceToGrid |
[RayTracer::add_poly_brep_to_grid] | SmRayTracer::AddPolyBrepToGrid |
[RayRenderer], [RayRenderer::new] | SmRayRenderer, SmRayRenderer::SmRayRenderer |
Drop (implicit) | ~SmRayRenderer |
[RayRenderer::do_render], [RayRenderer::render_pixel], [RayRenderer::render_ray] | SmRayRenderer::DoRender, RenderPixel, RenderRay |
[RayRenderer::set_sample_rate], [RayRenderer::add_light_source], [RayRenderer::pixels_shaded] | SetSampleRate, AddLightSource, GetPixelsShaded |
[RayObject] | the SmObject* of SmSolution::m_apObjects |
[surface_leaf] | SmSurfaceGridElement::Init (the part after the Bezier patch data) |
line_plane_intersect (private) | sm_LinePlaneIntersect |
is_point_valid (private) | sm_IsPointValid |
convert_to_parameter_delta (private) | sm_ConvertToParameterDelta |
find_additional_tangent_guess (private) | sm_FindAdditionalTangentGuess |
find_poly_hit (private) | sm_FindPolyHit |
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