solidcore

Units / geom

geom.grid partial

Layer
4
Upstream lines
876
Functions
23
Rust module
geom::grid

Source: crates/solidcore/src/geom/grid.rs

Upstream: source/SMLib/inc/SmGrid.h, source/SMLib/src/SmGrid.cpp

Notes

CO-PORTED in intersect.ray_tracer (PR #48): PARTIAL: difftest 615 cases (15 fixture + 600 generated), 613 pass bit-identical, 2 deferred (surface.surface_cache_p3 1: SmSurfaceGridElement::Init needs the patch data of a bare tree node; surface.surface_p2 1: ExpandHierarchy via smsurf_GetSurfaceCache, a DISPATCH GAP (the element holds a handle, no store turns it into the Surface); retagged by surface.surface_cache_p1, then by surface.surface_p1 in PR #43); 30k-seed run clean; no UNPORTED(geom.grid) stubs existed. 23 fns; largest: SmGrid::Setup3DDDA, SmGrid::Step3DDDA, SmSurfaceHierarchyElement::ExpandHierarchy, SmGrid::AddElement; cycle back-edges (call into later units; stub or co-port): geom.extent2d(2), surface.surface_cache_p1(2), surface.surface_p2(2), geom.polar_box(1), geom.pseudo_box(1), surface.surface_cache_p3(1), surface.surface_p7(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit

Difftest

Cases
615
Passed
613
Deferred
2
Failed
0
Both errored
0
Max rel. error
0.0
Tolerance
1e-09 rel.
Seeds
16

Blocked by

Unported unitDeferred cases
surface.surface_cache_p1 green1
surface.surface_p2 partial1

Report JSON (per-case results)

Dependencies

Depends on: geom.extent3d green geom.object partial geom.vector3d green

Soft dependencies: geom.tree partial

Dependents: intersect.ray_tracer partial

Soft dependents: blend.hcr claimed

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmGridElement::GetTypeSmGrid.h:1301[GridElement::type_code]
SmPolygonGridElement::GetElementSmGrid.h:1961[GridItem]
SmPolygonGridElement::InitSmGrid.h:1974GridElement::polygon (private)
SmHierarchyGridElement::InitSmGrid.h:2314GridElement::hierarchy (private)
SmUserGridElement::InitSmGrid.h:2554GridElement::user (private)
SmHierarchyElement::SmHierarchyElementSmGrid.h:3003[HierarchyElement::new]
SmHierarchyElement::~SmHierarchyElementSmGrid.h:3041Drop (implicit)
SmSurfaceHierarchyElement::SmSurfaceHierarchyElementSmGrid.h:3335[HierarchyElement::new_surface]
SmSurfaceHierarchyElement::~SmSurfaceHierarchyElementSmGrid.h:3391Drop (implicit)
SmVoxel::InitSmGrid.h:3704[Voxel], Default
SmGrid::GetVoxelSmGrid.h:4804[Grid::voxel]
SmGrid::GetVoxelBBoxSmGrid.h:51311[Grid::voxel_bbox]
SmSurfaceHierarchyElement::ExpandHierarchySmGrid.cpp:4096[Grid::expand_hierarchy]
SmSurfaceGridElement::InitSmGrid.cpp:25243[Voxel], Default
SmGrid::SmGridSmGrid.cpp:30360[Grid], [Grid::new]
SmGrid::~SmGridSmGrid.cpp:36931Drop (implicit)
SmGrid::FindVoxelsInBoxSmGrid.cpp:40737[Grid::find_voxels_in_box]
SmGrid::AddHierarchyElementSmGrid.cpp:46740[Grid::add_hierarchy_element]
SmGrid::AddElementSmGrid.cpp:52567[Grid::add_element], [ElementSource]
SmGrid::Setup3DDDASmGrid.cpp:610203[Grid::setup_3ddda]
sm_InsertionSortSmGrid.cpp:82025insertion_sort (private)
SmGrid::Step3DDDASmGrid.cpp:881170[Grid::step_3ddda], [StepHits]
SmGrid::GetVoxelAddressSmGrid.cpp:114361[Grid::voxel_address]
Module file-header table (25 rows)
RustUpstream
[Grid], [Grid::new]SmGrid, SmGrid::SmGrid
Drop (implicit)SmGrid::~SmGrid
[Grid::voxel]SmGrid::GetVoxel
[Grid::voxel_bbox]SmGrid::GetVoxelBBox
[Grid::voxel_address]SmGrid::GetVoxelAddress
[Grid::find_voxels_in_box]SmGrid::FindVoxelsInBox
[Grid::add_element], [ElementSource]SmGrid::AddElement, SmGridElementType
[Grid::add_hierarchy_element]SmGrid::AddHierarchyElement
[Grid::expand_hierarchy]SmSurfaceHierarchyElement::ExpandHierarchy
[Grid::setup_3ddda]SmGrid::Setup3DDDA
AxisStep (private)one axis of SmGrid::Setup3DDDA
[Grid::step_3ddda], [StepHits]SmGrid::Step3DDDA
insertion_sort (private)sm_InsertionSort
[Dda]the 3DDDA scratch members of SmGrid
[Voxel], DefaultSmVoxel, SmVoxel::Init
[GridElement]SmGridElement
[GridElement::type_code]SmGridElement::GetType
[GridItem]the derived SmGridElement classes and their GetElement
GridElement::polygon (private)SmPolygonGridElement::Init
GridElement::hierarchy (private)SmHierarchyGridElement::Init
GridElement::user (private)SmUserGridElement::Init
[SurfaceGridElement]SmSurfaceGridElement (Init: see deviations)
[HierarchyElement::new]SmHierarchyElement::SmHierarchyElement
[HierarchyElement::new_surface]SmSurfaceHierarchyElement::SmSurfaceHierarchyElement
Drop (implicit)~SmHierarchyElement, ~SmSurfaceHierarchyElement

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