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)); }