private SceneNodeBase GetRootNode() { var group = new GroupNode(); var sphere = new Sphere(1, 40, 80); var filename = "sphere.obj_"; sphere.DumpObjFile(filename, "sphere"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "sphere"); var sphereNode = ObjVNFNode.Create(mesh); (new FormPropertyGrid(sphereNode)).Show(); group.Children.Add(sphereNode); { var planeNode = PlaneNode.Create(); planeNode.Color = new vec4(1, 1, 1, 1); planeNode.WorldPosition = new vec3(0, 1, 0); planeNode.Scale = new vec3(1, 1, 1) * 0.5f; sphereNode.Children.Add(planeNode); } { var axisNode = AxisNode.Create(); axisNode.WorldPosition = new vec3(0, 1, 0); axisNode.Scale = new vec3(1, 1, 1) * 0.5f; sphereNode.Children.Add(axisNode); } } return(group); }
static void Main(string[] args) { { Console.WriteLine("sphere"); var sphere = new Sphere(1, 40, 80); var filename = "sphere.obj_"; sphere.DumpObjFile(filename, "sphere"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "sphere"); } } { Console.WriteLine("prismoid"); var prismoid = new PrismoidModel(5, 5, 6, 6, 2); var filename = "prismoid.obj_"; prismoid.DumpObjFile(filename, "prismoid"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "prismoid"); } } { Console.WriteLine("cylinder"); var cylinder = new CylinderModel(0.25f, 6, 17); var filename = "cylinder.obj_"; cylinder.DumpObjFile(filename, "cylinder"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "cylinder"); } } { Console.WriteLine("annulus"); var annulus = new AnnulusModel(0.5f + 0.4f, 0.3f, 17, 17); var filename = "annulus.obj_"; annulus.DumpObjFile(filename, "annulus"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "annulus"); } } { Console.WriteLine("disk"); var disk = new DiskModel(0.5f + 0.4f, 0.3f, 0.3f, 17, 17); var filename = "disk.obj_"; disk.DumpObjFile(filename, "disk"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "disk"); } } { Console.WriteLine("hanoiTower"); var list = HanoiTower.GetDataSource(); uint nextIndex = 0; var positionList = new List <vec3>(); var indexList = new List <uint>(); foreach (var item in list) { vec3[] positions = item.model.GetPositions(); uint[] indexes = item.model.GetIndexes(); for (int i = 0; i < positions.Length; i++) { positionList.Add(positions[i] + item.position); } for (int i = 0; i < indexes.Length; i++) { indexList.Add(indexes[i] + nextIndex); } nextIndex += (uint)positions.Length; } var hanoiTower = new TmpModel(positionList.ToArray(), indexList.ToArray()); var filename = "HanoiTower.obj_"; hanoiTower.DumpObjFile(filename, "hanoiTower"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "hanoiTower"); } } Console.WriteLine("done"); }
static void Main(string[] args) { { Console.WriteLine("prismoid"); var prismoid = new PrismoidModel(5, 5, 6, 6, 2); var filename = "prismoid.obj"; prismoid.DumpObjFile(filename, "prismoid"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "prismoid"); } } { Console.WriteLine("cylinder"); var cylinder = new CylinderModel(0.25f, 6, 17); var filename = "cylinder.obj"; cylinder.DumpObjFile(filename, "cylinder"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "cylinder"); } } { Console.WriteLine("annulus"); var annulus = new AnnulusModel(0.5f + 0.4f, 0.3f, 17, 17); var filename = "annulus.obj"; annulus.DumpObjFile(filename, "annulus"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "annulus"); } } { Console.WriteLine("disk"); var disk = new DiskModel(0.5f + 0.4f, 0.3f, 0.3f, 17, 17); var filename = "disk.obj"; disk.DumpObjFile(filename, "disk"); var parser = new ObjVNFParser(false); ObjVNFResult result = parser.Parse(filename); if (result.Error != null) { Console.WriteLine("Error: {0}", result.Error); } else { ObjVNFMesh mesh = result.Mesh; var model = new ObjVNF(mesh); model.DumpObjFile("vnf" + filename, "disk"); } } Console.WriteLine("done"); }