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

📄 wmlbezierrectangle3.cpp

📁 3D Game Engine Design Source Code非常棒
💻 CPP
📖 第 1 页 / 共 3 页
字号:
        kSubBP.m_aakXtt[1][1] = kXttM1;
        kSubBP.m_aakXsstt[0][0] = kXsstt0M;
        kSubBP.m_aakXsstt[0][1] = rkBP.m_aakXsstt[0][1];
        kSubBP.m_aakXsstt[1][0] = kXssttMM;
        kSubBP.m_aakXsstt[1][1] = kXssttM1;

        if ( akXs )
        {
            kSubBP.m_akXsss[0] = kXsss0M;
            kSubBP.m_akXsss[1] = rkBP.m_akXsss[1];
            kSubBP.m_aakXsst[0][0] = kXsst0M;
            kSubBP.m_aakXsst[0][1] = rkBP.m_aakXsst[0][1];
            kSubBP.m_aakXsst[1][0] = kXsstMM;
            kSubBP.m_aakXsst[1][1] = kXsstM1;
            kSubBP.m_aakXstt[0][0] = kXstt0M;
            kSubBP.m_aakXstt[0][1] = rkBP.m_aakXstt[0][1];
            kSubBP.m_aakXstt[1][0] = kXsttMM;
            kSubBP.m_aakXstt[1][1] = kXsttM1;
            kSubBP.m_akXttt[0] = rkBP.m_akXttt[0];
            kSubBP.m_akXttt[1] = kXtttM0;
            kSubBP.m_akXssstt[0] = kXssstt0M;
            kSubBP.m_akXssstt[1] = rkBP.m_akXssstt[1];
            kSubBP.m_akXssttt[0] = rkBP.m_akXssttt[0];
            kSubBP.m_akXssttt[1] = kXsstttM0;
        }

        if ( akColor )
        {
            kSubBP.m_aakCss[0][0] = kCss0M;
            kSubBP.m_aakCss[0][1] = rkBP.m_aakCss[0][1];
            kSubBP.m_aakCss[1][0] = kCssMM;
            kSubBP.m_aakCss[1][1] = kCssM1;
            kSubBP.m_aakCtt[0][0] = kCtt0M;
            kSubBP.m_aakCtt[0][1] = rkBP.m_aakCtt[0][1];
            kSubBP.m_aakCtt[1][0] = kCttMM;
            kSubBP.m_aakCtt[1][1] = kCttM1;
            kSubBP.m_aakCsstt[0][0] = kCsstt0M;
            kSubBP.m_aakCsstt[0][1] = rkBP.m_aakCsstt[0][1];
            kSubBP.m_aakCsstt[1][0] = kCssttMM;
            kSubBP.m_aakCsstt[1][1] = kCssttM1;
        }

        if ( akTexture )
        {
            kSubBP.m_aakTss[0][0] = kTss0M;
            kSubBP.m_aakTss[0][1] = rkBP.m_aakTss[0][1];
            kSubBP.m_aakTss[1][0] = kTssMM;
            kSubBP.m_aakTss[1][1] = kTssM1;
            kSubBP.m_aakTtt[0][0] = kTtt0M;
            kSubBP.m_aakTtt[0][1] = rkBP.m_aakTtt[0][1];
            kSubBP.m_aakTtt[1][0] = kTttMM;
            kSubBP.m_aakTtt[1][1] = kTttM1;
            kSubBP.m_aakTsstt[0][0] = kTsstt0M;
            kSubBP.m_aakTsstt[0][1] = rkBP.m_aakTsstt[0][1];
            kSubBP.m_aakTsstt[1][0] = kTssttMM;
            kSubBP.m_aakTsstt[1][1] = kTssttM1;
        }

        Subdivide(iLevel,fDSqr,akX,akXs,akXt,akColor,akTexture,kSubBP);

        // subblock [sM,s1]x[t0,tM]
        kSubBP.m_i00 = iM0;
        kSubBP.m_i01 = iMM;
        kSubBP.m_i10 = rkBP.m_i10;
        kSubBP.m_i11 = i1M;

        kSubBP.m_aakXss[0][0] = kXssM0;
        kSubBP.m_aakXss[0][1] = kXssMM;
        kSubBP.m_aakXss[1][0] = rkBP.m_aakXss[1][0];
        kSubBP.m_aakXss[1][1] = kXss1M;
        kSubBP.m_aakXtt[0][0] = kXttM0;
        kSubBP.m_aakXtt[0][1] = kXttMM;
        kSubBP.m_aakXtt[1][0] = rkBP.m_aakXtt[1][0];
        kSubBP.m_aakXtt[1][1] = kXtt1M;
        kSubBP.m_aakXsstt[0][0] = kXssttM0;
        kSubBP.m_aakXsstt[0][1] = kXssttMM;
        kSubBP.m_aakXsstt[1][0] = rkBP.m_aakXsstt[1][0];
        kSubBP.m_aakXsstt[1][1] = kXsstt1M;

        if ( akXs )
        {
            kSubBP.m_akXsss[0] = rkBP.m_akXsss[0];
            kSubBP.m_akXsss[1] = kXsss0M;
            kSubBP.m_aakXsst[0][0] = kXsstM0;
            kSubBP.m_aakXsst[0][1] = kXsstMM;
            kSubBP.m_aakXsst[1][0] = rkBP.m_aakXsst[1][0];
            kSubBP.m_aakXsst[1][1] = kXsst1M;
            kSubBP.m_aakXstt[0][0] = kXsttM0;
            kSubBP.m_aakXstt[0][1] = kXsttMM;
            kSubBP.m_aakXstt[1][0] = rkBP.m_aakXstt[1][0];
            kSubBP.m_aakXstt[1][1] = kXstt1M;
            kSubBP.m_akXttt[0] = kXtttM0;
            kSubBP.m_akXttt[1] = rkBP.m_akXttt[1];
            kSubBP.m_akXssstt[0] = rkBP.m_akXssstt[0];
            kSubBP.m_akXssstt[1] = kXssstt0M;
            kSubBP.m_akXssttt[0] = kXsstttM0;
            kSubBP.m_akXssttt[1] = rkBP.m_akXssttt[1];
        }

        if ( akColor )
        {
            kSubBP.m_aakCss[0][0] = kCssM0;
            kSubBP.m_aakCss[0][1] = kCssMM;
            kSubBP.m_aakCss[1][0] = rkBP.m_aakCss[1][0];
            kSubBP.m_aakCss[1][1] = kCss1M;
            kSubBP.m_aakCtt[0][0] = kCttM0;
            kSubBP.m_aakCtt[0][1] = kCttMM;
            kSubBP.m_aakCtt[1][0] = rkBP.m_aakCtt[1][0];
            kSubBP.m_aakCtt[1][1] = kCtt1M;
            kSubBP.m_aakCsstt[0][0] = kCssttM0;
            kSubBP.m_aakCsstt[0][1] = kCssttMM;
            kSubBP.m_aakCsstt[1][0] = rkBP.m_aakCsstt[1][0];
            kSubBP.m_aakCsstt[1][1] = kCsstt1M;
        }

        if ( akTexture )
        {
            kSubBP.m_aakTss[0][0] = kTssM0;
            kSubBP.m_aakTss[0][1] = kTssMM;
            kSubBP.m_aakTss[1][0] = rkBP.m_aakTss[1][0];
            kSubBP.m_aakTss[1][1] = kTss1M;
            kSubBP.m_aakTtt[0][0] = kTttM0;
            kSubBP.m_aakTtt[0][1] = kTttMM;
            kSubBP.m_aakTtt[1][0] = rkBP.m_aakTtt[1][0];
            kSubBP.m_aakTtt[1][1] = kTtt1M;
            kSubBP.m_aakTsstt[0][0] = kTssttM0;
            kSubBP.m_aakTsstt[0][1] = kTssttMM;
            kSubBP.m_aakTsstt[1][0] = rkBP.m_aakTsstt[1][0];
            kSubBP.m_aakTsstt[1][1] = kTsstt1M;
        }

        Subdivide(iLevel,fDSqr,akX,akXs,akXt,akColor,akTexture,kSubBP);

        // subblock [sM,s1]x[tM,t1]
        kSubBP.m_i00 = iMM;
        kSubBP.m_i01 = iM1;
        kSubBP.m_i10 = i1M;
        kSubBP.m_i11 = rkBP.m_i11;

        kSubBP.m_aakXss[0][0] = kXssMM;
        kSubBP.m_aakXss[0][1] = kXssM1;
        kSubBP.m_aakXss[1][0] = kXss1M;
        kSubBP.m_aakXss[1][1] = rkBP.m_aakXss[1][1];
        kSubBP.m_aakXtt[0][0] = kXttMM;
        kSubBP.m_aakXtt[0][1] = kXttM1;
        kSubBP.m_aakXtt[1][0] = kXtt1M;
        kSubBP.m_aakXtt[1][1] = rkBP.m_aakXtt[1][1];
        kSubBP.m_aakXsstt[0][0] = kXssttMM;
        kSubBP.m_aakXsstt[0][1] = kXssttM1;
        kSubBP.m_aakXsstt[1][0] = kXsstt1M;
        kSubBP.m_aakXsstt[1][1] = rkBP.m_aakXsstt[1][1];

        if ( akXs )
        {
            kSubBP.m_akXsss[0] = kXsss0M;
            kSubBP.m_akXsss[1] = rkBP.m_akXsss[1];
            kSubBP.m_aakXsst[0][0] = kXsstMM;
            kSubBP.m_aakXsst[0][1] = kXsstM1;
            kSubBP.m_aakXsst[1][0] = kXsst1M;
            kSubBP.m_aakXsst[1][1] = rkBP.m_aakXsst[1][1];
            kSubBP.m_aakXstt[0][0] = kXsttMM;
            kSubBP.m_aakXstt[0][1] = kXsttM1;
            kSubBP.m_aakXstt[1][0] = kXstt1M;
            kSubBP.m_aakXstt[1][1] = rkBP.m_aakXstt[1][1];
            kSubBP.m_akXttt[0] = kXtttM0;
            kSubBP.m_akXttt[1] = rkBP.m_akXttt[1];
            kSubBP.m_akXssstt[0] = kXssstt0M;
            kSubBP.m_akXssstt[1] = rkBP.m_akXssstt[1];
            kSubBP.m_akXssttt[0] = kXsstttM0;
            kSubBP.m_akXssttt[1] = rkBP.m_akXssttt[1];
        }

        if ( akColor )
        {
            kSubBP.m_aakCss[0][0] = kCssMM;
            kSubBP.m_aakCss[0][1] = kCssM1;
            kSubBP.m_aakCss[1][0] = kCss1M;
            kSubBP.m_aakCss[1][1] = rkBP.m_aakCss[1][1];
            kSubBP.m_aakCtt[0][0] = kCttMM;
            kSubBP.m_aakCtt[0][1] = kCttM1;
            kSubBP.m_aakCtt[1][0] = kCtt1M;
            kSubBP.m_aakCtt[1][1] = rkBP.m_aakCtt[1][1];
            kSubBP.m_aakCsstt[0][0] = kCssttMM;
            kSubBP.m_aakCsstt[0][1] = kCssttM1;
            kSubBP.m_aakCsstt[1][0] = kCsstt1M;
            kSubBP.m_aakCsstt[1][1] = rkBP.m_aakCsstt[1][1];
        }

        if ( akTexture )
        {
            kSubBP.m_aakTss[0][0] = kTssMM;
            kSubBP.m_aakTss[0][1] = kTssM1;
            kSubBP.m_aakTss[1][0] = kTss1M;
            kSubBP.m_aakTss[1][1] = rkBP.m_aakTss[1][1];
            kSubBP.m_aakTtt[0][0] = kTttMM;
            kSubBP.m_aakTtt[0][1] = kTttM1;
            kSubBP.m_aakTtt[1][0] = kTtt1M;
            kSubBP.m_aakTtt[1][1] = rkBP.m_aakTtt[1][1];
            kSubBP.m_aakTsstt[0][0] = kTssttMM;
            kSubBP.m_aakTsstt[0][1] = kTssttM1;
            kSubBP.m_aakTsstt[1][0] = kTsstt1M;
            kSubBP.m_aakTsstt[1][1] = rkBP.m_aakTsstt[1][1];
        }

        Subdivide(iLevel,fDSqr,akX,akXs,akXt,akColor,akTexture,kSubBP);
    }
}
//----------------------------------------------------------------------------

