#14804: Make segment length fields scriptable and check them in Python test

This commit is contained in:
Magne Sjaastad committed 2026-10-12 19:12:08 +02:00
1 parent 97d132685b
commit 96bb127446
2 files changed
+15 -7

No files matched your search

@@ -54,11 +54,11 @@ RimSegmentInterval::RimSegmentInterval()
RimSegmentCollection::defaultRoughnessFactor( RiaDefines::EclipseUnitSystem::UNITS_METRIC ),
"Roughness Factor" );
CAF_PDM_InitField( &m_fixedSegmentLength, "FixedSegmentLength", std::make_pair( false, 50.0 ), "Fixed Segment Length" );
CAF_PDM_InitScriptableField( &m_fixedSegmentLength, "FixedSegmentLength", std::make_pair( false, 50.0 ), "Fixed Segment Length" );
m_fixedSegmentLength.uiCapability()->setUiEditorTypeName( caf::PdmUiCheckBoxAndTextEditor::uiEditorTypeName() );
CAF_PDM_InitField( &m_minSegmentLength, "MinSegmentLength", std::make_pair( false, 10.0 ), "Min Segment Length" );
CAF_PDM_InitScriptableField( &m_minSegmentLength, "MinSegmentLength", std::make_pair( false, 10.0 ), "Min Segment Length" );
m_minSegmentLength.uiCapability()->setUiEditorTypeName( caf::PdmUiCheckBoxAndTextEditor::uiEditorTypeName() );
CAF_PDM_InitField( &m_maxSegmentLength, "MaxSegmentLength", std::make_pair( false, 100.0 ), "Max Segment Length" );
CAF_PDM_InitScriptableField( &m_maxSegmentLength, "MaxSegmentLength", std::make_pair( false, 100.0 ), "Max Segment Length" );
m_maxSegmentLength.uiCapability()->setUiEditorTypeName( caf::PdmUiCheckBoxAndTextEditor::uiEditorTypeName() );
CAF_PDM_InitField( &m_useCustomStartDate, "UseCustomStartDate", false, "Custom Start Date" );
@@ -93,12 +93,20 @@ def test_segment_interval_segmentation_lengths(rips_instance, initialize_test):
interval.set_min_segment_length(length=10.0)
interval.set_max_segment_length(length=40.0)
min_length = interval.set_min_segment_length(length=10.0)
assert min_length is not None
interval = interval.set_min_segment_length(length=10.0)
assert interval is not None
assert interval.min_segment_length == (True, 10.0)
assert interval.max_segment_length == (True, 40.0)
assert interval.fixed_segment_length[0] is False
interval.set_fixed_segment_length(length=25.0)
interval.set_max_segment_length(length=30.0)
interval.set_fixed_segment_length(enable=False)
interval = interval.set_max_segment_length(length=30.0)
assert interval.max_segment_length == (True, 30.0)
assert interval.fixed_segment_length[0] is False
interval.set_fixed_segment_length(length=25.0)
interval = interval.set_fixed_segment_length(enable=False)
assert interval.fixed_segment_length[0] is False
with pytest.raises(rips.RipsError, match="greater than zero"):
interval.set_min_segment_length(length=0.0)