solidcore

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 functionDefined atLinesRust (from the file header)
SmContext::GetDoingBooleanSmContext.h:3311[Context::doing_boolean]
SmContext::GetDoingBooleanRefSmContext.h:3321[Context::doing_boolean_mut]
SmContext::GetUserNotifyCallbackSmContext.h:3331[Context::user_notify_callback]
SmContext::GetSysNotifyCallbackSmContext.h:3351[Context::sys_notify_callback]
SmContext::GetThisModelSizeEstimateSmContext.h:3474[Context::this_model_size_estimate]
SmContext::SetThisModelSizeEstimateSmContext.h:3555[Context::set_this_model_size_estimate]
SmContext::SetThisLargeSmallSizeRatioSmContext.h:3602[Context::set_this_large_small_size_ratio]
SmContext::SetDoingBooleanSmContext.h:3691[Context::set_doing_boolean]
SmContext::SetSysNotifyCallbackSmContext.h:3724[Context::set_sys_notify_callback]
SmNewMarkAndLock::SmNewMarkAndLockSmContext.h:48521Context::new_mark (private)
SmNewMarkAndLock::SmNewMarkAndLockSmContext.h:50923Context::new_mark (private)
SmNewMarkAndLock::SmNewMarkAndLockSmContext.h:5346Context::new_mark (private)
SmNewMarkAndLock::~SmNewMarkAndLockSmContext.h:54215[MarkLock::release]
SmNewMarkAndLock::GetMarkTypeSmContext.h:5591[MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2]
SmNewMarkAndLock::GetMarkType1SmContext.h:5601[MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2]
SmNewMarkAndLock::GetMarkType2SmContext.h:5611[MarkLock::mark_type], [MarkLock::mark_type1], [MarkLock::mark_type2]
SmNewMarkAndLock::GetContextSmContext.h:5631[MarkLock::context]
SmNewMarkAndLock::NewMarkSmContext.h:5688[MarkLock::new_mark]
SmNewMarkAndLock::SetContextSmContext.h:57821[MarkLock::set_context]
SmNewMarkAndLock::SetContextSmContext.h:60023[MarkLock::set_context]
SmMassPropertyBehavior::SmMassPropertyBehaviorSmTopoTypes.h:28013[MassPropertyBehavior]
SmContext::SmContextSmContext.cpp:16130[Context::new], [Context::default]
SmContext::GetCurrentMarkSmContext.cpp:30518[Context::current_mark]
SmContext::NewMarkSmContext.cpp:33130Context::new_mark (private)
SmContext::IsMarkLockedSmContext.cpp:36713[Context::is_mark_locked]
SmNewMarkAndLock::LockMarkSmContext.cpp:38734lock_mark, unlock_mark (private)
SmNewMarkAndLock::UnlockMarkSmContext.cpp:42832lock_mark, unlock_mark (private)
SmNewMarkAndLock::GetUnlockedMarkSmContext.cpp:49628unlocked_mark (private)
SmApiCreateContextSmApiGeneral.cpp:427[create_context]
SmApiGetOrCreateContextSmApiGeneral.cpp:569[get_or_create_context]
Module file-header table (37 rows)
RustUpstream
[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