75 std::stringstream ss(str);
79 auto ramp = std::make_shared<Ramp>();
81 int countMyCoord = -1;
85 std::string currentVarName;
89 if (isalpha(substr[0]))
91 currentVarName = substr;
94 if (currentVarName ==
"MyCoord")
97 if (countMyCoord > 0 && countMyCoord % 2 != 0)
99 tempCoord = std::stod(substr);
101 else if (countMyCoord > 0 && countMyCoord % 2 == 0)
103 ramp->mCoord.push_back(
Ramp::Coord2D(tempCoord, std::stod(substr)));
106 else if (currentVarName ==
"myHandlePoint")
109 if (countHandle > 0 && countHandle % 2 != 0)
111 tempCoord = std::stod(substr);
113 else if (countHandle > 0 && countHandle % 2 == 0)
115 ramp->myHandlePoint.push_back(
Ramp::Coord2D(tempCoord, std::stod(substr)));
118 else if (currentVarName ==
"useCurve")
119 ramp->setVarByStr(substr, ramp->useBezierInterpolation);
120 else if (currentVarName ==
"resample")
121 ramp->setVarByStr(substr, ramp->resample);
122 else if (currentVarName ==
"useSquard")
123 ramp->setVarByStr(substr, ramp->useSquard);
124 else if (currentVarName ==
"Spacing")
125 ramp->setVarByStr(substr, ramp->Spacing);
126 else if (currentVarName ==
"NminX")
127 ramp->setVarByStr(substr, ramp->NminX);
128 else if (currentVarName ==
"NmaxX")
129 ramp->setVarByStr(substr, ramp->NmaxX);
130 else if (currentVarName ==
"NminY")
131 ramp->setVarByStr(substr, ramp->mNewMinY);
132 else if (currentVarName ==
"NmaxY")
133 ramp->setVarByStr(substr, ramp->NmaxY);
134 else if (currentVarName ==
"curveClose")
135 ramp->setVarByStr(substr, ramp->curveClose);
136 else if (currentVarName ==
"InterpMode")
137 ramp->setVarByStr(substr, ramp->mInterpMode);
138 else if (currentVarName ==
"Dirmode")
139 ramp->setVarByStr(substr, ramp->Dirmode);
140 else if (currentVarName ==
"lockSize")
141 ramp->setVarByStr(substr, ramp->lockSize);
142 else if (currentVarName ==
"useColseButton")
143 ramp->setVarByStr(substr, ramp->useColseButton);
144 else if (currentVarName ==
"useSquardButton")
145 ramp->setVarByStr(substr, ramp->useSquardButton);
146 else if (currentVarName ==
"segment")
147 ramp->setVarByStr(substr, ramp->segment);
148 else if (currentVarName ==
"resampleResolution")
149 ramp->setVarByStr(substr, ramp->resampleResolution);
150 else if (currentVarName ==
"useSquardButton")
151 ramp->setVarByStr(substr, ramp->useSquardButton);
152 else if (currentVarName ==
"useSquardButton")
153 ramp->setVarByStr(substr, ramp->useSquardButton);
154 else if (currentVarName ==
"remapRange")
159 ramp->remapRange[countRange] = std::stof(substr);
164 ramp->updateBezierCurve();
165 ramp->UpdateFieldFinalCoord();