How to check a function input to be ptcloud object?

2 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 4 de Jun. de 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 comentario
Philipp Schnabel
Philipp Schnabel el 4 de Jun. de 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;

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Argument Definitions en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by