public Scene3D Convert(string vrmlPath) { try { var tokenizer = new Vrml97Tokenizer(File.Open(vrmlPath, FileMode.Open)); var parser = new VrmlParser(tokenizer); var scene = new VrmlScene(); parser.Parse(scene); return Convert(scene); } catch (Exception exc) { return null; } }
public Scene3D Convert(VrmlScene vrml) { Scene3D scene = new Scene3D(); float[,] transformation = VrmlMath.GetUnitMatrix(); foreach (Node node in vrml.root.children) { List<Object3D> objs = ConvertNode(node, transformation); foreach (Object3D obj in objs) { if (obj != null) { if (obj is Shape3D) { scene.Shapes.Add((Shape3D)obj); } } } } return scene; }