diff --git a/classes/Component.m b/classes/Component.m index 0a1e53fcffc0b4f885faa26c024bbf5ccc32ab38..91d88c8a860e60aa5898e694d4304a4f73ed6d90 100644 --- a/classes/Component.m +++ b/classes/Component.m @@ -14,7 +14,8 @@ classdef Component < Config varsIn = 0 end obj.mission = mission; - if nargin == 0, return; end + %if isempty(mission.name) && nargin > 0, warning('Mission arguments are empty. Returning an uninitialized component...'); end + if isempty(mission.name), return; end if ~isstruct(varsIn) && varsIn == 0 obj.loadConfig(); else diff --git a/classes/components/Environment.m b/classes/components/Environment.m index 35c2c91d75af6e301d39717bed19bed881973a9f..41ebd8b3e6b9d92dad62e84ced75d27b6bcb4692 100644 --- a/classes/components/Environment.m +++ b/classes/components/Environment.m @@ -27,6 +27,20 @@ classdef Environment < Component motor Motor end + methods + function obj = Environment(mission, motor, varIn) + arguments(Input) + mission Mission = Mission() + motor Motor = Motor() + varIn = 0 + end + if nargin > 0 && nargin < 2, error('Too few arguments. Type help for more info'); end + if nargin > 3, error('Too many arguments.'); end + obj@Component(mission, varIn); + obj.motor = motor; + end + end + methods function g0 = get.g0(obj) g0 = gravitywgs84(obj.z0, obj.lat0);