From 46421f7e2de89b96d5f4bc9163a4fcaf3b101b20 Mon Sep 17 00:00:00 2001
From: laurence <laurence>
Date: Wed, 4 Jan 2012 11:47:49 +0000
Subject: [PATCH] ENH: objToVTK: Add support for vertex normals (vn)

---
 .../mesh/manipulation/objToVTK/objToVTK.C       | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
index 5d35df2e8a7..76babb0b8c7 100644
--- a/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
+++ b/applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
@@ -127,6 +127,7 @@ int main(int argc, char *argv[])
 
     // Points and lines
     DynamicList<point> points;
+    DynamicList<vector> pointNormals;
     DynamicList<labelList> polyLines;
     DynamicList<labelList> polygons;
 
@@ -151,6 +152,14 @@ int main(int argc, char *argv[])
 
             points.append(point(x, y, z));
         }
+        else if (cmd == "vn")
+        {
+            scalar x, y, z;
+
+            lineStream >> x >> y >> z;
+
+            pointNormals.append(vector(x, y, z));
+        }
         else if (cmd == "l")
         {
             polyLines.append(parseVertices(line));
@@ -264,6 +273,14 @@ int main(int argc, char *argv[])
         }
     }
 
+    outFile << nl << "NORMALS pointNormals float\n";
+    forAll(pointNormals, i)
+    {
+        const vector& n = pointNormals[i];
+
+        outFile << n.x() << ' ' << n.y() << ' ' << n.z() << nl;
+    }
+
     Info<< "End\n" << endl;
 
     return 0;
-- 
GitLab