24 coordArray.push_back(s);
63 for (
int i = 0; i < n - 1; i++)
105 for (t = 0; t < 1; t += unit)
117 for (
int i = 0; i <
x - 1; i++)
119 Pf.
x = (P[i + 1].
x - P[i].
x) * t + P[i].
x;
120 Pf.
y = (P[i + 1].
y - P[i].
y) * t + P[i].
y;
126 bezierSet.push_back(Pf);
132 std::vector<Coord2D> temp;
136 temp.push_back(
mCoord[0]);
153 double addTempLength = 0;
182 double per = 1 - subL / curLineL;
184 P.
x = per * (pointSet[ep.
second].x - pointSet[ep.
first].x) + pointSet[ep.
first].x;
185 P.
y = per * (pointSet[ep.
second].y - pointSet[ep.
first].y) + pointSet[ep.
first].y;
208 int ptnum = coordSet.size();
209 for (
size_t i = 0; i < ptnum; i++)
229 N[0] = coordSet[s].x - coordSet[id].x;
230 N[1] = coordSet[s].y - coordSet[id].y;
232 else if (
id == ptnum - 1)
234 N[0] = coordSet[id].x - coordSet[f].x;
235 N[1] = coordSet[id].y - coordSet[f].y;
239 N[0] = coordSet[s].x - coordSet[f].x;
240 N[1] = coordSet[s].y - coordSet[f].y;
245 double length = 0.05;
259 std::vector<Coord2D> temp;
263 int n = BezierPtSet.size();
264 if (BezierPtSet.size())
266 for (
size_t k = 0; k < n - 1; k++)
270 length +=
sqrt(std::pow((BezierPtSet[f].
x - BezierPtSet[e].
x), 2) + std::pow((BezierPtSet[f].
y - BezierPtSet[e].
y), 2));
void updateResampleLinearLine()
std::vector< Coord2D > mResamplePoint
void addFloatItemToCoord(float x, float y, std::vector< Coord2D > &coordArray)
void setInterpMode(bool useBezier)
Canvas::Interpolation mInterpMode
std::map< float, EndPoint > length_EndPoint_Map
void rebuildHandlePoint(std::vector< Coord2D > coordSet)
std::vector< Coord2D > mBezierPoint
void addItemHandlePoint(int x, int y)
bool useBezierInterpolation
void addPoint(float x, float y)
std::vector< OriginalCoord > OriginalHandlePoint
void addItemOriginalCoord(int x, int y)
std::vector< Coord2D > mCoord
std::vector< double > mLengthArray
virtual void updateBezierCurve()
void buildSegMent_Length_Map(std::vector< Coord2D > BezierPtSet)
void resamplePointFromLine(std::vector< Coord2D > pointSet)
void updateBezierPointToBezierSet(Coord2D p0, Coord2D p1, Coord2D p2, Coord2D p3, std::vector< Coord2D > &bezierSet)
void addPointAndHandlePoint(Coord2D point, Coord2D handle_1, Coord2D handle_2)
virtual void UpdateFieldFinalCoord()
std::vector< Coord2D > myHandlePoint
std::vector< OriginalCoord > Originalcoord
DYN_FUNC Complex< Real > sqrt(const Complex< Real > &)
void set(double a, double b)