Browse Source

Load 3mf file

Johannes Kreutz 2 years ago
parent
commit
f0de862ab0
1 changed files with 26 additions and 0 deletions
  1. 26 0
      track-client/TrackClient/Assets/TrackpointApp/SteamVRTrack.cs

+ 26 - 0
track-client/TrackClient/Assets/TrackpointApp/SteamVRTrack.cs

@@ -23,6 +23,13 @@ public class SteamVRTrack : MonoBehaviour
         CModel model = Wrapper.CreateModel();
         CReader reader = model.QueryReader("3mf");
         reader.ReadFromFile(filePath);
+        CMeshObjectIterator iterator = model.GetMeshObjects();
+        CMeshObject fileMesh = getSteamVrMesh(iterator);
+        if (fileMesh == null)
+        {
+            return;
+        }
+        
 
         Vector3[] vertices = new Vector3[4]
         {
@@ -68,4 +75,23 @@ public class SteamVRTrack : MonoBehaviour
     {
         
     }
+
+    CMeshObject getSteamVrMesh(CMeshObjectIterator iterator)
+    {
+        iterator.MoveNext();
+        bool found = false;
+        ulong count = iterator.Count();
+        CMeshObject fileMesh = iterator.GetCurrentMeshObject();
+        for (ulong i = 1; i < count; i++)
+        {
+            if (fileMesh.GetName() == "steamvrtrack")
+            {
+                return fileMesh;
+            }
+            iterator.MoveNext();
+            fileMesh = iterator.GetCurrentMeshObject();
+        }
+
+        return null;
+    }
 }