/*! 入力開始 @param[in] lpd 入力データ @param[out] inputData_Vec 出力座標配列 */ void InputMovingAverageRevise::OnBeginDrag(LPIE_INPUT_DATA lpd, ImgEdit *pImgEdit, InputData_Vec &inputData_Vec) { InitInputData(lpd); IE_INPUT_DATA idata; GetAverageData(&idata); inputData_Vec.push_back(idata); }
void IInputRevise::LineRevise(LPIE_INPUT_DATA startPt, LPIE_INPUT_DATA endPt, InputData_Vec &inputData_Vec) { double length = sqrt((endPt->x - startPt->x) * (endPt->x - startPt->x) + (endPt->y - startPt->y) * (endPt->y - startPt->y)); double add = m_stepSize/length; if (add < FLT_EPSILON) return; double t=0.0; IE_INPUT_DATA data; while(t < 1.0) { data.x = startPt->x + (endPt->x - startPt->x)*t; data.y = startPt->y + (endPt->y - startPt->y)*t; data.p = startPt->p + (endPt->p - startPt->p)*t; data.azimuth_rad = startPt->azimuth_rad + (endPt->azimuth_rad - startPt->azimuth_rad)*t; data.altitude_rad = startPt->altitude_rad + (endPt->altitude_rad - startPt->altitude_rad)*t; data.random = startPt->random + (endPt->random - startPt->random)*t; inputData_Vec.push_back(data); t += add; } }