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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmOffsetCurve::SmOffsetCurve | SmOffsetCurve.h:53 | 1 | [OffsetCurve] |
SmOffsetCurve::~SmOffsetCurve | SmOffsetCurve.h:64 | 1 | Drop (implicit) |
SmOffsetCurve::GetNaturalInterval | SmOffsetCurve.h:88 | 1 | [OffsetCurve::natural_interval] |
SmOffsetCurve::SetContext | SmOffsetCurve.h:102 | 2 | [OffsetCurve::set_context] |
SmOffsetCurve::CalculateContinuities | SmOffsetCurve.h:106 | 7 | [OffsetCurve::calculate_continuities] |
SmOffsetCurve::GetClassString | SmOffsetCurve.h:150 | 1 | [OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string] |
SmOffsetCurve::GetType | SmOffsetCurve.h:150 | 1 | [OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string] |
SmOffsetCurve::GetTypeString | SmOffsetCurve.h:150 | 1 | [OffsetCurve::TYPE], [OffsetCurve::type_code], [OffsetCurve::type_string], [OffsetCurve::class_string] |
SmOffsetCurve::SmOffsetCurve | SmOffsetCurve.cpp:23 | 23 | [OffsetCurve] |
SmOffsetCurve::SmOffsetCurve | SmOffsetCurve.cpp:53 | 24 | [OffsetCurve] |
SmOffsetCurve::operator== | SmOffsetCurve.cpp:84 | 30 | [OffsetCurve::approx_eq] |
SmOffsetCurve::Copy | SmOffsetCurve.cpp:120 | 10 | [OffsetCurve::copy], Clone |
SmOffsetCurve::Evaluate | SmOffsetCurve.cpp:141 | 187 | [OffsetCurve::evaluate] |
SmOffsetCurve::EvaluatePoint | SmOffsetCurve.cpp:337 | 53 | [OffsetCurve::evaluate_point] |
SmOffsetCurve::GetKnots | SmOffsetCurve.cpp:400 | 10 | [OffsetCurve::knots] |
SmOffsetCurve::GetNumberNaturalKnots | SmOffsetCurve.cpp:419 | 6 | [OffsetCurve::number_natural_knots] |
SmOffsetCurve::ReverseParameterization | SmOffsetCurve.cpp:435 | 24 | [OffsetCurve::reverse_parameterization] |
SmOffsetCurve::Trim | SmOffsetCurve.cpp:467 | 35 | [OffsetCurve::trim] |
SmOffsetCurve::ReadFromDB | SmOffsetCurve.cpp:567 | 71 | [OffsetCurve::read_from_db] |
SmOffsetCurve::IsKindOf | SmOffsetCurve.cpp:643 | 4 | [OffsetCurve::is_kind_of] |
Module file-header table (18 rows)
| Rust | Upstream |
|---|---|
[OffsetCurve] | SmOffsetCurve |
[OffsetCurve::new] | SmOffsetCurve(ULONG, const SmCurve&, const SmExtent1d&, const SmVector3d&, double, SmBoolean) |
[OffsetCurve::empty] | SmOffsetCurve() (the empty I/O constructor) |
[OffsetCurve::copy], Clone | SmOffsetCurve(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