solidcore

Units / curve

curve.offset_curve green

Layer
14
Upstream lines
492
Functions
20
Rust module
curve::offset_curve

Source: crates/solidcore/src/curve/offset_curve.rs

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

Notes

20 fns; largest: SmOffsetCurve::Evaluate, SmOffsetCurve::ReadFromDB, SmOffsetCurve::EvaluatePoint, SmOffsetCurve::Trim; cycle back-edges (call into later units; stub or co-port): curve.curve_p5(3); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit; GREEN: difftest 2808 cases (808 fixture: TestSmOffsetCurve curve/line/vertical-line offsets, smTopoTest nested zero offsets, rational arc cusp, parabola evolute, degenerate ends, Hermite bases, reversed/trimmed/copied/compared curves, ReadFromDB ASCII+binary streams from upstream WriteToDB + 2000 generated), 0 deferred, bit-identical (max_rel_err 0); --perturb SENSITIVE. Wired: SmCurve::ReadFromDB(SmOffsetCurve_TYPE); CreateSimpleOffset now defers on SmCurve::ApproximateCurve (curve.curve_p1)

Difftest

Cases
2,808
Passed
2,808
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.curve_p2 green geom.extent1d green geom.object partial geom.vector3d green topology.database_io green

Soft dependencies: geom.tol green

Dependents: curve.composite_curve_p2 green

Soft dependents: curve.curve_p5 partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmOffsetCurve::SmOffsetCurveSmOffsetCurve.h:531[OffsetCurve]
SmOffsetCurve::~SmOffsetCurveSmOffsetCurve.h:641Drop (implicit)
SmOffsetCurve::GetNaturalIntervalSmOffsetCurve.h:881[OffsetCurve::natural_interval]
SmOffsetCurve::SetContextSmOffsetCurve.h:1022[OffsetCurve::set_context]
SmOffsetCurve::CalculateContinuitiesSmOffsetCurve.h:1067[OffsetCurve::calculate_continuities]
SmOffsetCurve::GetClassStringSmOffsetCurve.h:1501[OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string]
SmOffsetCurve::GetTypeSmOffsetCurve.h:1501[OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string]
SmOffsetCurve::GetTypeStringSmOffsetCurve.h:1501[OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string]
SmOffsetCurve::SmOffsetCurveSmOffsetCurve.cpp:2323[OffsetCurve]
SmOffsetCurve::SmOffsetCurveSmOffsetCurve.cpp:5324[OffsetCurve]
SmOffsetCurve::operator==SmOffsetCurve.cpp:8430[OffsetCurve::approx_eq]
SmOffsetCurve::CopySmOffsetCurve.cpp:12010[OffsetCurve::copy], Clone
SmOffsetCurve::EvaluateSmOffsetCurve.cpp:141187[OffsetCurve::evaluate]
SmOffsetCurve::EvaluatePointSmOffsetCurve.cpp:33753[OffsetCurve::evaluate_point]
SmOffsetCurve::GetKnotsSmOffsetCurve.cpp:40010[OffsetCurve::knots]
SmOffsetCurve::GetNumberNaturalKnotsSmOffsetCurve.cpp:4196[OffsetCurve::number_natural_knots]
SmOffsetCurve::ReverseParameterizationSmOffsetCurve.cpp:43524[OffsetCurve::reverse_parameterization]
SmOffsetCurve::TrimSmOffsetCurve.cpp:46735[OffsetCurve::trim]
SmOffsetCurve::ReadFromDBSmOffsetCurve.cpp:56771[OffsetCurve::read_from_db]
SmOffsetCurve::IsKindOfSmOffsetCurve.cpp:6434[OffsetCurve::is_kind_of]
Module file-header table (18 rows)
RustUpstream
[OffsetCurve]SmOffsetCurve
[OffsetCurve::new]SmOffsetCurve(ULONG, const SmCurve&, const SmExtent1d&, const SmVector3d&, double, SmBoolean)
[OffsetCurve::empty]SmOffsetCurve() (the empty I/O constructor)
[OffsetCurve::copy], CloneSmOffsetCurve(const SmOffsetCurve&), Copy
Drop (implicit)~SmOffsetCurve
[OffsetCurve::approx_eq]operator==
[OffsetCurve::evaluate]Evaluate
[OffsetCurve::evaluate_point]EvaluatePoint
[OffsetCurve::natural_interval]GetNaturalInterval
[OffsetCurve::knots]GetKnots
[OffsetCurve::number_natural_knots]GetNumberNaturalKnots
[OffsetCurve::calculate_continuities]CalculateContinuities
[OffsetCurve::set_context]SetContext
[OffsetCurve::reverse_parameterization]ReverseParameterization
[OffsetCurve::trim]Trim
[OffsetCurve::read_from_db]ReadFromDB
[OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string]GetType, GetTypeString, GetClassString (SM_COMMON)
[OffsetCurve::is_kind_of]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