public override void AddedToDocument(GH_Document document) { base.AddedToDocument(document); SenderGuids = new List <string>(); if (SerialisedReceiver != null) { Receiver = new SpeckleReceiver(SerialisedReceiver, new GhRhConveter()); StreamId = Receiver.GetStreamId(); ApiUrl = Receiver.GetServer(); Token = Receiver.GetToken(); RegistermyReceiverEvents(); } else { var myForm = new SpecklePopup.MainWindow(); var some = new System.Windows.Interop.WindowInteropHelper(myForm) { Owner = Rhino.RhinoApp.MainWindowHandle() }; myForm.ShowDialog(); if (myForm.restApi != null && myForm.apitoken != null) { ApiUrl = myForm.restApi; Token = myForm.apitoken; } } ExpireComponentAction = () => this.ExpireSolution(true); }
protected override void SolveInstance(IGH_DataAccess DA) { string inputId = null; DA.GetData(0, ref inputId); Debug.WriteLine("StreamId: " + StreamId + " Read ID: " + inputId); if (ApiUrl == null || Token == null) { AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Failed to init. No server details."); return; } if (inputId == null && StreamId == null) { Debug.WriteLine("No streamId to listen to."); return; } else if ((inputId != StreamId) && (inputId != null)) { Debug.WriteLine("changing streamid"); StreamId = inputId; if (Receiver != null) { Receiver.Dispose(); } Receiver = new SpeckleReceiver(ApiUrl, Token, StreamId, new GhRhConveter()); RegistermyReceiverEvents(); Message = ""; return; } SetObjects(DA, Objects, Layers); }
protected override void SolveInstance(IGH_DataAccess DA) { string inputId = null; DA.GetData(0, ref inputId); Debug.WriteLine("StreamId: " + streamId + " Read ID: " + inputId); if (apiUrl == null || token == null) { this.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, "Failed to init. No server details."); return; } if (inputId == null && streamId == null) { Debug.WriteLine("No streamId to listen to."); return; } else if ((inputId != streamId) && (inputId != null)) { Debug.WriteLine("changing streamid"); streamId = inputId; if (myReceiver != null) { myReceiver.Dispose(); } myReceiver = new SpeckleReceiver(apiUrl, token, streamId, new GhRhConveter(true, true)); registermyReceiverEvents(); Message = ""; return; } setObjects(DA, objects, layers); }