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 function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmVolume::SmVolume | SmVolume.h:549 | 11 | [Volume], [VolumeKind] |
SmVolume::Copy | SmVolume.h:580 | 12 | [Volume::copy] |
SmVolume::GetLastMap | SmVolume.h:614 | 5 | [Volume::last_map], [Volume::next_map] |
SmVolume::GetOrientMap | SmVolume.h:620 | 1 | [Volume::orient_map], [Volume::inv_orient_map] |
SmVolume::GetInvOrientMap | SmVolume.h:625 | 1 | [Volume::orient_map], [Volume::inv_orient_map] |
SmVolume::SetOwner | SmVolume.h:627 | 6 | [Volume::owner], [Volume::set_owner] |
SmVolume::GetNaturalParamDomain | SmVolume.h:690 | 1 | [Volume::natural_param_domain] |
SmVolume::OrientVector | SmVolume.h:1490 | 15 | [Volume::orient_vector] |
SmVolume::EvaluateSimple | SmVolume.h:1920 | 44 | [Volume::evaluate_simple] |
SmVolume::InvEvaluateGuessPointSimple | SmVolume.h:2068 | 10 | [Volume::inv_evaluate_guess_point_simple] |
SmVolume::IsBoundedSimple | SmVolume.h:2161 | 1 | [Volume::is_bounded_simple] |
SmVolume::IsPointInParamDomainSimple | SmVolume.h:2207 | 5 | [Volume::is_point_in_param_domain_simple] |
SmVolume::IsLineInParamDomainSimple | SmVolume.h:2233 | 12 | [Volume::is_line_in_param_domain_simple] |
SmVolume::IsCurveInParamDomainSimple | SmVolume.h:2265 | 6 | [Volume::is_curve_in_param_domain_simple] |
SmVolume::GetClassString | SmVolume.h:2363 | 1 | [Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE] |
SmVolume::GetType | SmVolume.h:2363 | 1 | [Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE] |
SmVolume::GetTypeString | SmVolume.h:2363 | 1 | [Volume::type_code], [Volume::type_string], [Volume::class_string], [VOLUME_TYPE] |
SmDiscontinuities3d::SmDiscontinuities3d | SmVolume.h:2589 | 1 | [Discontinuities3d] |
SmDiscontinuities3d::Init | SmVolume.h:2598 | 6 | [Discontinuities3d] |
SmDiscontinuities3d::SetUnaligned | SmVolume.h:2606 | 6 | [Discontinuities3d] |
SmDiscontinuities3d::~SmDiscontinuities3d | SmVolume.h:2614 | 1 | |
SmVolume::SmVolume | SmVolume.cpp:153 | 81 | [Volume], [VolumeKind] |
SmVolume::~SmVolume | SmVolume.cpp:324 | 9 | Drop (implicit) |
SmVolume::operator== | SmVolume.cpp:340 | 29 | [Volume::approx_eq] |
SmVolume::GetOrientOrigin | SmVolume.cpp:375 | 10 | [Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis] |
SmVolume::GetOrientXAxis | SmVolume.cpp:391 | 9 | [Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis] |
SmVolume::GetOrientYAxis | SmVolume.cpp:406 | 9 | [Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis] |
SmVolume::GetOrientZAxis | SmVolume.cpp:421 | 9 | [Volume::orient_origin], [Volume::orient_x_axis], [Volume::orient_y_axis], [Volume::orient_z_axis] |
SmVolume::AddNextMap | SmVolume.cpp:504 | 54 | [Volume::add_next_map] |
SmVolume::RefreshInvOrientMap | SmVolume.cpp:634 | 30 | [Volume::refresh_inv_orient_map] |
SmVolume::MakeMapSimple | SmVolume.cpp:671 | 27 | [Volume::make_map_simple] |
SmVolume::IsPointInInSpaceDomain | SmVolume.cpp:952 | 30 | [Volume::is_point_in_in_space_domain] |
SmVolume::IsLineInParamDomain | SmVolume.cpp:1051 | 37 | [Volume::is_line_in_param_domain] |
SmVolume::IsCurveInParamDomain | SmVolume.cpp:1497 | 30 | [Volume::is_curve_in_param_domain] |
SmVolume::IsCurveInInSpaceDomain | SmVolume.cpp:1538 | 26 | [Volume::is_curve_in_in_space_domain] |
SmVolume::Evaluate | SmVolume.cpp:3154 | 102 | [Volume::evaluate] |
SmVolume::Map | SmVolume.cpp:3649 | 109 | [Volume::map], [Volume::map_point] |
SmVolume::MapPoint | SmVolume.cpp:3764 | 13 | [Volume::map], [Volume::map_point] |
SmVolume::Orient | SmVolume.cpp:4180 | 89 | [Volume::orient], [Volume::orient_point] |
SmVolume::OrientPoint | SmVolume.cpp:4276 | 21 | [Volume::orient], [Volume::orient_point] |
SmVolume::OrientDirectionalDerivs | SmVolume.cpp:4402 | 30 | [Volume::orient_directional_derivs] |
SmFindPVIntersectENFO::SmFindPVIntersectENFO | SmVolume.cpp:4750 | 7 | [FindPvIntersect] |
SmFindPVIntersectENFO::~SmFindPVIntersectENFO | SmVolume.cpp:4757 | 1 | |
SmFindPVIntersectENFO::Evaluate | SmVolume.cpp:4774 | 143 | [Volume::evaluate] |
SmVolume::Transform | SmVolume.cpp:5169 | 30 | [Volume::transform] |
SmVolume::IsBounded | SmVolume.cpp:5205 | 7 | [Volume::is_bounded] |
SmVolume::Notify | SmVolume.cpp:5714 | 46 | [notify] |
SmVolume::EvaluatePointSimple | SmVolume.cpp:6527 | 9 | [Volume::evaluate_point_simple] |
SmVolume::Evaluate1stDerivativesSimple | SmVolume.cpp:6542 | 26 | [Volume::evaluate_1st_derivatives_simple] |
SmVolume::TrimParamBoundingBoxSimple | SmVolume.cpp:7045 | 33 | [Volume::trim_param_bounding_box_simple] |
SmVolume::TransformSimple | SmVolume.cpp:7300 | 20 | [Volume::transform_simple] |
SmVolume::HasDiscontinuitiesSimple | SmVolume.cpp:7345 | 16 | [Volume::has_discontinuities_simple] |
SmVolume::IsKindOf | SmVolume.cpp:8233 | 4 | [Volume::is_kind_of], [is_kind_of] |
smvol_LiftFirstDerivative | SmVolume.cpp:9638 | 13 | |
smvol_LiftSecondDerivative | SmVolume.cpp:9659 | 27 | |
smvol_LiftThirdDerivative | SmVolume.cpp:9694 | 52 | |
smvol_LiftFirstDerivative | SmVolume.cpp:9756 | 20 | |
smvol_LiftSecondDerivative | SmVolume.cpp:9786 | 54 | |
smvol_LiftThirdDerivative | SmVolume.cpp:9851 | 125 | |
smvol_LiftFirstDerivative | SmVolume.cpp:9987 | 26 | |
smvol_LiftSecondDerivative | SmVolume.cpp:10024 | 91 | |
smvol_LiftThirdDerivative | SmVolume.cpp:10126 | 276 | |
smvol_ConcatEvals | SmVolume.cpp:10414 | 87 | [concat_evals] |
Module file-header table (46 rows)
| Rust | Upstream |
|---|---|
[Volume], [VolumeKind] | SmVolume and its derived classes |
[Volume::new] | SmVolume(const SmContext*) |
[Volume::copy_from], Clone | SmVolume(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