Skip to content

Commit

Permalink
Merge pull request #276 from JayKay135/globalizedParsing
Browse files Browse the repository at this point in the history
fixed float parsing for different globalization styles
  • Loading branch information
gkjohnson committed Oct 2, 2023
2 parents 6716bd0 + a06dae0 commit 80a4758
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions unity/Assets/URDFLoader/URDFLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ ROS URDf
using System.Collections.Generic;
using System.Xml;
using System.IO;
using System.Globalization;

using URDFJoint = URDFRobot.URDFJoint;
using URDFLink = URDFRobot.URDFLink;
Expand Down Expand Up @@ -309,7 +310,7 @@ public struct Options {
primitiveGameObject = GameObject.CreatePrimitive(PrimitiveType.Sphere);
primitiveTransform = primitiveGameObject.transform;

float sphereRadius = float.Parse(primitiveNode.Attributes["radius"].Value);
float sphereRadius = float.Parse(primitiveNode.Attributes["radius"].Value, CultureInfo.InvariantCulture);
primitiveTransform.localScale = Vector3.one * sphereRadius * 2;
break;

Expand All @@ -323,8 +324,8 @@ public struct Options {
GameObject cylinderPrimitive = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
cylinderPrimitive.transform.parent = primitiveTransform;

float length = float.Parse(primitiveNode.Attributes["length"].Value);
float radius = float.Parse(primitiveNode.Attributes["radius"].Value);
float length = float.Parse(primitiveNode.Attributes["length"].Value, CultureInfo.InvariantCulture);
float radius = float.Parse(primitiveNode.Attributes["radius"].Value, CultureInfo.InvariantCulture);
primitiveTransform.localScale = new Vector3(radius * 2, length / 2, radius * 2);
break;

Expand Down Expand Up @@ -640,9 +641,9 @@ public static Vector3 TupleToVector3(string str) {

try {

result.x = float.Parse(numbers[0]);
result.y = float.Parse(numbers[1]);
result.z = float.Parse(numbers[2]);
result.x = float.Parse(numbers[0], CultureInfo.InvariantCulture);
result.y = float.Parse(numbers[1], CultureInfo.InvariantCulture);
result.z = float.Parse(numbers[2], CultureInfo.InvariantCulture);

} catch (Exception e) {

Expand All @@ -667,10 +668,10 @@ public static Color TupleToColor(string str) {
if (numbers.Length == 4) {

try {
result.r = float.Parse(numbers[0]);
result.g = float.Parse(numbers[1]);
result.b = float.Parse(numbers[2]);
result.a = float.Parse(numbers[3]);
result.r = float.Parse(numbers[0], CultureInfo.InvariantCulture);
result.g = float.Parse(numbers[1], CultureInfo.InvariantCulture);
result.b = float.Parse(numbers[2], CultureInfo.InvariantCulture);
result.a = float.Parse(numbers[3], CultureInfo.InvariantCulture);

} catch (Exception e) {

Expand Down

0 comments on commit 80a4758

Please sign in to comment.