www.gusucode.com > ros 工具箱 matlab源码程序 > ros/+robotics/+ros/+msggen/+applanix_msgs/AidingSensorParams.m

    classdef AidingSensorParams < robotics.ros.Message
    %AidingSensorParams MATLAB implementation of applanix_msgs/AidingSensorParams
    %   This class was automatically generated by
    %   robotics.ros.msg.internal.gen.MessageClassGenerator.
    
    %   Copyright 2014-2016 The MathWorks, Inc.
    
    %#ok<*INUSD>
    
    properties (Constant)
        MessageType = 'applanix_msgs/AidingSensorParams' % The ROS message type
    end
    
    properties (Constant, Hidden)
        MD5Checksum = 'c5f8cdbc1fbfdcb4567e70396891f001' % The MD5 Checksum of the message definition
    end
    
    properties (Access = protected)
        JavaMessage % The Java message object
    end
    
    properties (Constant, Access = protected)
        GeometryMsgsPoint32Class = robotics.ros.msg.internal.MessageFactory.getClassForType('geometry_msgs/Point32') % Dispatch to MATLAB class for message type geometry_msgs/Point32
    end
    
    properties (Dependent)
        Transaction
        DmiScaleFactor
        DmiLeverArm
        Reserved1
        Reserved2
        Reserved3
        Reserved5
        Reserved6
        Reserved7
    end
    
    properties (Access = protected)
        Cache = struct('DmiLeverArm', []) % The cache for fast data access
    end
    
    properties (Constant, Hidden)
        PropertyList = {'DmiLeverArm', 'DmiScaleFactor', 'Reserved1', 'Reserved2', 'Reserved3', 'Reserved5', 'Reserved6', 'Reserved7', 'Transaction'} % List of non-constant message properties
        ROSPropertyList = {'dmi_lever_arm', 'dmi_scale_factor', 'reserved1', 'reserved2', 'reserved3', 'reserved5', 'reserved6', 'reserved7', 'transaction'} % List of non-constant ROS message properties
    end
    
    methods
        function obj = AidingSensorParams(msg)
            %AidingSensorParams Construct the message object AidingSensorParams
            import com.mathworks.toolbox.robotics.ros.message.MessageInfo;
            
            % Support default constructor
            if nargin == 0
                obj.JavaMessage = obj.createNewJavaMessage;
                return;
            end
            
            % Construct appropriate empty array
            if isempty(msg)
                obj = obj.empty(0,1);
                return;
            end
            
            % Make scalar construction fast
            if isscalar(msg)
                % Check for correct input class
                if ~MessageInfo.compareTypes(msg(1), obj.MessageType)
                    error(message('robotics:ros:message:NoTypeMatch', obj.MessageType, ...
                        char(MessageInfo.getType(msg(1))) ));
                end
                obj.JavaMessage = msg(1);
                return;
            end
            
            % Check that this is a vector of scalar messages. Since this
            % is an object array, use arrayfun to verify.
            if ~all(arrayfun(@isscalar, msg))
                error(message('robotics:ros:message:MessageArraySizeError'));
            end
            
            % Check that all messages in the array have the correct type
            if ~all(arrayfun(@(x) MessageInfo.compareTypes(x, obj.MessageType), msg))
                error(message('robotics:ros:message:NoTypeMatchArray', obj.MessageType));
            end
            
            % Construct array of objects if necessary
            objType = class(obj);
            for i = 1:length(msg)
                obj(i,1) = feval(objType, msg(i)); %#ok<AGROW>
            end
        end
        
        function transaction = get.Transaction(obj)
            %get.Transaction Get the value for property Transaction
            transaction = typecast(int16(obj.JavaMessage.getTransaction), 'uint16');
        end
        
        function set.Transaction(obj, transaction)
            %set.Transaction Set the value for property Transaction
            validateattributes(transaction, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Transaction');
            
            obj.JavaMessage.setTransaction(transaction);
        end
        
        function dmiscalefactor = get.DmiScaleFactor(obj)
            %get.DmiScaleFactor Get the value for property DmiScaleFactor
            dmiscalefactor = single(obj.JavaMessage.getDmiScaleFactor);
        end
        
        function set.DmiScaleFactor(obj, dmiscalefactor)
            %set.DmiScaleFactor Set the value for property DmiScaleFactor
            validateattributes(dmiscalefactor, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'DmiScaleFactor');
            
            obj.JavaMessage.setDmiScaleFactor(dmiscalefactor);
        end
        
        function dmileverarm = get.DmiLeverArm(obj)
            %get.DmiLeverArm Get the value for property DmiLeverArm
            if isempty(obj.Cache.DmiLeverArm)
                obj.Cache.DmiLeverArm = feval(obj.GeometryMsgsPoint32Class, obj.JavaMessage.getDmiLeverArm);
            end
            dmileverarm = obj.Cache.DmiLeverArm;
        end
        
        function set.DmiLeverArm(obj, dmileverarm)
            %set.DmiLeverArm Set the value for property DmiLeverArm
            validateattributes(dmileverarm, {obj.GeometryMsgsPoint32Class}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'DmiLeverArm');
            
            obj.JavaMessage.setDmiLeverArm(dmileverarm.getJavaObject);
            
            % Update cache if necessary
            if ~isempty(obj.Cache.DmiLeverArm)
                obj.Cache.DmiLeverArm.setJavaObject(dmileverarm.getJavaObject);
            end
        end
        
        function reserved1 = get.Reserved1(obj)
            %get.Reserved1 Get the value for property Reserved1
            reserved1 = single(obj.JavaMessage.getReserved1);
        end
        
        function set.Reserved1(obj, reserved1)
            %set.Reserved1 Set the value for property Reserved1
            validateattributes(reserved1, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved1');
            
            obj.JavaMessage.setReserved1(reserved1);
        end
        
        function reserved2 = get.Reserved2(obj)
            %get.Reserved2 Get the value for property Reserved2
            reserved2 = single(obj.JavaMessage.getReserved2);
        end
        
        function set.Reserved2(obj, reserved2)
            %set.Reserved2 Set the value for property Reserved2
            validateattributes(reserved2, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved2');
            
            obj.JavaMessage.setReserved2(reserved2);
        end
        
        function reserved3 = get.Reserved3(obj)
            %get.Reserved3 Get the value for property Reserved3
            reserved3 = single(obj.JavaMessage.getReserved3);
        end
        
        function set.Reserved3(obj, reserved3)
            %set.Reserved3 Set the value for property Reserved3
            validateattributes(reserved3, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved3');
            
            obj.JavaMessage.setReserved3(reserved3);
        end
        
        function reserved5 = get.Reserved5(obj)
            %get.Reserved5 Get the value for property Reserved5
            reserved5 = single(obj.JavaMessage.getReserved5);
        end
        
        function set.Reserved5(obj, reserved5)
            %set.Reserved5 Set the value for property Reserved5
            validateattributes(reserved5, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved5');
            
            obj.JavaMessage.setReserved5(reserved5);
        end
        
        function reserved6 = get.Reserved6(obj)
            %get.Reserved6 Get the value for property Reserved6
            reserved6 = single(obj.JavaMessage.getReserved6);
        end
        
        function set.Reserved6(obj, reserved6)
            %set.Reserved6 Set the value for property Reserved6
            validateattributes(reserved6, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved6');
            
            obj.JavaMessage.setReserved6(reserved6);
        end
        
        function reserved7 = get.Reserved7(obj)
            %get.Reserved7 Get the value for property Reserved7
            reserved7 = single(obj.JavaMessage.getReserved7);
        end
        
        function set.Reserved7(obj, reserved7)
            %set.Reserved7 Set the value for property Reserved7
            validateattributes(reserved7, {'numeric'}, {'nonempty', 'scalar'}, 'AidingSensorParams', 'Reserved7');
            
            obj.JavaMessage.setReserved7(reserved7);
        end
    end
    
    methods (Access = protected)
        function resetCache(obj)
            %resetCache Resets any cached properties
            obj.Cache.DmiLeverArm = [];
        end
        
        function cpObj = copyElement(obj)
            %copyElement Implements deep copy behavior for message
            
            % Call default copy method for shallow copy
            cpObj = copyElement@robotics.ros.Message(obj);
            
            % Clear any existing cached properties
            cpObj.resetCache;
            
            % Create a new Java message object
            cpObj.JavaMessage = obj.createNewJavaMessage;
            
            % Iterate over all primitive properties
            cpObj.Transaction = obj.Transaction;
            cpObj.DmiScaleFactor = obj.DmiScaleFactor;
            cpObj.Reserved1 = obj.Reserved1;
            cpObj.Reserved2 = obj.Reserved2;
            cpObj.Reserved3 = obj.Reserved3;
            cpObj.Reserved5 = obj.Reserved5;
            cpObj.Reserved6 = obj.Reserved6;
            cpObj.Reserved7 = obj.Reserved7;
            
            % Recursively copy compound properties
            cpObj.DmiLeverArm = copy(obj.DmiLeverArm);
        end
        
        function reload(obj, strObj)
            %reload Called by loadobj to assign properties
            obj.Transaction = strObj.Transaction;
            obj.DmiScaleFactor = strObj.DmiScaleFactor;
            obj.Reserved1 = strObj.Reserved1;
            obj.Reserved2 = strObj.Reserved2;
            obj.Reserved3 = strObj.Reserved3;
            obj.Reserved5 = strObj.Reserved5;
            obj.Reserved6 = strObj.Reserved6;
            obj.Reserved7 = strObj.Reserved7;
            obj.DmiLeverArm = feval([obj.GeometryMsgsPoint32Class '.loadobj'], strObj.DmiLeverArm);
        end
    end
    
    methods (Access = ?robotics.ros.Message)
        function strObj = saveobj(obj)
            %saveobj Implements saving of message to MAT file
            
            % Return an empty element if object array is empty
            if isempty(obj)
                strObj = struct.empty;
                return
            end
            
            strObj.Transaction = obj.Transaction;
            strObj.DmiScaleFactor = obj.DmiScaleFactor;
            strObj.Reserved1 = obj.Reserved1;
            strObj.Reserved2 = obj.Reserved2;
            strObj.Reserved3 = obj.Reserved3;
            strObj.Reserved5 = obj.Reserved5;
            strObj.Reserved6 = obj.Reserved6;
            strObj.Reserved7 = obj.Reserved7;
            strObj.DmiLeverArm = saveobj(obj.DmiLeverArm);
        end
    end
    
    methods (Static, Access = {?matlab.unittest.TestCase, ?robotics.ros.Message})
        function obj = loadobj(strObj)
            %loadobj Implements loading of message from MAT file
            
            % Return an empty object array if the structure element is not defined
            if isempty(strObj)
                obj = robotics.ros.msggen.applanix_msgs.AidingSensorParams.empty(0,1);
                return
            end
            
            % Create an empty message object
            obj = robotics.ros.msggen.applanix_msgs.AidingSensorParams;
            obj.reload(strObj);
        end
    end
end