private void FileOpen(string[] Files, bool MergeMode) { if (!MergeMode) { Renderer.DeleteAll(); Renderer.Lights.Add(new Light() { Ambient = new Color4(0.1f, 0.1f, 0.1f, 1.0f), Diffuse = new Color4(0.9f, 0.9f, 0.9f, 1.0f), Specular0 = new Color4(0.8f, 0.8f, 0.8f, 1.0f), Specular1 = new Color4(0.4f, 0.4f, 0.4f, 1.0f), TwoSidedDiffuse = true, Enabled = true }); ResetTransforms(); Scene = FileIO.Merge(Files, Renderer); TextureManager.Textures = Scene.Textures; ModelsList.Bind(Scene.Models); TexturesList.Bind(Scene.Textures); CamerasList.Bind(Scene.Cameras); LightsList.Bind(Scene.Lights); SklAnimsList.Bind(Scene.SkeletalAnimations); MatAnimsList.Bind(Scene.MaterialAnimations); VisAnimsList.Bind(Scene.VisibilityAnimations); CamAnimsList.Bind(Scene.CameraAnimations); Animator.Enabled = false; LblAnimSpeed.Text = string.Empty; LblAnimLoopMode.Text = string.Empty; AnimSeekBar.Value = 0; AnimSeekBar.Maximum = 0; AnimGrp.Frame = 0; AnimGrp.FramesCount = 0; if (Scene.Models.Count > 0) { ModelsList.Select(0); } else { UpdateTransforms(); } } else { Scene = FileIO.Merge(Files, Renderer, Scene); } }
// Start is called before the first frame update void Start() { modelsLoader = Resources.Load <ModelsList>("ScriptableObjects/Lists/Models"); if (modelsLoader == null) { Debug.LogError("ScriptableObjects/Lists/Models File not found"); } GenerateSlots(); slots = transform.GetComponentsInChildren <InventorySlot>(); inventory = Inventory.Instance; inventory.OnItemChangedCallback += UpdateUI; }
void Delay() { _list = Resources.Load <ModelsList>("ScriptableObjects/Lists/Models"); if (_list == null) { Debug.LogError("ScriptableObjects/Lists/Models File not found"); return; } for (int i = 0; i < _list.models.Count; i++) { AdaptModel(_list.models[i].furniture); Inventory.Instance.Add(_list.models[i]); } }
public void ValidateFields() { bool interactable = true; if (string.IsNullOrEmpty(NameInput.text)) { interactable = false; } if (interactable) { string modelType = (string)ModelsList.GetValue(); switch (modelType) { case "Box": if (string.IsNullOrEmpty(BoxX.text) || string.IsNullOrEmpty(BoxY.text) || string.IsNullOrEmpty(BoxZ.text)) { interactable = false; } break; case "Sphere": if (string.IsNullOrEmpty(SphereRadius.text)) { interactable = false; } break; case "Cylinder": if (string.IsNullOrEmpty(CylinderHeight.text) || string.IsNullOrEmpty(CylinderRadius.text)) { interactable = false; } break; case "Mesh": if (string.IsNullOrEmpty(MeshId.text)) { interactable = false; } break; } } CreateNewObjectBtn.interactable = interactable; }
public void UpdateModelsMenu() { ValidateFields(); ModelsList.gameObject.SetActive(true); string modelType = (string)ModelsList.GetValue(); if (!HasSelectedParentPose()) { ShowModelMenu(null); ModelsList.gameObject.SetActive(false); } else if (ModelMenus.TryGetValue(modelType, out GameObject menu)) { ShowModelMenu(menu); } }
private void GetUserModels() { RestClient client = new RestClient("https://api.bimsync.com"); //List all models in the project RestRequest modelsRequest = new RestRequest("v2/projects/" + _projectId + "/models", Method.GET); modelsRequest.AddHeader("Authorization", "Bearer " + _access_token); IRestResponse <List <Model> > modelsResponse = client.Execute <List <Model> >(modelsRequest); ModelsList.Clear(); foreach (Model model in modelsResponse.Data) { ModelsList.Add(model); } //Is there is an existing project id ? Model selectedModel = null; if (GetValueOrDefault("model_id") != "") { _modelId = GetValueOrDefault("model_id"); selectedModel = modelsResponse.Data.Where(x => x.id == _modelId).FirstOrDefault(); if (selectedModel != null) { comboBoxModels.SelectedItem = selectedModel; } } if (selectedModel == null) { selectedModel = ModelsList.FirstOrDefault(); comboBoxModels.SelectedItem = selectedModel; } }
public MainProcessor() { ModelsList = new ModelsList(); }
public async void CreateNewObjectType() { Debug.Assert(ModelsList.Dropdown.dropdownItems.Count > 0, "No models"); Debug.Assert(ParentsList.Dropdown.dropdownItems.Count > 0, "No parent objects"); string objectId = NameInput.text; IO.Swagger.Model.ObjectModel objectModel = new IO.Swagger.Model.ObjectModel(); string modelTypeString = (string)ModelsList.GetValue(); IO.Swagger.Model.ObjectTypeMeta objectTypeMeta; if (ModelMenus.TryGetValue(modelTypeString, out GameObject type) && type != null) { IO.Swagger.Model.ObjectModel.TypeEnum modelType = new IO.Swagger.Model.ObjectModel.TypeEnum(); switch (modelTypeString) { case "Box": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Box; decimal sizeX = decimal.Parse(BoxX.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal sizeY = decimal.Parse(BoxY.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal sizeZ = decimal.Parse(BoxZ.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); // no need to transform from Unity to ROS, because we are setting those scales in ROS already //(sizeX, sizeY, sizeZ) = TransformConvertor.UnityToROSScale(sizeX, sizeY, sizeZ); IO.Swagger.Model.Box box = new IO.Swagger.Model.Box(objectId, sizeX, sizeY, sizeZ); objectModel.Box = box; break; case "Sphere": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Sphere; decimal radius = decimal.Parse(SphereRadius.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); IO.Swagger.Model.Sphere sphere = new IO.Swagger.Model.Sphere(objectId, radius); objectModel.Sphere = sphere; break; case "Cylinder": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Cylinder; decimal cylinderRadius = decimal.Parse(CylinderRadius.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal cylinderHeight = decimal.Parse(CylinderHeight.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); IO.Swagger.Model.Cylinder cylinder = new IO.Swagger.Model.Cylinder(objectId, cylinderHeight, cylinderRadius); objectModel.Cylinder = cylinder; break; case "Mesh": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Mesh; string meshId = MeshId.text; IO.Swagger.Model.Mesh mesh = new IO.Swagger.Model.Mesh(id: meshId, focusPoints: new List <IO.Swagger.Model.Pose>(), uri: ""); objectModel.Mesh = mesh; break; default: Debug.LogError("Model not defined!"); return; } objectModel.Type = modelType; objectTypeMeta = new IO.Swagger.Model.ObjectTypeMeta(builtIn: false, description: "", type: objectId, objectModel: objectModel, _base: (string)ParentsList.GetValue(), needsServices: new List <string>()); } else { objectTypeMeta = new IO.Swagger.Model.ObjectTypeMeta(builtIn: false, description: "", type: objectId, _base: (string)ParentsList.GetValue(), needsServices: new List <string>()); } bool success = await Base.GameManager.Instance.CreateNewObjectType(objectTypeMeta); if (success) { MenuManager.Instance.NewObjectTypeMenu.Close(); } }
public async void ValidateFields() { bool interactable = true; if (string.IsNullOrEmpty(NameInput.text)) { buttonTooltip.description = "Name is required parameter"; interactable = false; } if (interactable) { string modelType = (string)ModelsList.GetValue(); switch (modelType) { case "Box": if (string.IsNullOrEmpty(BoxX.text) || string.IsNullOrEmpty(BoxY.text) || string.IsNullOrEmpty(BoxZ.text)) { interactable = false; } break; case "Sphere": if (string.IsNullOrEmpty(SphereRadius.text)) { interactable = false; } break; case "Cylinder": if (string.IsNullOrEmpty(CylinderHeight.text) || string.IsNullOrEmpty(CylinderRadius.text)) { interactable = false; } break; case "Mesh": if (string.IsNullOrEmpty(MeshId.text)) { interactable = false; } break; } if (!interactable) { buttonTooltip.description = "Some parameters has invalid value"; } } if (interactable) { try { await Base.WebsocketManager.Instance.CreateNewObjectType(CreateObjectTypeMeta(), true); } catch (Base.RequestFailedException ex) { buttonTooltip.description = ex.Message; interactable = false; } } buttonTooltip.enabled = !interactable; CreateNewObjectBtn.interactable = interactable; }
private void GoToModelsList(object sender, RoutedEventArgs e) { var modelsList = new ModelsList(); NavigationService.Navigate(modelsList); }
public IO.Swagger.Model.ObjectTypeMeta CreateObjectTypeMeta() { string objectId = NameInput.text; IO.Swagger.Model.ObjectModel objectModel = new IO.Swagger.Model.ObjectModel(); string modelTypeString = (string)ModelsList.GetValue(); IO.Swagger.Model.ObjectTypeMeta objectTypeMeta; if (HasSelectedParentPose() && ModelMenus.TryGetValue(modelTypeString, out GameObject type) && type != null) { IO.Swagger.Model.ObjectModel.TypeEnum modelType = new IO.Swagger.Model.ObjectModel.TypeEnum(); switch (modelTypeString) { case "Box": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Box; decimal sizeX = decimal.Parse(BoxX.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal sizeY = decimal.Parse(BoxY.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal sizeZ = decimal.Parse(BoxZ.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); // no need to transform from Unity to ROS, because we are setting those scales in ROS already //(sizeX, sizeY, sizeZ) = TransformConvertor.UnityToROSScale(sizeX, sizeY, sizeZ); IO.Swagger.Model.Box box = new IO.Swagger.Model.Box(objectId, sizeX, sizeY, sizeZ); objectModel.Box = box; break; case "Sphere": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Sphere; decimal radius = decimal.Parse(SphereRadius.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); IO.Swagger.Model.Sphere sphere = new IO.Swagger.Model.Sphere(objectId, radius); objectModel.Sphere = sphere; break; case "Cylinder": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Cylinder; decimal cylinderRadius = decimal.Parse(CylinderRadius.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); decimal cylinderHeight = decimal.Parse(CylinderHeight.text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture); IO.Swagger.Model.Cylinder cylinder = new IO.Swagger.Model.Cylinder(objectId, cylinderHeight, cylinderRadius); objectModel.Cylinder = cylinder; break; case "Mesh": modelType = IO.Swagger.Model.ObjectModel.TypeEnum.Mesh; string meshId = MeshId.text; IO.Swagger.Model.Mesh mesh = new IO.Swagger.Model.Mesh(id: meshId, focusPoints: new List <IO.Swagger.Model.Pose>(), uri: ""); objectModel.Mesh = mesh; break; default: Debug.LogError("Model not defined!"); return(null); } objectModel.Type = modelType; objectTypeMeta = new IO.Swagger.Model.ObjectTypeMeta(builtIn: false, description: "", type: objectId, objectModel: objectModel, _base: (string)ParentsList.GetValue(), hasPose: true); } else { objectTypeMeta = new IO.Swagger.Model.ObjectTypeMeta(builtIn: false, description: "", type: objectId, _base: (string)ParentsList.GetValue(), hasPose: false); } return(objectTypeMeta); }
public ActionResult Index(ModelsList request) { ScriptEngine engine = Python.CreateEngine(); ScriptScope scope = engine.CreateScope(); var searchPaths = engine.GetSearchPaths(); searchPaths.Add(@"D:\STUDIA\FoodRecognizingApp\packages\DynamicLanguageRuntime.1.1.2"); //searchPaths.Add(@"D:\STUDIA\FoodRecognizingApp\packages\IronPython.2.7.9\lib"); //searchPaths.Add(@"C:\Users\Aleksandra\Anaconda2\Lib"); //searchPaths.Add(@"C:\Python27"); //searchPaths.Add(@"C:\Python27\Lib"); searchPaths.Add(@"C:\Users\Aleksandra\AppData\Local\Programs\Python\Python37-32\Lib"); searchPaths.Add(@"C:\Users\Aleksandra\AppData\Local\Programs\Python\Python37-32\lib\site-packages"); //searchPaths.Add(@"C:\Users\Aleksandra\AppData\Local\Programs\Python\Python37-32"); searchPaths.Add(@"D:\STUDIA\FoodRecognizingApp"); //searchPaths.Add(@"D:\STUDIA\inzynierka\projektInzynierski\src\networks"); engine.SetSearchPaths(searchPaths); String result = ""; bool isAllChecked = false; ModelsList modelsList = new ModelsList(); Model model = new Model("NASNet -Mobile", "D:\\STUDIA\\inzynierka\\models\\NasNetMobile\\NasNetMobile.hdf5"); modelsList.models.Add(model); request.photo = Request.Files["photo"]; string filePath = Path.Combine("~/App_Data/", Path.GetFileName(request.photo.FileName)); request.photo.SaveAs(Server.MapPath(Path.Combine("~/App_Data/", Path.GetFileName(request.photo.FileName)))); if (request.selected == "all") { isAllChecked = true; } else { isAllChecked = false; foreach (Model m in modelsList.models) { if (m.name == Session["model"].ToString()) { modelsList.checkedModel = m; } } } if (isAllChecked) { foreach (Model m in modelsList.models) { scope.SetVariable("photo", filePath); scope.SetVariable("model", m.path); // result = engine.Execute<string>(scope); //modelsList.results.Add(result); engine.ExecuteFile("D:\\STUDIA\\inzynierka\\projektInzynierski\\src\\networks\\predict.py", scope); result = scope.GetVariable("result"); //var psi = new ProcessStartInfo(); //psi.FileName = @"C:\Python27\python.exe"; //var script = @"D:\STUDIA\inzynierka\projektInzynierski\src\networks\predict.py"; //var photo = @"C:\Users\Aleksandra\Desktop\testowe.jpg"; //var modelPath = m.path; //psi.Arguments = $"\"{script}\" \"{photo}\" \"{modelPath}\""; //psi.UseShellExecute = false; //psi.CreateNoWindow = true; //psi.RedirectStandardOutput = true; //psi.RedirectStandardError = true; //var error = ""; //var results = ""; //using(var process = Process.Start(psi)) //{ // error = process.StandardError.ReadToEnd(); // results = process.StandardOutput.ReadToEnd(); //} // modelsList.results.Add(result); } } else { scope.SetVariable("photo", filePath); scope.SetVariable("model", request.checkedModel.path); engine.ExecuteFile("D:\\STUDIA\\inzynierka\\projektInzynierski\\src\\networks\\predict.py", scope); result = scope.GetVariable("result"); modelsList.results.Add(result); } return(View(modelsList)); }