40 void set(
double a,
double b)
40 void set(
double a,
double b) {
…}
51 if (temp < 0) { temp = 0; }
52 else if (temp > 1) { temp = 1; }
55 if (temp < 0) { temp = 0; }
56 else if (temp > 1) { temp = 1; }
89 void set(
int a,
int b)
150 Str.append(VarName +
" ");
151 for (
int i = 0; i <
Array.size(); i++)
153 std::string tempTextX = std::to_string(
Array[i].
x);
154 std::string tempTextY = std::to_string(
Array[i].
y);
155 Str.append(tempTextX +
" " + tempTextY);
156 if (i !=
Array.size() - 1)
164 template <
typename T>
167 Str.append(VarName +
" ");
168 if constexpr (std::is_same_v<T, float> || std::is_same_v<T, double>)
170 Str.append(std::to_string(value));
174 Str.append(std::to_string(
static_cast<int>(value)));
177 std::cout << std::endl << Str;
182 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
184 value = std::stod(Str);
190 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
192 value = float(std::stod(Str));
198 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
200 value = std::stoi(Str);
207 if (std::isdigit(Str[0]))
209 value = bool(std::stoi(Str));
216 if (std::isdigit(Str[0]))
226 if (std::isdigit(Str[0]))
This class is designed to be elegant, so it can be directly passed to GPU as parameters.
std::vector< Coord2D > mFinalCoord
void updateResampleLinearLine()
std::vector< Coord2D > mResamplePoint
void setVarByStr(std::string Str, float &value)
void addFloatItemToCoord(float x, float y, std::vector< Coord2D > &coordArray)
void remapXY(double minX, double maxX, double minY, double maxY)
void setInterpMode(bool useBezier)
Canvas::Interpolation mInterpMode
std::map< float, EndPoint > length_EndPoint_Map
void setUseSquard(bool s)
void rebuildHandlePoint(std::vector< Coord2D > coordSet)
std::vector< Coord2D > mBezierPoint
void addItemHandlePoint(int x, int y)
bool useBezierInterpolation
void setVarByStr(std::string Str, int &value)
void setRange_MaxX(float min, float max)
std::vector< Coord2D > getPoints()
void addPoint(float x, float y)
std::vector< OriginalCoord > OriginalHandlePoint
void setCurveClose(bool s)
void remapX(double minX, double maxX)
void addItemOriginalCoord(int x, int y)
std::vector< Coord2D > mCoord
void convertCoordToStr(std::string VarName, std::vector< Canvas::Coord2D > Array, std::string &Str)
void setVarByStr(std::string Str, Direction &value)
void setRange_MaxY(float min, float max)
void remapY(double minY, double maxY)
std::vector< double > mLengthArray
virtual void updateBezierCurve()
void setRange(float min, float max)
void buildSegMent_Length_Map(std::vector< Coord2D > BezierPtSet)
void setVarByStr(std::string Str, bool &value)
void setRange_MinX(float min, float max)
void setSpacing(double s)
void setRange_MinY(float min, float max)
void setVarByStr(std::string Str, Canvas::Interpolation &value)
void resamplePointFromLine(std::vector< Coord2D > pointSet)
void updateBezierPointToBezierSet(Coord2D p0, Coord2D p1, Coord2D p2, Coord2D p3, std::vector< Coord2D > &bezierSet)
void convertVarToStr(std::string VarName, T value, std::string &Str)
void addPointAndHandlePoint(Coord2D point, Coord2D handle_1, Coord2D handle_2)
void setVarByStr(std::string Str, double &value)
virtual void UpdateFieldFinalCoord()
std::string InterpStrings[2]
std::vector< Coord2D > myHandlePoint
std::vector< OriginalCoord > Originalcoord
This is an implementation of AdditiveCCD based on peridyno.
Coord2D(double a, double b, int i)
void set(double a, double b)
Coord2D(double a, double b)
EndPoint(int first, int second)