Beispiel #1
0
void OCRFocalLine::writeToStr(TStr &st){
    int d1[4];         /// array of line int parameters
    float d2[11];         /// array of line parameters
    // характеристики line //
    d1[0]=index;        //id number
    d1[1]=alpInt;       // целочисленное значение угола наклона линии в градусах (0 до 360° grade).
    d1[2]=lenA;         // количество пикселов линии.
    d1[3]=maxCor;       // прямая-1, дуга-2, спираль-3, круг-4.

    // характеристики кривой Безье //
    d2[0]=len;          // длина прямой соединяющей концы линии.
    d2[1]=alpha;        // угол наклона линии в градусах (0 до 360° grade).
    d2[2]=lenM;         // длина сглаженной фокальной линии.
    d2[3]=lenP;         // длина укороченной кривой Безье (как часть длины сглаженной фокальной линии).
    d2[4]=lenB;         // длина кривой Безье (вычислено по уравнению растеризации, медленно).
    d2[5]=alphaP1;      // угол наклона первого контрольного вектора (0 до 360° grade).
    d2[6]=lenP1;        // длина первого контрольного вектора в pix.
    d2[7]=alphaP2;      // угол наклона второго контрольного вектора (0 до 360° grade).
    d2[8]=lenP2;        // длина второго контрольного вектора в pix.
    d2[9]=alphaP1P2;    // угол наклона вектора от первой управляющей точки до второй управляющей точки.
    d2[10]=lenP1P2;      // расстояние вектора от первой управляющей точки до второй управляющей точки в pix.
    
    string str;
    str.resize(8*sizeof(OCRPoint));
    OCRPoint *v=(OCRPoint*)&str[0];
    v[0]=start;
    v[1]=end;
    v[2]=center;
    v[3]=centerM;
    v[4]=p0;
    v[5]=p1;
    v[6]=p2;
    v[7]=p3;
    
    st.push_back((char*)d1,4*4);
    st.push_back((char*)d2,11*4);
    st.push_back(str);
    st.push_back((char*)&data[0],(uint)data.size()*(int)sizeof(OCRPoint));
    st.push_back((char*)&sData[0],(uint)sData.size()*(int)sizeof(OCRPoint));
    st.push_back((char*)&mData[0],(uint)mData.size()*(int)sizeof(OCRPoint));
    //st.push_back((char*)startL.dataPtr(),startL.size()*(int)sizeof(OCRLineRef));
    //st.push_back((char*)endL.dataPtr(),endL.size()*(int)sizeof(OCRLineRef));
    
}