www.gusucode.com > ros 工具箱 matlab源码程序 > ros/+robotics/+ros/+msggen/+robotnik_msgs/Data.m
classdef Data < robotics.ros.Message %Data MATLAB implementation of robotnik_msgs/Data % This class was automatically generated by % robotics.ros.msg.internal.gen.MessageClassGenerator. % Copyright 2014-2016 The MathWorks, Inc. %#ok<*INUSD> properties (Constant) MessageType = 'robotnik_msgs/Data' % The ROS message type end properties (Constant, Hidden) MD5Checksum = 'beae478f52d7795f673d8edc9e4295a2' % The MD5 Checksum of the message definition end properties (Access = protected) JavaMessage % The Java message object end properties (Dependent) Interface BytesSent BytesReceived UnitsSent UnitsReceived PackagesSent PackagesReceived end properties (Constant, Hidden) PropertyList = {'BytesReceived', 'BytesSent', 'Interface', 'PackagesReceived', 'PackagesSent', 'UnitsReceived', 'UnitsSent'} % List of non-constant message properties ROSPropertyList = {'bytes_received', 'bytes_sent', 'interface', 'packages_received', 'packages_sent', 'units_received', 'units_sent'} % List of non-constant ROS message properties end methods function obj = Data(msg) %Data Construct the message object Data 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 interface = get.Interface(obj) %get.Interface Get the value for property Interface interface = char(obj.JavaMessage.getInterface); end function set.Interface(obj, interface) %set.Interface Set the value for property Interface validateattributes(interface, {'char'}, {}, 'Data', 'Interface'); obj.JavaMessage.setInterface(interface); end function bytessent = get.BytesSent(obj) %get.BytesSent Get the value for property BytesSent bytessent = single(obj.JavaMessage.getBytesSent); end function set.BytesSent(obj, bytessent) %set.BytesSent Set the value for property BytesSent validateattributes(bytessent, {'numeric'}, {'nonempty', 'scalar'}, 'Data', 'BytesSent'); obj.JavaMessage.setBytesSent(bytessent); end function bytesreceived = get.BytesReceived(obj) %get.BytesReceived Get the value for property BytesReceived bytesreceived = single(obj.JavaMessage.getBytesReceived); end function set.BytesReceived(obj, bytesreceived) %set.BytesReceived Set the value for property BytesReceived validateattributes(bytesreceived, {'numeric'}, {'nonempty', 'scalar'}, 'Data', 'BytesReceived'); obj.JavaMessage.setBytesReceived(bytesreceived); end function unitssent = get.UnitsSent(obj) %get.UnitsSent Get the value for property UnitsSent unitssent = char(obj.JavaMessage.getUnitsSent); end function set.UnitsSent(obj, unitssent) %set.UnitsSent Set the value for property UnitsSent validateattributes(unitssent, {'char'}, {}, 'Data', 'UnitsSent'); obj.JavaMessage.setUnitsSent(unitssent); end function unitsreceived = get.UnitsReceived(obj) %get.UnitsReceived Get the value for property UnitsReceived unitsreceived = char(obj.JavaMessage.getUnitsReceived); end function set.UnitsReceived(obj, unitsreceived) %set.UnitsReceived Set the value for property UnitsReceived validateattributes(unitsreceived, {'char'}, {}, 'Data', 'UnitsReceived'); obj.JavaMessage.setUnitsReceived(unitsreceived); end function packagessent = get.PackagesSent(obj) %get.PackagesSent Get the value for property PackagesSent packagessent = int32(obj.JavaMessage.getPackagesSent); end function set.PackagesSent(obj, packagessent) %set.PackagesSent Set the value for property PackagesSent validateattributes(packagessent, {'numeric'}, {'nonempty', 'scalar'}, 'Data', 'PackagesSent'); obj.JavaMessage.setPackagesSent(packagessent); end function packagesreceived = get.PackagesReceived(obj) %get.PackagesReceived Get the value for property PackagesReceived packagesreceived = int32(obj.JavaMessage.getPackagesReceived); end function set.PackagesReceived(obj, packagesreceived) %set.PackagesReceived Set the value for property PackagesReceived validateattributes(packagesreceived, {'numeric'}, {'nonempty', 'scalar'}, 'Data', 'PackagesReceived'); obj.JavaMessage.setPackagesReceived(packagesreceived); end end methods (Access = protected) function cpObj = copyElement(obj) %copyElement Implements deep copy behavior for message % Call default copy method for shallow copy cpObj = copyElement@robotics.ros.Message(obj); % Create a new Java message object cpObj.JavaMessage = obj.createNewJavaMessage; % Iterate over all primitive properties cpObj.Interface = obj.Interface; cpObj.BytesSent = obj.BytesSent; cpObj.BytesReceived = obj.BytesReceived; cpObj.UnitsSent = obj.UnitsSent; cpObj.UnitsReceived = obj.UnitsReceived; cpObj.PackagesSent = obj.PackagesSent; cpObj.PackagesReceived = obj.PackagesReceived; end function reload(obj, strObj) %reload Called by loadobj to assign properties obj.Interface = strObj.Interface; obj.BytesSent = strObj.BytesSent; obj.BytesReceived = strObj.BytesReceived; obj.UnitsSent = strObj.UnitsSent; obj.UnitsReceived = strObj.UnitsReceived; obj.PackagesSent = strObj.PackagesSent; obj.PackagesReceived = strObj.PackagesReceived; 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.Interface = obj.Interface; strObj.BytesSent = obj.BytesSent; strObj.BytesReceived = obj.BytesReceived; strObj.UnitsSent = obj.UnitsSent; strObj.UnitsReceived = obj.UnitsReceived; strObj.PackagesSent = obj.PackagesSent; strObj.PackagesReceived = obj.PackagesReceived; 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.robotnik_msgs.Data.empty(0,1); return end % Create an empty message object obj = robotics.ros.msggen.robotnik_msgs.Data; obj.reload(strObj); end end end