//----------------------------------------------------------------------------
// streaming
//----------------------------------------------------------------------------
Object* BezierRectangle3::Factory (Stream& rkStream)
{
    BezierRectangle3* pkObject = new BezierRectangle3;
    Stream::Link* pkLink = new Stream::Link(pkObject);
    pkObject->Load(rkStream,pkLink);
    return pkObject;
}
//----------------------------------------------------------------------------
void BezierRectangle3::Load (Stream& rkStream, Stream::Link* pkLink)
{
    BezierRectangle::Load(rkStream,pkLink);
}
//----------------------------------------------------------------------------
void BezierRectangle3::Link (Stream& rkStream, Stream::Link* pkLink)
{
    BezierRectangle::Link(rkStream,pkLink);
}
//----------------------------------------------------------------------------
bool BezierRectangle3::Register (Stream& rkStream)
{
    return BezierRectangle::Register(rkStream);
}
//----------------------------------------------------------------------------
void BezierRectangle3::Save (Stream& rkStream)
{
    BezierRectangle::Save(rkStream);
}
//----------------------------------------------------------------------------
StringTree* BezierRectangle3::SaveStrings ()
{
    StringTree* pkTree = new StringTree(1,0,1,0);

    // strings
    pkTree->SetString(0,MakeString(&ms_kRTTI,GetName()));

    // children
    pkTree->SetChild(0,BezierRectangle::SaveStrings());

    return pkTree;
}
//----------------------------------------------------------------------------
int BezierRectangle3::GetMemoryUsed () const
{
    int iBaseSize = sizeof(BezierRectangle3) - sizeof(BezierRectangle);
    int iTotalSize = iBaseSize + BezierRectangle::GetMemoryUsed();
    return iTotalSize;
}
//----------------------------------------------------------------------------
int BezierRectangle3::GetDiskUsed () const
{
    return BezierRectangle::GetDiskUsed();
}
//----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -