📄 shading.c
字号:
a_,
mclNot(
mclVe(
mlfStrcmp(
mclVe(
mlfNGet(
1, mclVa(arg1, "arg1"), _mxarray10_, NULL)),
_mxarray12_)))))) {
mxDestroyArray(a_);
/*
* error('First argument must be an axes handle.');
*/
mlfError(_mxarray6_);
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
* ax = arg1;
*/
mlfAssign(&ax, mclVsa(arg1, "arg1"));
/*
*
* % check for string option
* if nargin == 2
*/
if (nargin_ == 2) {
/*
* type = lower(arg2);
*/
mlfAssign(&type, mlfLower(mclVa(arg2, "arg2")));
/*
* else
*/
} else {
/*
* error('Shading methods are flat, faceted, and interp.');
*/
mlfError(_mxarray14_);
/*
* end
*/
}
/*
* end
*/
}
/*
*
* fc = get(ax,'color');
*/
mlfAssign(&fc, mlfNGet(1, mclVv(ax, "ax"), _mxarray16_, NULL));
/*
* if strcmp(lower(fc),'none')
*/
if (mlfTobool(
mclVe(mlfStrcmp(mclVe(mlfLower(mclVv(fc, "fc"))), _mxarray18_)))) {
/*
* fc = get(gcf,'color');
*/
mlfAssign(&fc, mlfNGet(1, mclVe(mlfGcf()), _mxarray16_, NULL));
/*
* end
*/
}
/*
* kids = [findobj(ax,'type','surface'); findobj(ax,'type','patch')];
*/
mlfAssign(
&kids,
mlfVertcat(
mclVe(mlfFindobj(mclVv(ax, "ax"), _mxarray10_, _mxarray20_, NULL)),
mclVe(mlfFindobj(mclVv(ax, "ax"), _mxarray10_, _mxarray22_, NULL)),
NULL));
/*
* imesh = [];
*/
mlfAssign(&imesh, _mxarray24_);
/*
* isurf = [];
*/
mlfAssign(&isurf, _mxarray24_);
/*
* itext = [];
*/
mlfAssign(&itext, _mxarray24_);
/*
* for i = 1:length(kids)
*/
{
int v_ = mclForIntStart(1);
int e_ = mclForIntEnd(mlfScalar(mclLengthInt(mclVv(kids, "kids"))));
if (v_ > e_) {
mlfAssign(&i, _mxarray24_);
} else {
/*
* face = get(kids(i),'facecolor');
* if strcmp(face,'none')
* imesh = [imesh ; kids(i)];
* elseif strcmp(face,'texturemap')
* itext = [itext; kids(i)];
* elseif ~isstr(face)
* if (all(face == fc))
* imesh = [imesh ; kids(i)];
* else
* isurf = [isurf; kids(i)];
* end
* else
* isurf = [isurf; kids(i)];
* end
* end
*/
for (; ; ) {
mlfAssign(
&face,
mlfNGet(
1,
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
_mxarray25_,
NULL));
if (mlfTobool(
mclVe(mlfStrcmp(mclVv(face, "face"), _mxarray18_)))) {
mlfAssign(
&imesh,
mlfVertcat(
mclVv(imesh, "imesh"),
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
NULL));
} else if (mlfTobool(
mclVe(
mlfStrcmp(mclVv(face, "face"), _mxarray27_)))) {
mlfAssign(
&itext,
mlfVertcat(
mclVv(itext, "itext"),
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
NULL));
} else if (mclNotBool(mclVe(mlfIsstr(mclVv(face, "face"))))) {
if (mlfTobool(
mclVe(
mlfAll(
mclEq(mclVv(face, "face"), mclVv(fc, "fc")),
NULL)))) {
mlfAssign(
&imesh,
mlfVertcat(
mclVv(imesh, "imesh"),
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
NULL));
} else {
mlfAssign(
&isurf,
mlfVertcat(
mclVv(isurf, "isurf"),
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
NULL));
}
} else {
mlfAssign(
&isurf,
mlfVertcat(
mclVv(isurf, "isurf"),
mclVe(mclIntArrayRef1(mclVsv(kids, "kids"), v_)),
NULL));
}
if (v_ == e_) {
break;
}
++v_;
}
mlfAssign(&i, mlfScalar(v_));
}
}
/*
*
* if (strcmp(type, 'flat'))
*/
if (mlfTobool(mclVe(mlfStrcmp(mclVv(type, "type"), _mxarray29_)))) {
/*
* if ~isempty(isurf), set(isurf,'facecolor','flat','edgecolor','none'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(isurf, "isurf"))))) {
mclAssignAns(
&ans,
mlfNSet(
0,
mclVv(isurf, "isurf"),
_mxarray25_,
_mxarray29_,
_mxarray31_,
_mxarray18_,
NULL));
}
/*
* if ~isempty(imesh), set(imesh,'edgecolor','flat'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(imesh, "imesh"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(imesh, "imesh"), _mxarray31_, _mxarray29_, NULL));
}
/*
* if ~isempty(itext), set(itext,'edgecolor','none'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(itext, "itext"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(itext, "itext"), _mxarray31_, _mxarray18_, NULL));
}
/*
* elseif (strcmp(type, 'interp'))
*/
} else if (mlfTobool(mclVe(mlfStrcmp(mclVv(type, "type"), _mxarray33_)))) {
/*
* if ~isempty(isurf), set(isurf,'facecolor','interp','edgecolor','none'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(isurf, "isurf"))))) {
mclAssignAns(
&ans,
mlfNSet(
0,
mclVv(isurf, "isurf"),
_mxarray25_,
_mxarray33_,
_mxarray31_,
_mxarray18_,
NULL));
}
/*
* if ~isempty(imesh), set(imesh,'edgecolor','interp'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(imesh, "imesh"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(imesh, "imesh"), _mxarray31_, _mxarray33_, NULL));
}
/*
* if ~isempty(itext), set(itext,'edgecolor','interp'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(itext, "itext"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(itext, "itext"), _mxarray31_, _mxarray33_, NULL));
}
/*
* elseif (strcmp(type,'faceted'))
*/
} else if (mlfTobool(mclVe(mlfStrcmp(mclVv(type, "type"), _mxarray35_)))) {
/*
* if ~isempty(isurf), set(isurf,'facecolor','flat','edgecolor','black'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(isurf, "isurf"))))) {
mclAssignAns(
&ans,
mlfNSet(
0,
mclVv(isurf, "isurf"),
_mxarray25_,
_mxarray29_,
_mxarray31_,
_mxarray37_,
NULL));
}
/*
* if ~isempty(imesh), set(imesh,'edgecolor','flat'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(imesh, "imesh"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(imesh, "imesh"), _mxarray31_, _mxarray29_, NULL));
}
/*
* if ~isempty(itext), set(itext,'edgecolor','black'); end
*/
if (mclNotBool(mclVe(mlfIsempty(mclVv(itext, "itext"))))) {
mclAssignAns(
&ans,
mlfNSet(
0, mclVv(itext, "itext"), _mxarray31_, _mxarray37_, NULL));
}
/*
* else
*/
} else {
/*
* error('Shading methods are flat, faceted, and interp.');
*/
mlfError(_mxarray14_);
/*
* end
*/
}
mxDestroyArray(ans);
mxDestroyArray(ax);
mxDestroyArray(type);
mxDestroyArray(fc);
mxDestroyArray(kids);
mxDestroyArray(imesh);
mxDestroyArray(isurf);
mxDestroyArray(itext);
mxDestroyArray(i);
mxDestroyArray(face);
mxDestroyArray(arg2);
mxDestroyArray(arg1);
mclSetCurrentLocalFunctionTable(save_local_function_table_);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -