solidcore

Units / surface

surface.twist_volume green

Layer
16
Upstream lines
649
Functions
25
Rust module
surface::twist_volume

Source: crates/solidcore/src/surface/twist_volume.rs

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

Notes

difftest green: 1572 cases (default seeds), 1572 pass, 0 deferred (ReadFromDB wired by surface.volume_p2); max_rel_err 0; wiring dropped surface.volume_p1 deferred 99 -> 39. 25 fns; largest: SmTwistVolume::Evaluate, SmTwistVolume::EvaluateSimple, SmTwistVolume::EvaluateBoundingBoxSimple, SmTwistVolume::ReadFromDB; cycle back-edges (call into later units; stub or co-port): surface.volume_p2(1); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit

Difftest

Cases
1,572
Passed
1,572
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: geom.extent3d green geom.object partial geom.pseudo_box green geom.solution_array partial geom.vector3d green surface.volume_p1 green topology.database_io green

Soft dependencies: geom.extent1d green geom.tol green

Dependents: none

Soft dependents: surface.volume_p2 partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmTwistVolume::SmTwistVolumeSmTwistVolume.h:3454[TwistVolume]
SmTwistVolume::~SmTwistVolumeSmTwistVolume.h:3671Drop (implicit)
SmTwistVolume::GetNaturalParamDomainSmTwistVolume.h:4024[TwistVolume::natural_param_domain]
SmTwistVolume::GetTwistOriginSmTwistVolume.h:4111[Volume::twist_origin], [Volume::twist_axis], [Volume::twist_mid_dir], [Volume::twist_binormal]
SmTwistVolume::GetTwistAxisSmTwistVolume.h:4121[Volume::twist_origin], [Volume::twist_axis], [Volume::twist_mid_dir], [Volume::twist_binormal]
SmTwistVolume::GetTwistMidDirSmTwistVolume.h:4131[Volume::twist_origin], [Volume::twist_axis], [Volume::twist_mid_dir], [Volume::twist_binormal]
SmTwistVolume::GetTwistBinormalSmTwistVolume.h:4141[Volume::twist_origin], [Volume::twist_axis], [Volume::twist_mid_dir], [Volume::twist_binormal]
SmTwistVolume::GetClassStringSmTwistVolume.h:7581[TWIST_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends
SmTwistVolume::GetTypeSmTwistVolume.h:7581[TWIST_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends
SmTwistVolume::GetTypeStringSmTwistVolume.h:7581[TWIST_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends
SmTwistVolume::SmTwistVolumeSmTwistVolume.cpp:13210[TwistVolume]
SmTwistVolume::CopySmTwistVolume.cpp:14812[Volume::copy] (twist arm)
SmTwistVolume::operator==SmTwistVolume.cpp:18929[Volume::approx_eq] (twist arm), [TwistVolume::members_eq]
SmTwistVolume::EvaluateSmTwistVolume.cpp:772132[TwistVolume::evaluate]
SmTwistVolume::EvaluateSimpleSmTwistVolume.cpp:961125[TwistVolume::evaluate_simple]
SmTwistVolume::EvaluateBoundingBoxSimpleSmTwistVolume.cpp:1106122[TwistVolume::evaluate_bounding_box_simple]
SmTwistVolume::InvEvaluateGuessPointSimpleSmTwistVolume.cpp:164223[TwistVolume::inv_evaluate_guess_point_simple]
SmTwistVolume::GlobalPointSolveSimpleSmTwistVolume.cpp:167243[TwistVolume::global_point_solve_simple]
SmTwistVolume::LocalPointSolveSimpleSmTwistVolume.cpp:172247[TwistVolume::local_point_solve_simple]
SmTwistVolume::IsBoundedSimpleSmTwistVolume.cpp:17776[TwistVolume::is_bounded_simple]
SmTwistVolume::IsPointInParamDomainSimpleSmTwistVolume.cpp:19129[TwistVolume::is_point_in_param_domain_simple]
SmTwistVolume::IsLineInParamDomainSimpleSmTwistVolume.cpp:196612[TwistVolume::is_line_in_param_domain_simple]
SmTwistVolume::IsCurveInParamDomainSimpleSmTwistVolume.cpp:199111[TwistVolume::is_curve_in_param_domain_simple]
SmTwistVolume::ReadFromDBSmTwistVolume.cpp:207048[TwistVolume::read_from_db]
SmTwistVolume::IsKindOfSmTwistVolume.cpp:25544[TWIST_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friends
Module file-header table (21 rows)
RustUpstream
[TwistVolume]SmTwistVolume (members m_dTwistPeriodDist, m_dPeriodMinDist)
[TwistVolume::new], DefaultSmTwistVolume(const SmContext*)
[TwistVolume::create]SmTwistVolume(crContext, Origin, Axis, MidDir, PeriodDist, PeriodMinDist)
[Volume::copy] (twist arm)SmTwistVolume(const SmTwistVolume&, SmBoolean), Copy
Drop (implicit)~SmTwistVolume
[Volume::approx_eq] (twist arm), [TwistVolume::members_eq]operator==
[TwistVolume::natural_param_domain]GetNaturalParamDomain
[Volume::twist_origin], [Volume::twist_axis], [Volume::twist_mid_dir], [Volume::twist_binormal]GetTwistOrigin, GetTwistAxis, GetTwistMidDir, GetTwistBinormal
[TwistVolume::twist_period_dist], [TwistVolume::period_min_dist]m_dTwistPeriodDist, m_dPeriodMinDist (GetTwistPeriodDist, GetPeriodMinDist)
[TwistVolume::evaluate]Evaluate
[TwistVolume::evaluate_simple]EvaluateSimple
[TwistVolume::evaluate_bounding_box_simple]EvaluateBoundingBoxSimple
[TwistVolume::inv_evaluate_guess_point_simple]InvEvaluateGuessPointSimple
[TwistVolume::global_point_solve_simple]GlobalPointSolveSimple
[TwistVolume::local_point_solve_simple]LocalPointSolveSimple
[TwistVolume::is_bounded_simple]IsBoundedSimple
[TwistVolume::is_point_in_param_domain_simple]IsPointInParamDomainSimple
[TwistVolume::is_line_in_param_domain_simple]IsLineInParamDomainSimple
[TwistVolume::is_curve_in_param_domain_simple]IsCurveInParamDomainSimple
[TwistVolume::read_from_db]ReadFromDB
[TWIST_VOLUME_TYPE], [is_kind_of], [Volume::type_code] and friendsGetType, GetTypeString, GetClassString (SM_COMMON), 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