33 void set(
double a,
double b)
44 if (temp < 0) { temp = 0; }
45 else if (temp > 1) { temp = 1; }
48 if (temp < 0) { temp = 0; }
49 else if (temp > 1) { temp = 1; }
82 void set(
int a,
int b)
130 Str.append(VarName +
" ");
131 for (
int i = 0; i <
Array.size(); i++)
133 std::string tempTextX = std::to_string(
Array[i].x);
134 std::string tempTextY = std::to_string(
Array[i].y);
135 Str.append(tempTextX +
" " + tempTextY);
136 if (i !=
Array.size() - 1)
144 template <
typename T>
147 Str.append(VarName +
" ");
148 if constexpr (std::is_same_v<T, float> || std::is_same_v<T, double>)
150 Str.append(std::to_string(value));
154 Str.append(std::to_string(
static_cast<int>(value)));
157 std::cout << std::endl << Str;
162 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
164 value = std::stod(Str);
170 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
172 value = float(std::stod(Str));
178 if (std::isdigit(Str[0]) | (Str[0] ==
'-'))
180 value = std::stoi(Str);
187 if (std::isdigit(Str[0]))
189 value = bool(std::stoi(Str));
196 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)
std::map< float, EndPoint > mLength_EndPoint_Map
void addFloatItemToCoord(float x, float y, std::vector< Coord2D > &coordArray)
void setInterpMode(bool useBezier)
Canvas::Interpolation mInterpMode
void rebuildHandlePoint(std::vector< Coord2D > coordSet)
std::vector< Coord2D > mBezierPoint
void setVarByStr(std::string Str, int &value)
std::vector< Coord2D > getPoints()
void addPoint(float x, float y)
void setCurveClose(bool s)
void convertCoordToStr(std::string VarName, std::vector< Canvas::Coord2D > Array, std::string &Str)
std::vector< Coord2D > mUserHandle
std::vector< double > mLengthArray
Canvas::Interpolation & getInterpMode()
std::vector< Coord2D > mUserCoord
virtual void updateBezierCurve()
void buildSegMent_Length_Map(std::vector< Coord2D > BezierPtSet)
void setVarByStr(std::string Str, bool &value)
void setSpacing(double s)
std::vector< Coord2D > & getUserPoints()
void setVarByStr(std::string Str, Canvas::Interpolation &value)
std::vector< Coord2D > & getUserHandles()
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()
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)