Quintiq file version 2.0
|
#parent: #root
|
Method GetIncludedUnits () as owning Units
|
{
|
TextBody:
|
[*
|
// Traverse Entity and get all Unit included
|
includedUnit := construct( Units );
|
|
if( this.IsWorld() )
|
{
|
includedUnit := this.MacroPlan().Unit( relget );
|
}
|
else
|
{
|
rootUnit := this.MacroPlan().RootUnit( relget );
|
|
// Traverse from root such that it guaranteed only visited each unit once
|
traverse( rootUnit, Elements, unit )
|
{
|
subSet := this.GetSubsetUnit( unit );
|
localIsIncluded := isnull( subSet ) or subSet.IsIncluded(); // Include, when product have subset is included and Include when no subset
|
|
if( localIsIncluded )
|
{
|
includedUnit.Add( unit );
|
}
|
|
local := unit.GetDecendentsInOptimizerSubset( this,
|
localIsIncluded );
|
|
includedUnit := includedUnit.Union( local );
|
}
|
}
|
|
return &includedUnit;
|
*]
|
}
|