예제 #1
0
파일: Test.cpp 프로젝트: jebreimo/Ystring
 TestPtr Test::findTest(const std::string& name) const
 {
     auto it = std::find_if(
             begin(m_Tests), end(m_Tests),
             [&](const TestPtr& t){return t->name() == name;});
     if (it != end(m_Tests))
         return *it;
     else
         return TestPtr();
 }
예제 #2
0
//----------------------------------------------------------------------------------------------------------
bool Camera::Serialize(CArchive& ar) {
    U32             a;
    U16             npkeys,nfkeys,nrkeys,ntkeys;
    PosKeyFileU3D*   posK;
    UniKeyFileU3D*   fovK;
    UniKeyFileU3D*   rollK;
    PosKeyFileU3D*   targK;

    if (!ar.IsStoring()) {
        ar >> nom;

        ar >> pos[0];
        ar >> pos[1];
        ar >> pos[2];

        ar >> targ[0];
        ar >> targ[1];
        ar >> targ[2];

        ar >> roll;

        ar >> fov;


        //-------------- Charge les pos keys
        ar >> npkeys;
        posK = new PosKeyFileU3D[ npkeys ];
        TestPtr(posK);
        for (a=0; a<npkeys;  a++)   posK[a].Serialize(ar);
        if (npkeys > 1)
            Spos = new SplineU3D(posK, npkeys);
        else
            Spos = NULL;
        delete [] posK;


        //-------------- sauve les fovs
        ar >> nfkeys;
        fovK = new UniKeyFileU3D[ nfkeys ];
        TestPtr(fovK);
        for (a=0; a<nfkeys;  a++)   fovK[a].Serialize(ar);
        if (nfkeys > 1)
            Sfov = new SplineU3D(fovK, nfkeys);
        else
            Sfov = NULL;
        delete [] fovK;


        //-------------- sauve les rolls
        ar >> nrkeys;
        rollK = new UniKeyFileU3D[ nrkeys ];
        TestPtr(rollK);
        for (a=0; a<nrkeys;  a++)   rollK[a].Serialize(ar);
        if (nrkeys > 1)
            Sroll = new SplineU3D(rollK, nrkeys);
        else
            Sroll = NULL;
        delete [] rollK;


        //-------------- sauve les targets
        ar >> ntkeys;
        targK = new PosKeyFileU3D[ ntkeys ];
        TestPtr(targK);
        for (a=0; a<ntkeys;  a++)   targK[a].Serialize(ar);
        if (ntkeys > 1)
            Starg = new SplineU3D(targK, ntkeys);
        else
            Starg = NULL;
        delete [] targK;

    } else return FALSE;