Units / geom
geom.context green
- Layer
- 2
- Upstream lines
- 355
- Functions
- 30
- Rust module
geom::context
Source: crates/solidcore/src/geom/context.rs
Upstream: source/SMLib/inc/SmContext.h, source/SMLib/inc/SmTopoTypes.h, source/SMLib/src/SmContext.cpp, source/SM_API/src/SmApiGeneral.cpp
Notes
green: 2013 difftest cases (13 fixtures + 2000 generated scripts), 0 deferred, all bit-identical; wired UNPORTED(geom.context) in geom.tol (Option<&Context> overloads; geom.tol stays green). 30 fns; largest: SmNewMarkAndLock::LockMark, SmNewMarkAndLock::UnlockMark, SmContext::NewMark, SmContext::SmContext; entry points: SmApiCreateContext, SmApiGetOrCreateContext; unit-SCC #22 (220 units); 320 upstream test entry points reach this unit
Difftest
- Cases
- 2,013
- Passed
- 2,013
- 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: none
Soft dependencies: geom.tol green
Dependents: blend.fillet_executive_p1 todo blend.fillet_executive_p2 todo blend.fillet_executive_p3 todo boolean.merge_p3 todo boolean.merge_p4 todo geom.object partial heal.heal_data_p3 partial heal.stitch_p1 claimed intersect.ray_tracer partial offset.offset_executive_p2 claimed primitive.primitive_creation_p1 claimed query.face_p4 claimed sweep.topology_sweep claimed topology.brep_p1 claimed topology.brep_p2 claimed topology.brep_p3 claimed topology.brep_p4 claimed topology.brep_p6 claimed topology.brep_p9 claimed topology.topology green
Soft dependents: blend.fillet_geom_p1 claimed blend.fillet_geom_p6 todo blend.hcr claimed boolean.api_brep partial boolean.topology_intersector_p1 partial curve.crv_in_volume partial curve.crv_on_surf partial heal.heal_data_p1 partial heal.stitch_p2 claimed intersect.curve_class_p9 partial mass.integrator partial nurbs.b_spline_curve_p3 partial primitive.api_curves green primitive.api_primitives claimed primitive.primitive_creation_p2 todo primitive.primitive_creation_p3 todo surface.surface_p1 partial surface.unbend_volume green surface.volume_p1 green sweep.api_brep partial sweep.api_surfaces partial topology.brep_p10 claimed topology.brep_p5 claimed topology.brep_p7 claimed topology.edge partial topology.face_p1 partial topology.face_p2 partial topology.face_p4 claimed topology.shell partial topology.topology_traverser partial topology.trimming_tools partial topology.vertex partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmContext::GetDoingBoolean | SmContext.h:331 | 1 | [Context::doing_boolean] |
SmContext::GetDoingBooleanRef | SmContext.h:332 | 1 | [Context::doing_boolean_mut] |
SmContext::GetUserNotifyCallback | SmContext.h:333 | 1 | [Context::user_notify_callback] |
SmContext::GetSysNotifyCallback | SmContext.h:335 | 1 | [Context::sys_notify_callback] |
SmContext::GetThisModelSizeEstimate | SmContext.h:347 | 4 | [Context::this_model_size_estimate] |
SmContext::SetThisModelSizeEstimate | SmContext.h:355 | 5 | [Context::set_this_model_size_estimate] |
SmContext::SetThisLargeSmallSizeRatio | SmContext.h:360 | 2 | [Context::set_this_large_small_size_ratio] |
SmContext::SetDoingBoolean | SmContext.h:369 | 1 | [Context::set_doing_boolean] |
SmContext::SetSysNotifyCallback | SmContext.h:372 | 4 | [Context::set_sys_notify_callback] |
SmNewMarkAndLock::SmNewMarkAndLock | SmContext.h:485 | 21 | Context::new_mark (private) |
SmNewMarkAndLock::SmNewMarkAndLock | SmContext.h:509 | 23 | Context::new_mark (private) |
SmNewMarkAndLock::SmNewMarkAndLock | SmContext.h:534 | 6 | Context::new_mark (private) |
SmNewMarkAndLock::~SmNewMarkAndLock | SmContext.h:542 | 15 | [MarkLock::release] |
SmNewMarkAndLock::GetMarkType | SmContext.h:559 | 1 | [MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2] |
SmNewMarkAndLock::GetMarkType1 | SmContext.h:560 | 1 | [MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2] |
SmNewMarkAndLock::GetMarkType2 | SmContext.h:561 | 1 | [MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2] |
SmNewMarkAndLock::GetContext | SmContext.h:563 | 1 | [MarkLock::context] |
SmNewMarkAndLock::NewMark | SmContext.h:568 | 8 | [MarkLock::new_mark] |
SmNewMarkAndLock::SetContext | SmContext.h:578 | 21 | [MarkLock::set_context] |
SmNewMarkAndLock::SetContext | SmContext.h:600 | 23 | [MarkLock::set_context] |
SmMassPropertyBehavior::SmMassPropertyBehavior | SmTopoTypes.h:280 | 13 | [MassPropertyBehavior] |
SmContext::SmContext | SmContext.cpp:161 | 30 | [Context::new], [Context::default] |
SmContext::GetCurrentMark | SmContext.cpp:305 | 18 | [Context::current_mark] |
SmContext::NewMark | SmContext.cpp:331 | 30 | Context::new_mark (private) |
SmContext::IsMarkLocked | SmContext.cpp:367 | 13 | [Context::is_mark_locked] |
SmNewMarkAndLock::LockMark | SmContext.cpp:387 | 34 | lock_mark, unlock_mark (private) |
SmNewMarkAndLock::UnlockMark | SmContext.cpp:428 | 32 | lock_mark, unlock_mark (private) |
SmNewMarkAndLock::GetUnlockedMark | SmContext.cpp:496 | 28 | unlocked_mark (private) |
SmApiCreateContext | SmApiGeneral.cpp:42 | 7 | [create_context] |
SmApiGetOrCreateContext | SmApiGeneral.cpp:56 | 9 | [get_or_create_context] |
Module file-header table (37 rows)
| Rust | Upstream |
|---|---|
[Context] | SmContext |
[Context::new], [Context::default] | SmContext::SmContext(double, double) (no SM_USE_GLOBAL_CACHE) |
[Context::doing_boolean] | SmContext::GetDoingBoolean |
[Context::doing_boolean_mut] | SmContext::GetDoingBooleanRef |
[Context::set_doing_boolean] | SmContext::SetDoingBoolean |
[Context::user_notify_callback] | SmContext::GetUserNotifyCallback |
[Context::set_user_notify_callback] | SmContext::SetUserNotifyCallback (unused upstream) |
[Context::sys_notify_callback] | SmContext::GetSysNotifyCallback |
[Context::user_notify_callback_mut], [Context::sys_notify_callback_mut] | the same getters, for Execute |
[NotifyCallback], [NotifyCallback::execute] | SmNotifyCallback, SmNotifyCallback::Execute |
[Context::set_sys_notify_callback] | SmContext::SetSysNotifyCallback |
[Context::this_model_size_estimate] | SmContext::GetThisModelSizeEstimate |
[Context::set_this_model_size_estimate] | SmContext::SetThisModelSizeEstimate (inline, SM_USE_OLDTOL build) |
[Context::set_this_large_small_size_ratio] | SmContext::SetThisLargeSmallSizeRatio |
[Context::this_zone_tol_3d] | SmContext::m_sThisZoneTol3d (GetThisZoneTol3d, unused upstream) |
[Context::stored_model_size_estimate], [Context::stored_large_small_size_ratio] | the raw members m_dThisModelSizeEstimate, m_dThisLargeSmallSizeRatio |
[Context::current_mark] | SmContext::GetCurrentMark |
[Context::is_mark_locked] | SmContext::IsMarkLocked |
Context::new_mark (private) | SmContext::NewMark (private, friend SmNewMarkAndLock) |
[MarkType] | SmMarkType |
[MarkLock] | SmNewMarkAndLock |
[MarkLock::new] | SmNewMarkAndLock(const SmContext*, SmBitArray) |
[MarkLock::new_pair] | SmNewMarkAndLock(SmContext*, SmContext*) |
[MarkLock::unbound], [MarkLock::default] | SmNewMarkAndLock() |
[MarkLock::release] | SmNewMarkAndLock::~SmNewMarkAndLock |
[MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2] | GetMarkType, GetMarkType1, GetMarkType2 |
[MarkLock::context] | SmNewMarkAndLock::GetContext |
[MarkLock::context2] | SmNewMarkAndLock::GetContext2 |
[MarkLock::new_mark] | SmNewMarkAndLock::NewMark |
[MarkLock::set_context] | SmNewMarkAndLock::SetContext(SmContext*, SmMarkType) |
[MarkLock::set_context_pair] | SmNewMarkAndLock::SetContext(SmContext*, SmContext*) |
lock_mark, unlock_mark (private) | SmNewMarkAndLock::LockMark, UnlockMark |
unlocked_mark (private) | SmNewMarkAndLock::GetUnlockedMark |
[with_mark_lock] | the scoped { SmNewMarkAndLock sMarkLock(pContext, mask); ... } idiom |
[MassPropertyBehavior] | SmMassPropertyBehavior (and its constructor) |
[create_context] | SmApiCreateContext |
[get_or_create_context] | SmApiGetOrCreateContext |
Upstream tests reaching this unit
prog_test:my_test_crv_projected_max, 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