www.gusucode.com > ros 工具箱 matlab源码程序 > ros/+robotics/+ros/+msggen/+cob_object_detection_msgs/AcquireObjectImageGoal.m
classdef AcquireObjectImageGoal < robotics.ros.Message %AcquireObjectImageGoal MATLAB implementation of cob_object_detection_msgs/AcquireObjectImageGoal % This class was automatically generated by % robotics.ros.msg.internal.gen.MessageClassGenerator. % Copyright 2014-2016 The MathWorks, Inc. %#ok<*INUSD> properties (Constant) MessageType = 'cob_object_detection_msgs/AcquireObjectImageGoal' % The ROS message type end properties (Constant, Hidden) MD5Checksum = 'a834da64b488488418ecf10d2737befd' % The MD5 Checksum of the message definition end properties (Access = protected) JavaMessage % The Java message object end properties (Constant, Access = protected) GeometryMsgsPoseStampedClass = robotics.ros.msg.internal.MessageFactory.getClassForType('geometry_msgs/PoseStamped') % Dispatch to MATLAB class for message type geometry_msgs/PoseStamped end properties (Dependent) ObjectName ResetImageCounter Pose SdhJoints end properties (Access = protected) Cache = struct('Pose', [], 'SdhJoints', []) % The cache for fast data access end properties (Constant, Hidden) PropertyList = {'ObjectName', 'Pose', 'ResetImageCounter', 'SdhJoints'} % List of non-constant message properties ROSPropertyList = {'object_name', 'pose', 'reset_image_counter', 'sdh_joints'} % List of non-constant ROS message properties end methods function obj = AcquireObjectImageGoal(msg) %AcquireObjectImageGoal Construct the message object AcquireObjectImageGoal 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 objectname = get.ObjectName(obj) %get.ObjectName Get the value for property ObjectName objectname = char(obj.JavaMessage.getObjectName); end function set.ObjectName(obj, objectname) %set.ObjectName Set the value for property ObjectName validateattributes(objectname, {'char'}, {}, 'AcquireObjectImageGoal', 'ObjectName'); obj.JavaMessage.setObjectName(objectname); end function resetimagecounter = get.ResetImageCounter(obj) %get.ResetImageCounter Get the value for property ResetImageCounter resetimagecounter = logical(obj.JavaMessage.getResetImageCounter); end function set.ResetImageCounter(obj, resetimagecounter) %set.ResetImageCounter Set the value for property ResetImageCounter validateattributes(resetimagecounter, {'logical', 'numeric'}, {'nonempty', 'scalar'}, 'AcquireObjectImageGoal', 'ResetImageCounter'); obj.JavaMessage.setResetImageCounter(resetimagecounter); end function pose = get.Pose(obj) %get.Pose Get the value for property Pose if isempty(obj.Cache.Pose) obj.Cache.Pose = feval(obj.GeometryMsgsPoseStampedClass, obj.JavaMessage.getPose); end pose = obj.Cache.Pose; end function set.Pose(obj, pose) %set.Pose Set the value for property Pose validateattributes(pose, {obj.GeometryMsgsPoseStampedClass}, {'nonempty', 'scalar'}, 'AcquireObjectImageGoal', 'Pose'); obj.JavaMessage.setPose(pose.getJavaObject); % Update cache if necessary if ~isempty(obj.Cache.Pose) obj.Cache.Pose.setJavaObject(pose.getJavaObject); end end function sdhjoints = get.SdhJoints(obj) %get.SdhJoints Get the value for property SdhJoints if isempty(obj.Cache.SdhJoints) javaArray = obj.JavaMessage.getSdhJoints; array = obj.readJavaArray(javaArray, obj.GeometryMsgsPoseStampedClass); obj.Cache.SdhJoints = feval(obj.GeometryMsgsPoseStampedClass, array); end sdhjoints = obj.Cache.SdhJoints; end function set.SdhJoints(obj, sdhjoints) %set.SdhJoints Set the value for property SdhJoints if ~isvector(sdhjoints) && isempty(sdhjoints) % Allow empty [] input sdhjoints = feval([obj.GeometryMsgsPoseStampedClass '.empty'], 0, 1); end validateattributes(sdhjoints, {obj.GeometryMsgsPoseStampedClass}, {'vector'}, 'AcquireObjectImageGoal', 'SdhJoints'); javaArray = obj.JavaMessage.getSdhJoints; array = obj.writeJavaArray(sdhjoints, javaArray, obj.GeometryMsgsPoseStampedClass); obj.JavaMessage.setSdhJoints(array); % Update cache if necessary if ~isempty(obj.Cache.SdhJoints) obj.Cache.SdhJoints = []; obj.Cache.SdhJoints = obj.SdhJoints; end end end methods (Access = protected) function resetCache(obj) %resetCache Resets any cached properties obj.Cache.Pose = []; obj.Cache.SdhJoints = []; 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.ObjectName = obj.ObjectName; cpObj.ResetImageCounter = obj.ResetImageCounter; % Recursively copy compound properties cpObj.Pose = copy(obj.Pose); cpObj.SdhJoints = copy(obj.SdhJoints); end function reload(obj, strObj) %reload Called by loadobj to assign properties obj.ObjectName = strObj.ObjectName; obj.ResetImageCounter = strObj.ResetImageCounter; obj.Pose = feval([obj.GeometryMsgsPoseStampedClass '.loadobj'], strObj.Pose); SdhJointsCell = arrayfun(@(x) feval([obj.GeometryMsgsPoseStampedClass '.loadobj'], x), strObj.SdhJoints, 'UniformOutput', false); obj.SdhJoints = vertcat(SdhJointsCell{:}); 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.ObjectName = obj.ObjectName; strObj.ResetImageCounter = obj.ResetImageCounter; strObj.Pose = saveobj(obj.Pose); strObj.SdhJoints = arrayfun(@(x) saveobj(x), obj.SdhJoints); 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.cob_object_detection_msgs.AcquireObjectImageGoal.empty(0,1); return end % Create an empty message object obj = robotics.ros.msggen.cob_object_detection_msgs.AcquireObjectImageGoal; obj.reload(strObj); end end end