xyzvcheck.cpp
来自「实现VC与MATLAB的无缝对接」· C++ 代码 · 共 186 行
CPP
186 行
#include "matlib.h"
#pragma hdrstop
#include "xyzvcheck.h"
Mm xyzvcheck(Mm x, Mm y, Mm z, Mm data, i_o_t, Mm& msg__o, Mm& nx__o, Mm& ny__o, Mm& nz__o) {
begin_scope
x.setname("x"); y.setname("y"); z.setname("z"); data.setname("data");
dMm(msg); dMm(nx); dMm(ny); dMm(nz); dMm(sz); dMm(nonempty);
#line 1 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
call_stack_begin;
#line 1 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
// nargin, nargout entry code
double old_nargin=nargin_val; if (!nargin_set) nargin_val=4.0;
nargin_set=0;
double old_nargout=nargout_val; if (!nargout_set) nargout_val=4.0;
nargout_set=0;
// translated code
#line 2 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
//XYZVCHECK Check arguments to 3D scalar data routines.
#line 3 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
// [MSG,X,Y,Z] = XYZCHK(X,Y,Z,V) checks the input aguments
#line 4 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
// and returns either an error message in MSG or valid X,Y,Z.
#line 6 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
// Copyright (c) 1984-98 by The MathWorks, Inc.
#line 7 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
// $Revision: 1.1 $ $Date: 1998/05/13 23:26:56 $
#line 9 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("");
#line 10 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nx = x;
#line 11 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ ny = y;
#line 12 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nz = z;
#line 14 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ sz = size(data);
#line 16 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(ndims(data)!=3.0)) {
#line 17 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("V must be a 3D array.");
#line 18 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 19 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 20 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(min(sz)<2.0)) {
#line 21 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("V must be size 2x2x2 or greater.");
#line 22 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 23 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 25 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nonempty = !(BR(isempty(x)),isempty(y),isempty(z));
#line 26 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(any(nonempty))&&istrue(!all(nonempty))) {
#line 27 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("X,Y,Z must all be empty or all non-empty.");
#line 28 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 29 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 31 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(!isempty(nx))&&istrue(!isequal(size(nx),sz,Mc()))) {
#line 32 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nx = nx(c_p);
#line 33 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(length(nx)!=sz(2.0))) {
#line 34 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("The size of X must match the size of V or the number of columns of V.");
#line 35 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 36 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
} else {
#line 37 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nx = repmat(ctranspose(nx),(BR(sz(1.0)),1.0,sz(3.0)));
#line 38 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 39 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 41 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(!isempty(ny))&&istrue(!isequal(size(ny),sz,Mc()))) {
#line 42 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ ny = ny(c_p);
#line 43 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(length(ny)!=sz(1.0))) {
#line 44 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("The size of Y must match the size of V or the number of rows of V.");
#line 45 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 46 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
} else {
#line 47 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ ny = repmat(ny,(BR(1.0),sz(2.0),sz(3.0)));
#line 48 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 49 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 51 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(!isempty(nz))&&istrue(!isequal(size(nz),sz,Mc()))) {
#line 52 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nz = nz(c_p);
#line 53 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ if (istrue(length(nz)!=sz(3.0))) {
#line 54 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ msg = TM("The size of Z must match the size of V or the number of pages of V.");
#line 55 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ goto return_from_xyzvcheck;
#line 56 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
} else {
#line 57 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
_ nz = repmat(reshape(nz,(BR(1.0),1.0,length(nz))),(BR(sz(1.0)),sz(2.0),1.0));
#line 58 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
#line 59 "g:/matlabr11/toolbox/matlab/specgraph/private/xyzvcheck.m"
}
return_from_xyzvcheck: call_stack_end;
// nargin, nargout exit code
nargin_val=old_nargin; nargout_val=old_nargout;
// function exit code
x.setname(NULL); y.setname(NULL); z.setname(NULL); data.setname(NULL);
msg__o=msg; nx__o=nx; ny__o=ny; nz__o=nz;
return x_M;
end_scope
}
Mm xyzvcheck(Mm x, Mm y, Mm z, Mm data) {
begin_scope
double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1;
double old_nargout=nargout_val; nargout_val=1.0; nargout_set=1;
dMm(msg__o); dMm(nx__o); dMm(ny__o); dMm(nz__o);
xyzvcheck(x, y, z, data, i_o, msg__o, nx__o, ny__o, nz__o);
nargout_val=old_nargout;
nargin_val=old_nargin;
return(msg__o);
end_scope
}
Mm xyzvcheck(Mm x, Mm y, Mm z, Mm data, i_o_t, Mm& msg__o, Mm& nx__o) {
begin_scope
double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1;
double old_nargout=nargout_val; nargout_val=2.0; nargout_set=1;
dMm(ny__o); dMm(nz__o);
xyzvcheck(x, y, z, data, i_o, msg__o, nx__o, ny__o, nz__o);
nargout_val=old_nargout;
nargin_val=old_nargin;
return x_M;
end_scope
}
Mm xyzvcheck(Mm x, Mm y, Mm z, Mm data, i_o_t, Mm& msg__o, Mm& nx__o, Mm& ny__o) {
begin_scope
double old_nargin=nargin_val; nargin_val=4.0; nargin_set=1;
double old_nargout=nargout_val; nargout_val=3.0; nargout_set=1;
dMm(nz__o);
xyzvcheck(x, y, z, data, i_o, msg__o, nx__o, ny__o, nz__o);
nargout_val=old_nargout;
nargin_val=old_nargin;
return x_M;
end_scope
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?