MATLAB Answers

How to check a function input to be ptcloud object?

3 views (last 30 days)
Hello,
I want to right some functions, which will have the matlab ptCloud objects as inputs. I want to validate the inputs at the beginn of the function, I know I can use inputParser to do that, but it looks like it doesn't like the object as an input at all.

  0 Comments

Sign in to comment.

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 4 Jun 2019
Hi Philipp,
probably you are looking for the function "isa":
function myfun(x)
if ~isa(x, 'ptCloud')
error('Input argument x must be ptCloud object')
end
Titus

  1 Comment

Philipp Schnabel
Philipp Schnabel on 4 Jun 2019
Thank you Titus,
it did help really, now I have one more question, how can i check that the PointCloud Object is not empty? Can I access the data inside and check it in the InputParser? My code example does look like this:
function [tform, cov, error, time] = test(move,fix,iter,varargin)
inp = inputParser;
inp.addRequired('move', @(x) isa(x, 'pointCloud'));
inp.addRequired('fix', @(x) isa(x, 'pointCloud'));
inp.addOptional('iter', 10, @(x)x > 0 && x < 10^5);
inp.parse(move,fix,iter,varargin{:});
tform = affine3d();
cov = zeros(6);
error = 0;
time = 0;

Sign in to comment.

More Answers (0)


Translated by