Condition class
Contents
Description
This is a handle heterogeneous super-class for the definition of conditions.
A condition is a time function that returns a value for each provided time value.
This super-class defines abstract methods that must be implemented in the derived sub-classes:
classdef Condition < handle & matlab.mixin.Heterogeneous
Constant values
properties (Constant = true, Access = public) % Types of condition variation CONSTANT = uint8(1); LINEAR = uint8(2); OSCILLATORY = uint8(3); TABLE = uint8(4); % Types of table data interpolation methods INTERP_LINEAR = uint8(1); INTERP_MAKIMA = uint8(2); INTERP_PCHIP = uint8(3); INTERP_SPLINE = uint8(4); end
Public properties
properties (SetAccess = public, GetAccess = public) type uint8 = uint8.empty; % flag for type of condition variation interval double = double.empty; % time interval of activation (initial,final) init_time double = double.empty; % time of activation end
Constructor method
methods function this = Condition(type) if (nargin > 0) this.type = type; end end end
Default sub-class definition
methods (Static, Access = protected) function defaultObject = getDefaultScalarElement defaultObject = Condition_Constant; end end
Abstract methods: implemented in derived sub-classes
methods (Abstract) %------------------------------------------------------------------ setDefaultProps(this); %------------------------------------------------------------------ val = getValue(this,time); end
Public methods
methods %------------------------------------------------------------------ function is = isActive(this,time) is = isempty(this.interval) || (time >= min(this.interval) && time <= max(this.interval)); end end
end