Example #1
0
        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);
        }
Example #2
0
        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);
        }