diff --git a/VsiMetadata/loopsConditions.xml b/VsiMetadata/loopsConditions.xml
index 7ecbc57c0c8dc71bee52b39506671cb4b9282054..047fdd9a5053162db0eff83568f82c01c9603e25 100644
--- a/VsiMetadata/loopsConditions.xml
+++ b/VsiMetadata/loopsConditions.xml
@@ -18,8 +18,8 @@
- while ([function="test"]().out)
- [function="content"]()
+ while ([function="condition"]().out)
+ [function="content"]();
@@ -29,7 +29,7 @@
IF condition
true
-
+
Test
@@ -42,7 +42,7 @@
- if ([input="test"])
+ if ([input="condition"])
[function="true"]();
else
[function="false"]();
diff --git a/VsiMetadata/repair.xml b/VsiMetadata/repair.xml
new file mode 100644
index 0000000000000000000000000000000000000000..66d94fcdfeab7916e36bf2e18bcc4227c6b2ceb6
--- /dev/null
+++ b/VsiMetadata/repair.xml
@@ -0,0 +1,119 @@
+
+
+ Mesh Repair
+ Select long edges
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+ Minimal edge length
+ Minimal length of edges that will be selected
+ 0.0
+ 100.0
+ 0.0001
+
+
+
+ meshrepair.selectEdgesLongerThan ([input="obj"], [input="length"]);
+
+
+
+ Mesh Repair
+ Select short edges
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+ Maximal edge length
+ Maximal length of edges that will be selected
+ 0.0
+ 100.0
+ 0.0001
+
+
+
+ meshrepair.selectEdgesShorterThan ([input="obj"], [input="length"]);
+
+
+
+ Mesh Repair
+ Merge selected edges
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+
+ meshrepair.removeSelectedEdges ([input="obj"]);
+
+
+
+ Mesh Repair
+ Flips selected face normals
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+
+ meshrepair.flipOrientation ([input="obj"]);
+
+
+
+ Mesh Repair
+ Detect/Repair skinny triangles by angle
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+ Minimal angle
+ Minimal angle between adjacent faces such that an edge is selected/flipped
+ 0.0
+ 180.0
+ 0.0001
+
+
+ Flip found edges?
+ True if found sharp edges should be flipped, false to only select them
+
+
+
+ meshrepair.detectSkinnyTriangleByAngle ([input="obj"], [input="angle"], [input="remove"]);
+
+
+
+ Mesh Repair
+ Detect flat triangles
+ Detect flat triangles of valence 3
+ true
+
+
+ ID of an object
+ ID of an object
+
+
+ Maximal angle
+ Maximal angle difference to adjacent triangles such that a triangle is selected
+ 0.0
+ 180.0
+ 0.0001
+
+
+
+ meshrepair.detectFlatTriangles ([input="obj"], [input="angle"]);
+
+
+
diff --git a/parser/context.cc b/parser/context.cc
index d17b8ea16a790ec1fa0dadadbadaf7af09c4c37c..148a569032f4912e62479e093fde9a3d00fb294a 100644
--- a/parser/context.cc
+++ b/parser/context.cc
@@ -519,7 +519,7 @@ Function* Context::parseFunction (QXmlQuery &_xml, Element *_e)
QString endCode = "return { ";
foreach (Input *i, f->end_->inputs ())
- endCode += i->name () + " : '[input=\"" + i->name () + "\"]', ";
+ endCode += i->name () + " : [input=\"" + i->name () + "\"], ";
endCode.remove (endCode.length () - 2, 2);
endCode += " };\n";
diff --git a/vsiPlugin.cc b/vsiPlugin.cc
index 5c907da87f6f045837cdbd75b904b86f3e323f71..dc2cae6b29858bf16eab1fdeabf61eb8e5d16871 100644
--- a/vsiPlugin.cc
+++ b/vsiPlugin.cc
@@ -202,7 +202,7 @@ QScriptValue VsiPlugin::askForInputs(QString _element, QString _inputs)
QString script = "inputs = { ";
foreach (QString s, _inputs.split (",", QString::SkipEmptyParts))
- script += s + ": '" + results[s] + "',";
+ script += s + ": " + results[s] + ",";
script.remove (script.length () - 1, 1);