haorenhui
2023-10-30 6d6cc10d9e8e242661da7fd655dec155a09d676c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Quintiq file version 2.0
#parent: #root
MethodOverride IsInScopeForShiftOptimization (
  const LibOpt_Scope scope
) const as Boolean
{
  TextBody:
  [*
    // Check if this unit or a parent unit is in scope for shift optimization.
    unitinscope :=  scope.Contains( this.UnitPeriodInOptimizerRun() )
                    or guard( this.ParentOfUnitDimension().IsInScopeForShiftOptimization( scope ), false )
    
    // Check if shift optimization is allowed on this unit.
    // Note: we are not checking for a parent explicitly, because this will already be done in the recursive call above.
    shiftoptimallowed :=  this.Unit().UseShiftOptimization();
    
    return unitinscope and shiftoptimallowed;
  *]
}