solidcore

Units / surface

surface.volume_p1 green

Layer
15
Upstream lines
2,014
Functions
63
Rust module
surface::volume::p1

Source: crates/solidcore/src/surface/volume/p1.rs

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

Notes

63 fns; largest: smvol_LiftThirdDerivative, SmFindPVIntersectENFO::Evaluate, SmVolume::Map, SmVolume::Evaluate; cycle back-edges (call into later units; stub or co-port): surface.b_spline_volume(2), surface.bend_volume(2), surface.twist_volume(2), surface.unbend_volume(2); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit; difftest partial: 2886 cases (886 fixtures + 2000 generated), 2884 pass, 2 deferred (surface.surface_p8 2: the unbend IsCurveInParamDomainSimple; twist and unbend wired by their units), max_rel_err 0; 20k-seed run clean; --perturb SENSITIVE; wired: curve.crv_in_volume (deferred 604 -> 208), geom.transform (256 -> 3), geom.tol GetScaledZero(SmVolume); geom.solution_array volume stub stays (opaque handle) Re-run after wiring PR #118 (surface.surface_p8 and its back-edges, GlobalPointSolve_0 included): 2886 cases, 2886 pass, 0 deferred, 0 failed, max_rel_err 0; green.

Difftest

Cases
2,886
Passed
2,886
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.a_object partial geom.extent3d green geom.matrix green geom.object partial geom.transform green geom.vector3d green

Soft dependencies: curve.crv_in_volume partial curve.line green geom.axis2_placement green geom.context green geom.geom_utility_p1 green

Dependents: intersect.curve_class_p8 partial surface.b_spline_volume green surface.b_spline_volume_n_lib partial surface.bend_volume green surface.srf_in_volume partial surface.twist_volume green surface.unbend_volume green surface.volume_p2 partial

