solidcore

Units / curve

curve.conic green

Layer
14
Upstream lines
859
Functions
19
Rust module
curve::conic

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

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

Notes

difftest green: 3240 cases (240 fixture incl. all 15 smCurveTest.cpp IntersectConic asserts + 3000 generated), 0 deferred; wired SmCurve::ReadFromDB(SmConic_TYPE) and CurveKind::Conic into curve.curve_p2 (still partial: curve_p5, curve.line). 19 fns; largest: SmConic::Evaluate, SmConic::InvertPointOnConic, SmConic::IntersectConic, SmConic::IntersectImplicitConic; cycle back-edges (call into later units; stub or co-port): curve.curve_p5(2); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit

Difftest

Cases
3,240
Passed
3,240
Deferred
0
Failed
0
Both errored
31
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.solution_array partial geom.vector2d green geom.vector3d green topology.database_io green

Soft dependencies: geom.polynomial green geom.tol green

Dependents: intersect.adv_surface_intersector partial

Soft dependents: curve.curve_p5 partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmConic::SmConicSmConic.h:688[Conic]
SmConic::~SmConicSmConic.h:781Drop (implicit)
SmConic::GetNaturalIntervalSmConic.h:887[Conic::natural_interval]
SmConic::GetClassStringSmConic.h:1691[Conic::TYPE], [Conic::type_code], [Conic::type_string], [Conic::class_string]
SmConic::GetTypeSmConic.h:1691[Conic::TYPE], [Conic::type_code], [Conic::type_string], [Conic::class_string]
SmConic::GetTypeStringSmConic.h:1691[Conic::TYPE], [Conic::type_code], [Conic::type_string], [Conic::class_string]
SmConic::SmConicSmConic.h:17815[Conic]
SmConic::operator==SmConic.cpp:2027[Conic::approx_eq]
SmConic::CalculateContinuitiesSmConic.cpp:5419[Conic::calculate_continuities]
SmConic::GetKnotsSmConic.cpp:8137[Conic::knots]
SmConic::EvaluateSmConic.cpp:125157[Conic::evaluate]
SmConic::EvaluatePointSmConic.cpp:29164[Conic::evaluate_point]
SmConic::ComputeImplicitEquationSmConic.cpp:36191[Conic::compute_implicit_equation]
SmConic::IntersectImplicitConicSmConic.cpp:46193[Conic::intersect_implicit_conic]
SmConic::IntersectConicSmConic.cpp:564125[Conic::intersect_conic], [ConicIntersection]
SmConic::InvertPointOnConicSmConic.cpp:699132[Conic::invert_point_on_conic]
SmConic::Transform2DSmConic.cpp:84017[Conic::transform_2d]
SmConic::ReadFromDBSmConic.cpp:90559[Conic::read_from_db]
SmConic::IsKindOfSmConic.cpp:9694[Conic::is_kind_of]
Module file-header table (19 rows)
RustUpstream
[ConicType]SmConicType
[Conic]SmConic
[Conic::new]SmConic(SmConicType, double, double)
[Conic::empty], DefaultSmConic()
Drop (implicit)SmConic::~SmConic
[Conic::approx_eq]SmConic::operator==
[Conic::calculate_continuities]SmConic::CalculateContinuities
[Conic::natural_interval]SmConic::GetNaturalInterval
[Conic::knots]SmConic::GetKnots
[Conic::evaluate]SmConic::Evaluate
[Conic::evaluate_point]SmConic::EvaluatePoint
[Conic::compute_implicit_equation]SmConic::ComputeImplicitEquation
[Conic::intersect_implicit_conic]SmConic::IntersectImplicitConic
[Conic::intersect_conic], [ConicIntersection]SmConic::IntersectConic
[Conic::invert_point_on_conic]SmConic::InvertPointOnConic
[Conic::transform_2d]SmConic::Transform2D
[Conic::read_from_db]SmConic::ReadFromDB
[Conic::TYPE], [Conic::type_code], [Conic::type_string], [Conic::class_string]GetType, GetTypeString, GetClassString (SM_COMMON)
[Conic::is_kind_of]SmConic::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