⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shading.c

📁 该程序为MATLAB对CDMA系统个部分的仿真
💻 C
📖 第 1 页 / 共 2 页
字号:
                       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 + -