Quintiq file version 2.0
|
#parent: #root
|
Method GroupVectorAdd (LibOpt_ScopeThin scope, LibOpt_Group group) as BinaryValue
|
{
|
Description: 'Calculate the new `NumberVector` that represents the associated groups, after adding another scope with an associated group.'
|
TextBody:
|
[*
|
result := BinaryValue::Construct();
|
if( not isnull( group ) )
|
{
|
vector := NumberVector::Construct( this.GroupVector() );
|
|
// Add enough space
|
if( vector.Size() <= scope.ID() )
|
{
|
new_vector := NumberVector::Construct( scope.ID() + 1 );
|
new_vector.SetRange( 0, vector );
|
|
vector := & new_vector;
|
}
|
|
vector.Set( scope.ID(), group.ID() );
|
|
result := vector.AsBinaryValue();
|
}
|
else
|
{
|
result := this.GroupVectorRemove( scope );
|
}
|
|
return result;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|