protected override DataValue ComputeValue(TimeSlice slice)
{
uint? id = AggregateId.Identifier as uint?;
if (id != null)
{
switch (id.Value)
{
case Objects.AggregateFunction_Minimum:
{
return ComputeMinMax(slice, 1, false);
}
case Objects.AggregateFunction_MinimumActualTime:
{
return ComputeMinMax(slice, 1, true);
}
case Objects.AggregateFunction_Maximum:
{
return ComputeMinMax(slice, 2, false);
}
case Objects.AggregateFunction_MaximumActualTime:
{
return ComputeMinMax(slice, 2, true);
}
case Objects.AggregateFunction_Range:
{
return ComputeMinMax(slice, 3, false);
}
case Objects.AggregateFunction_Minimum2:
{
return ComputeMinMax2(slice, 1, false);
}
case Objects.AggregateFunction_MinimumActualTime2:
{
return ComputeMinMax2(slice, 1, true);
}
case Objects.AggregateFunction_Maximum2:
{
return ComputeMinMax2(slice, 2, false);
}
case Objects.AggregateFunction_MaximumActualTime2:
{
return ComputeMinMax2(slice, 2, true);
}
case Objects.AggregateFunction_Range2:
{
return ComputeMinMax2(slice, 3, false);
}
}
}
return base.ComputeValue(slice);
}
#endregion