Units / surface
surface.torus green
- Layer
- 24
- Upstream lines
- 1,180
- Functions
- 21
- Rust module
surface::torus
Source: crates/solidcore/src/surface/torus.rs
Upstream: source/SMLib/inc/SmTorus.h, source/SMLib/src/SmTorus.cpp
Notes
GREEN (merge of PR #29): 563 cases, 563 pass bit-identical, 0 deferred (SmSurfOfRevolution::Transform / ::ReadFromDB wired to surface.surf_of_revolution_p3; Surface::read_from_db still cannot hold a torus: DISPATCH GAP, no SurfaceKind variant). Was PARTIAL (PR #23): difftest 563 cases (63 fixture: TestSmGeneral torus STEP derivatives, smSurfaceTest analytic torus, smTopoTest torus, SmApiCreateTorus radii, swap/inside-out/partial-domain/explicit-generator edges; + 500 generated) over CreateCanonical, EvaluateSTEP(Point), ConvertUVFromSTEPToNURBS/NURBSToSTEP, CreateIsoParametricCurve, CreateOffsetSurface (+rebuild), RebuildSTEPFromNURBParameters, Transform, operator==, Copy; 545 pass bit-identical, 18 deferred (surface.surf_of_revolution_p3: SmSurfOfRevolution::Transform). ReadFromDB is ported up to SmSurfOfRevolution::ReadFromDB (unported; unit test only). SurfOfRevolution::make_nurb_with_sweep_params_using / rebuild_polar_converter take the iso-curve maker so the torus override is used (upstream virtual CreateIsoParametricCurve). 21 fns; cycle back-edges: surface.surf_of_revolution_p3(2), surface.surf_of_revolution_p2(1)
Difftest
- Cases
- 563
- Passed
- 563
- Deferred
- 0
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
Nothing: no deferred cases.
Report JSON (per-case results)
Dependencies
Depends on: curve.ellipse_p1 green curve.ellipse_p2 green geom.axis2_placement green geom.extent1d green geom.extent2d green geom.object partial geom.tol green geom.vector2d green geom.vector3d green nurbs.b_spline_curve_p1 green nurbs.b_spline_surface_n_lib_p1 green nurbs.b_spline_surface_p1 green nurbs.b_spline_surface_p2 partial surface.surf_of_revolution_p1 green surface.surface_p2 partial topology.database_io green
Soft dependencies: curve.curve_p2 green geom.geom_utility_p1 green nurbs.b_spline_curve_p2 green
Dependents: none
Soft dependents: primitive.api_primitives claimed primitive.primitive_creation_p1 claimed surface.surface_p1 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmTorus::SmTorus | SmTorus.h:117 | 1 | [Torus], [Torus::new], [TorusOptions] |
SmTorus::~SmTorus | SmTorus.h:141 | 1 | Drop (implicit) |
SmTorus::GetMaxAnalyticDomain | SmTorus.h:263 | 4 | [Torus::max_analytic_domain] |
SmTorus::GetClassString | SmTorus.h:328 | 1 | [Torus::is_kind_of], [Torus::TYPE], [Torus::type_code], [Torus::type_string], [Torus::class_string] |
SmTorus::GetType | SmTorus.h:328 | 1 | [Torus::is_kind_of], [Torus::TYPE], [Torus::type_code], [Torus::type_string], [Torus::class_string] |
SmTorus::GetTypeString | SmTorus.h:328 | 1 | [Torus::is_kind_of], [Torus::TYPE], [Torus::type_code], [Torus::type_string], [Torus::class_string] |
SmTorus::SmTorus | SmTorus.cpp:31 | 72 | [Torus], [Torus::new], [TorusOptions] |
SmTorus::SmTorus | SmTorus.cpp:109 | 8 | [Torus], [Torus::new], [TorusOptions] |
SmTorus::operator== | SmTorus.cpp:124 | 25 | [Torus::approx_eq] |
SmTorus::Copy | SmTorus.cpp:155 | 11 | Clone, [Torus::copy] |
SmTorus::CreateCanonical | SmTorus.cpp:172 | 53 | [Torus::create_canonical] |
SmTorus::CreateOffsetSurface | SmTorus.cpp:240 | 198 | [Torus::create_offset_surface] |
SmTorus::ConvertUVFromSTEPToNURBS | SmTorus.cpp:445 | 106 | [Torus::convert_uv_from_step_to_nurbs] |
SmTorus::ConvertUVFromNURBSToSTEP | SmTorus.cpp:558 | 44 | [Torus::convert_uv_from_nurbs_to_step] |
SmTorus::EvaluateSTEP | SmTorus.cpp:618 | 135 | [Torus::evaluate_step], [Torus::evaluate_step_point] |
SmTorus::EvaluateSTEPPoint | SmTorus.cpp:769 | 9 | [Torus::evaluate_step], [Torus::evaluate_step_point] |
SmTorus::CreateIsoParametricCurve | SmTorus.cpp:794 | 171 | [Torus::create_iso_parametric_curve] |
SmTorus::RebuildSTEPFromNURBParameters | SmTorus.cpp:1270 | 249 | [Torus::rebuild_step_from_nurb_parameters] |
SmTorus::Transform | SmTorus.cpp:1555 | 42 | [Torus::transform] |
SmTorus::ReadFromDB | SmTorus.cpp:1843 | 44 | [Torus::read_from_db] |
SmTorus::IsKindOf | SmTorus.cpp:1892 | 4 | [Torus::is_kind_of], [Torus::TYPE], [Torus::type_code], [Torus::type_string], [Torus::class_string] |
Module file-header table (18 rows)
| Rust | Upstream |
|---|---|
[Torus], [Torus::new], [TorusOptions] | SmTorus, SmTorus(crOrigin, crXAxis, crYAxis, crAnalUVDomain, ..) |
[Torus::empty] | SmTorus() |
Clone, [Torus::copy] | SmTorus(const SmTorus&), Copy |
Drop (implicit) | ~SmTorus |
[Torus::approx_eq] | operator== |
[Torus::create_canonical] | CreateCanonical |
[Torus::make_nurb] | SmSurfOfRevolution::MakeNurb on a torus (virtual iso curves) |
[Torus::create_offset_surface] | CreateOffsetSurface |
[Torus::convert_uv_from_step_to_nurbs] | ConvertUVFromSTEPToNURBS |
[Torus::convert_uv_from_nurbs_to_step] | ConvertUVFromNURBSToSTEP |
[Torus::evaluate_step], [Torus::evaluate_step_point] | EvaluateSTEP, EvaluateSTEPPoint |
[Torus::create_iso_parametric_curve] | CreateIsoParametricCurve |
[Torus::rebuild_step_from_nurb_parameters] | RebuildSTEPFromNURBParameters |
[Torus::transform] | Transform |
[Torus::read_from_db] | ReadFromDB |
[Torus::max_analytic_domain] | GetMaxAnalyticDomain |
[Torus::is_kind_of], [Torus::TYPE], [Torus::type_code], [Torus::type_string], [Torus::class_string] | IsKindOf, GetType, GetTypeString, GetClassString (SM_COMMON) |
[Torus::inside_out], [Torus::major_radius], [Torus::minor_radius] | GetInsideOut, GetMajorRadius, GetMinorRadius (inline) |
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