关闭

[G+smo]输出控制点

136人阅读 评论(0) 收藏 举报
分类:

在一个gsAssemblerBase<T>的派生类的成员函数中:

        注意:

        for (unsigned int i=0; i<m_patches.nPatches(); ++i)

        {
            gsGeometry<> & geo = m_patches.patch(i);
            gsDebug << "control points " << geo.coefs() << endl;

        }


   inline void evaluate(gsBasis<T> const & basis,
gsGeometryEvaluator<T> & geoEval,
gsMatrix<T> const      & quNodes)
{
            gsDebug << "gauss points " << quNodes << endl;
basis.active_into(quNodes.col(0), m_actives);

numActive = dof_per_node * m_actives.rows();

            gsMatrix<T> allCp = geoEval.geometry().coefs();
            control_point_coor.setZero(m_actives.rows(), allCp.cols());
            for (int i=0; i<m_actives.rows(); ++i)
            {
                control_point_coor.row(i) = allCp.row(m_actives(i, 0));
            }
            gsDebug << control_point_coor << endl;

//Calculate the 0,1,2 derivatives!
basis.evalAllDers_into(quNodes, 2, m_basisData);

geoEval.evaluateAt(quNodes);

localMat.setZero(numActive, numActive);
            localMat_localCoor = localMat;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:70081次
    • 积分:1473
    • 等级:
    • 排名:千里之外
    • 原创:72篇
    • 转载:31篇
    • 译文:4篇
    • 评论:3条
    文章分类
    最新评论