| 2187 | return C == EMjCone::Elliptic ? TEXT("elliptic") : TEXT("pyramidal"); |
| 2188 | } |
| 2189 | bool ParseSolver(const FString& S, EMjSolver& Out) |
| 2190 | { |
| 2191 | if (S.Equals(TEXT("pgs"), ESearchCase::IgnoreCase)) |
| 2192 | { |
| 2193 | Out = EMjSolver::PGS; |
| 2194 | return true; |
| 2195 | } |
| 2196 | if (S.Equals(TEXT("cg"), ESearchCase::IgnoreCase)) |
| 2197 | { |
| 2198 | Out = EMjSolver::CG; |
| 2199 | return true; |
| 2200 | } |
| 2201 | if (S.Equals(TEXT("newton"), ESearchCase::IgnoreCase)) |
| 2202 | { |
| 2203 | Out = EMjSolver::Newton; |
| 2204 | return true; |
| 2205 | } |
| 2206 | return false; |
| 2207 | } |
| 2208 | FString SolverToString(EMjSolver S) |
| 2209 | { |
| 2210 | switch (S) |