Soft dependents: intersect.point_class partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmVolume::SmVolumeSmVolume.h:54911[Volume], [VolumeKind]
SmVolume::CopySmVolume.h:58012[Volume::copy]
SmVolume::GetLastMapSmVolume.h:6145[Volume::last_map], [Volume::next_map]
SmVolume::GetOrientMapSmVolume.h:6201[Volume::orient_map], [Volume::inv_orient_map]
SmVolume::GetInvOrientMapSmVolume.h:6251[Volume::orient_map], [Volume::inv_orient_map]
SmVolume::SetOwnerSmVolume.h:6276[Volume::owner], [Volume::set_owner]
SmVolume::GetNaturalParamDomainSmVolume.h:6901[Volume::natural_param_domain]
SmVolume::OrientVectorSmVolume.h:149015[Volume::orient_vector]
SmVolume::EvaluateSimpleSmVolume.h:192044[Volume::evaluate_simple]
SmVolume::InvEvaluateGuessPointSimpleSmVolume.h:206810[Volume::inv_evaluate_guess_point_simple]
SmVolume::IsBoundedSimpleSmVolume.h:21611[Volume::is_bounded_simple]
SmVolume::IsPointInParamDomainSimpleSmVolume.h:22075[Volume::is_point_in_param_domain_simple]
SmVolume::IsLineInParamDomainSimpleSmVolume.h:223312[Volume::is_line_in_param_domain_simple]
SmVolume::IsCurveInParamDomainSimpleSmVolume.h:22656[Volume::is_curve_in_param_domain_simple]
SmVolume::GetClassStringSmVolume.h:23631[Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE]
SmVolume::GetTypeSmVolume.h:23631[Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE]
SmVolume::GetTypeStringSmVolume.h:23631[Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE]
SmDiscontinuities3d::SmDiscontinuities3dSmVolume.h:25891[Discontinuities3d]
SmDiscontinuities3d::InitSmVolume.h:25986[Discontinuities3d]
SmDiscontinuities3d::SetUnalignedSmVolume.h:26066[Discontinuities3d]
SmDiscontinuities3d::~SmDiscontinuities3dSmVolume.h:26141
SmVolume::SmVolumeSmVolume.cpp:15381[Volume], [VolumeKind]
SmVolume::~SmVolumeSmVolume.cpp:3249Drop (implicit)
SmVolume::operator==SmVolume.cpp:34029[Volume::approx_eq]
SmVolume::GetOrientOriginSmVolume.cpp:37510[Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis]
SmVolume::GetOrientXAxisSmVolume.cpp:3919[Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis]
SmVolume::GetOrientYAxisSmVolume.cpp:4069[Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis]
SmVolume::GetOrientZAxisSmVolume.cpp:4219[Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis]
SmVolume::AddNextMapSmVolume.cpp:50454[Volume::add_next_map]
SmVolume::RefreshInvOrientMapSmVolume.cpp:63430[Volume::refresh_inv_orient_map]
SmVolume::MakeMapSimpleSmVolume.cpp:67127[Volume::make_map_simple]
SmVolume::IsPointInInSpaceDomainSmVolume.cpp:95230[Volume::is_point_in_in_space_domain]
SmVolume::IsLineInParamDomainSmVolume.cpp:105137[Volume::is_line_in_param_domain]
SmVolume::IsCurveInParamDomainSmVolume.cpp:149730[Volume::is_curve_in_param_domain]
SmVolume::IsCurveInInSpaceDomainSmVolume.cpp:153826[Volume::is_curve_in_in_space_domain]
SmVolume::EvaluateSmVolume.cpp:3154102[Volume::evaluate]
SmVolume::MapSmVolume.cpp:3649109[Volume::map], [Volume::map_point]
SmVolume::MapPointSmVolume.cpp:376413[Volume::map], [Volume::map_point]
SmVolume::OrientSmVolume.cpp:418089[Volume::orient], [Volume::orient_point]
SmVolume::OrientPointSmVolume.cpp:427621[Volume::orient], [Volume::orient_point]
SmVolume::OrientDirectionalDerivsSmVolume.cpp:440230[Volume::orient_directional_derivs]
SmFindPVIntersectENFO::SmFindPVIntersectENFOSmVolume.cpp:47507[FindPvIntersect]
SmFindPVIntersectENFO::~SmFindPVIntersectENFOSmVolume.cpp:47571
SmFindPVIntersectENFO::EvaluateSmVolume.cpp:4774143[Volume::evaluate]
SmVolume::TransformSmVolume.cpp:516930[Volume::transform]
SmVolume::IsBoundedSmVolume.cpp:52057[Volume::is_bounded]
SmVolume::NotifySmVolume.cpp:571446[notify]
SmVolume::EvaluatePointSimpleSmVolume.cpp:65279[Volume::evaluate_point_simple]
SmVolume::Evaluate1stDerivativesSimpleSmVolume.cpp:654226[Volume::evaluate_1st_derivatives_simple]
SmVolume::TrimParamBoundingBoxSimpleSmVolume.cpp:704533[Volume::trim_param_bounding_box_simple]
SmVolume::TransformSimpleSmVolume.cpp:730020[Volume::transform_simple]
SmVolume::HasDiscontinuitiesSimpleSmVolume.cpp:734516[Volume::has_discontinuities_simple]
SmVolume::IsKindOfSmVolume.cpp:82334[Volume::is_kind_of], [is_kind_of]
smvol_LiftFirstDerivativeSmVolume.cpp:963813
smvol_LiftSecondDerivativeSmVolume.cpp:965927
smvol_LiftThirdDerivativeSmVolume.cpp:969452
smvol_LiftFirstDerivativeSmVolume.cpp:975620
smvol_LiftSecondDerivativeSmVolume.cpp:978654
smvol_LiftThirdDerivativeSmVolume.cpp:9851125
smvol_LiftFirstDerivativeSmVolume.cpp:998726
smvol_LiftSecondDerivativeSmVolume.cpp:1002491
smvol_LiftThirdDerivativeSmVolume.cpp:10126276
smvol_ConcatEvalsSmVolume.cpp:1041487[concat_evals]
Module file-header table (46 rows)
RustUpstream
[Volume], [VolumeKind]SmVolume and its derived classes
[Volume::new]SmVolume(const SmContext*)
[Volume::copy_from], CloneSmVolume(const SmVolume&, SmBoolean)
[Volume::copy]Copy (virtual)
Drop (implicit)~SmVolume
[Volume::approx_eq]operator==
[Volume::last_map], [Volume::next_map]GetLastMap, m_pNextMap
[Volume::orient_map], [Volume::inv_orient_map]GetOrientMap, GetInvOrientMap
[Volume::owner], [Volume::set_owner]m_pOwner, SetOwner
[Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis]GetOrientOrigin, GetOrientXAxis, GetOrientYAxis, GetOrientZAxis
[Volume::add_next_map]AddNextMap
[Volume::refresh_inv_orient_map]RefreshInvOrientMap
[Volume::make_map_simple]MakeMapSimple
[Volume::natural_param_domain]GetNaturalParamDomain (virtual)
[Volume::is_point_in_in_space_domain]IsPointInInSpaceDomain
[Volume::is_line_in_param_domain]IsLineInParamDomain
[Volume::is_curve_in_param_domain]IsCurveInParamDomain
[Volume::is_curve_in_in_space_domain]IsCurveInInSpaceDomain
[Volume::evaluate]Evaluate (virtual)
[Volume::map], [Volume::map_point]Map, MapPoint
[Volume::orient], [Volume::orient_point]Orient, OrientPoint
[Volume::orient_vector]OrientVector
[Volume::orient_directional_derivs]OrientDirectionalDerivs
[Volume::transform]Transform
[Volume::is_bounded]IsBounded
[notify]Notify
[Volume::evaluate_simple]EvaluateSimple (virtual)
[Volume::evaluate_point_simple]EvaluatePointSimple
[Volume::evaluate_1st_derivatives_simple]Evaluate1stDerivativesSimple
[Volume::inv_evaluate_guess_point_simple]InvEvaluateGuessPointSimple (virtual)
[Volume::is_bounded_simple]IsBoundedSimple (virtual)
[Volume::is_point_in_param_domain_simple]IsPointInParamDomainSimple (virtual)
[Volume::is_line_in_param_domain_simple]IsLineInParamDomainSimple (virtual)
[Volume::is_curve_in_param_domain_simple]IsCurveInParamDomainSimple (virtual)
[Volume::trim_param_bounding_box_simple]TrimParamBoundingBoxSimple (virtual)
[Volume::transform_simple]TransformSimple (virtual)
[Volume::has_discontinuities_simple]HasDiscontinuitiesSimple (virtual)
[Volume::calculate_continuities_simple]CalculateContinuitiesSimple (virtual)
[Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE]GetType, GetTypeString, GetClassString (SM_COMMON)
[Volume::is_kind_of], [is_kind_of]IsKindOf
[Discontinuities3d]SmDiscontinuities3d (constructor, Init, SetUnaligned, destructor)
[FindPvIntersect]SmFindPVIntersectENFO (constructor, Evaluate)
[lift_first_derivative], [lift_second_derivative], [lift_third_derivative]smvol_Lift*Derivative (curve forms)
[lift_first_derivative_srf], [lift_second_derivative_srf], [lift_third_derivative_srf]smvol_Lift*Derivative (surface forms)
[lift_first_derivative_vol], [lift_second_derivative_vol], [lift_third_derivative_vol]smvol_Lift*Derivative (volume forms)
[concat_evals]smvol_ConcatEvals

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