internal System.Collections.Generic.List <com.epl.geometry.Geometry> Collect_geometries_to_union(int dim)
 {
     System.Collections.Generic.List <com.epl.geometry.Geometry> batch_to_union = new System.Collections.Generic.List <com.epl.geometry.Geometry>();
     System.Collections.Generic.List <System.Collections.Generic.KeyValuePair <int, com.epl.geometry.OperatorUnionCursor.Bin_type> > entriesToRemove = new System.Collections.Generic.List <System.Collections.Generic.KeyValuePair <int, com.epl.geometry.OperatorUnionCursor.Bin_type> >();
     System.Collections.Generic.SortedDictionary <int, com.epl.geometry.OperatorUnionCursor.Bin_type> set = m_union_bins[dim];
     foreach (System.Collections.Generic.KeyValuePair <int, com.epl.geometry.OperatorUnionCursor.Bin_type> e in set)
     {
         //int level = e.getKey();
         com.epl.geometry.OperatorUnionCursor.Bin_type bin = e.Value;
         int binVertexThreshold = 10000;
         if (m_b_done || (bin.bin_vertex_count > binVertexThreshold && bin.Geom_count() > 1))
         {
             m_dim_geom_counts[dim] -= bin.Geom_count();
             m_added_geoms          -= bin.Geom_count();
             while (bin.geometries.Count > 0)
             {
                 // empty geometries will be unioned too.
                 batch_to_union.Add(bin.Back_pair().geom);
                 bin.Pop_pair();
             }
             entriesToRemove.Add(e);
         }
     }
     entriesToRemove.ForEach(e => set.Remove(e.Key));
     return(batch_to_union);
 }
        private com.epl.geometry.Geometry Get_result_geometry(int dim)
        {
            System.Diagnostics.Debug.Assert((m_dim_geom_counts[dim] > 0));
            System.Collections.Generic.SortedDictionary <int, com.epl.geometry.OperatorUnionCursor.Bin_type> map = m_union_bins[dim];
            System.Collections.Generic.KeyValuePair <int, com.epl.geometry.OperatorUnionCursor.Bin_type>     e   = map.First();
            com.epl.geometry.OperatorUnionCursor.Bin_type bin = e.Value;
            com.epl.geometry.Geometry resG;
            resG = bin.Back_pair().geom;
            bool unioned = bin.Back_pair().unioned;

            map.Remove(e.Key);
            if (unioned)
            {
                resG = com.epl.geometry.OperatorSimplify.Local().Execute(resG, m_spatial_reference, false, m_progress_tracker);
                if (dim == 0 && resG.GetType() == com.epl.geometry.Geometry.Type.Point)
                {
                    // must
                    // return
                    // multipoint
                    // for
                    // points
                    com.epl.geometry.MultiPoint mp = new com.epl.geometry.MultiPoint(resG.GetDescription());
                    if (!resG.IsEmpty())
                    {
                        mp.Add((com.epl.geometry.Point)resG);
                    }
                    resG = mp;
                }
            }
            return(resG);
        }
Exemplo n.º 3
0
        // METHODS
        public void Run(int from)
        {
            Reset();
            openSet.Add(from, 0);// start position

            while (openSet.Count != 0)
            {
                // get closest edge
                int closestEdge = openSet.Values.Min();
                System.Collections.Generic.KeyValuePair <int, int> currentEdge = openSet.FirstOrDefault(v => v.Value == closestEdge);
                // finding shorter path
                CheckNeighbours(
                    neighbourWeight: graph.GetWeightToHeighbour(currentEdge.Key),
                    currentWeight: currentEdge.Value,
                    fromEdge: 0,
                    toEdge: graph.Size);
                // remove processed edge
                openSet.Remove(currentEdge.Key);
                closedSet.Add(currentEdge.Key, currentEdge.Value);
                path.Add(currentEdge.Key);
            }
        }
        private void QrTracker_Removed(QRCodeRemovedEventArgs args)
        {
            lock (qrCodesList)
            {
                qrCodesList.Remove(args.Code.Id);
            }
            var handlers = QRCodeRemoved;

            if (handlers != null)
            {
                handlers(this, QRCodeEventArgs.Create(args.Code));
            }
        }
        private void QRCodeWatcher_Removed(object sender, QRCodeRemovedEventArgs args)
        {
            Debug.Log("QRCodesManager QRCodeWatcher_Removed");


            lock (qrCodesList)
            {
                if (qrCodesList.ContainsKey(args.Code.Id))
                {
                    qrCodesList.Remove(args.Code.Id);
                }
            }
            if (OnQRCode != null)
            {
                OnQRCode(args.Code, QREventType.Removed);
            }
        }
Exemplo n.º 6
0
 private void HandleEvents()
 {
     lock (pendingActions)
     {
         while (pendingActions.Count > 0)
         {
             var action = pendingActions.Dequeue();
             if (action.type == ActionData.Type.Added)
             {
                 GameObject qrCodeObject = Instantiate(qrCodePrefab, new Vector3(0, 0, 0), Quaternion.identity);
                 qrCodeObject.GetComponent <SpatialGraphCoordinateSystem>().Id = action.qrCode.Id;
                 qrCodeObject.GetComponent <QRCode>().qrCode = action.qrCode;
                 qrCodesObjectsList.Add(action.qrCode.Id, qrCodeObject);
             }
             else if (action.type == ActionData.Type.Updated)
             {
                 if (!qrCodesObjectsList.ContainsKey(action.qrCode.Id))
                 {
                     GameObject qrCodeObject = Instantiate(qrCodePrefab, new Vector3(0, 0, 0), Quaternion.identity);
                     qrCodeObject.GetComponent <SpatialGraphCoordinateSystem>().Id = action.qrCode.Id;
                     qrCodeObject.GetComponent <QRCode>().qrCode = action.qrCode;
                     qrCodesObjectsList.Add(action.qrCode.Id, qrCodeObject);
                 }
             }
             else if (action.type == ActionData.Type.Removed)
             {
                 if (qrCodesObjectsList.ContainsKey(action.qrCode.Id))
                 {
                     Destroy(qrCodesObjectsList[action.qrCode.Id]);
                     qrCodesObjectsList.Remove(action.qrCode.Id);
                 }
             }
         }
     }
     if (clearExisting)
     {
         clearExisting = false;
         foreach (var obj in qrCodesObjectsList)
         {
             Destroy(obj.Value);
         }
         qrCodesObjectsList.Clear();
     }
 }
Exemplo n.º 7
0
        public void ISortedPartialFunction_Test()
        {
            var reference = new System.Collections.Generic.SortedDictionary <string, int>();
            var f         = Common.Container.GetInstance <ISortedPartialFunction <string, int> >();

            var sentence = @"A man a plan a canal panama. That is a palindrome.  Blah, donkey's are fun like myopic squid. blah what
carl mike time john, 845 the apricot is not an orange, it is an orange not it is the other indeed";
            var words    = sentence.Split(' ');

            foreach (var w in words)
            {
                f.Add(w, w.Length);
                reference[w] = w.Length;
            }

            Assert.AreEqual(f.Count(), reference.Count);

            f.Remove("palindrome.");
            reference.Remove("palindrome.");

            Assert.AreEqual(f.Count(), reference.Count);

            int xc;

            Assert.IsFalse(f.TryApply("palindrome.", out xc));

            foreach (var w in words)
            {
                int c;
                var found = f.TryApply(w, out c);
                Assert.IsTrue(w == "palindrome." || found);
                if (w != "palindrome.")
                {
                    Assert.AreEqual(c, w.Length);
                }
            }

            Assert.AreEqual(f.Count(), reference.Count);

            var rr = string.Join(";", reference.Select(kvp => kvp.Key));
            var uu = string.Join(";", f.EnumerateSorted().Select(kvp => kvp.Item1));

            Assert.AreEqual(rr, uu);
        }
        static StackObject *Remove_3(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int64 @key = *(long *)&ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Collections.Generic.SortedDictionary <System.Int64, System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance> > instance_of_this_method = (System.Collections.Generic.SortedDictionary <System.Int64, System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance> >) typeof(System.Collections.Generic.SortedDictionary <System.Int64, System.Collections.Generic.List <ILRuntime.Runtime.Intepreter.ILTypeInstance> >).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags) 0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.Remove(@key);

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value      = result_of_this_method ? 1 : 0;
            return(__ret + 1);
        }
Exemplo n.º 9
0
        private void QrTracker_Removed(QRCodeRemovedEventArgs args)
        {
            Debug.Log("QRCodesManager QrTracker_Removed");

            bool found = false;

            lock (qrCodesList)
            {
                if (qrCodesList.ContainsKey(args.Code.Id))
                {
                    qrCodesList.Remove(args.Code.Id);
                }
            }
            if (found)
            {
                var handlers = QRCodeRemoved;
                if (handlers != null)
                {
                    handlers(this, QRCodeEventArgs.Create(args.Code));
                }
            }
        }
Exemplo n.º 10
0
        private void HandleEvents()
        {
            lock (pendingActions)
            {
                while (pendingActions.Count > 0)
                {
                    var action = pendingActions.Dequeue();
                    if (action.type == ActionData.Type.Added)
                    {
                        GameObject qrCodeObject = Instantiate(qrCodePrefab, new Vector3(0, 0, 0), Quaternion.identity);
                        qrCodeObject.GetComponent <SpatialGraphNodeTracker>().Id = action.qrCode.SpatialGraphNodeId;
                        qrCodeObject.GetComponent <QRCode>().qrCode = action.qrCode;
                        qrCodesObjectsList.Add(action.qrCode.Id, qrCodeObject);

                        //AROA EDIT - Assign object to QRCode script
                        Debug.Log("Action.qrCode.Data = " + action.qrCode.Data);
                        qrCodeObject.GetComponent <QRCode>().textToSpeech    = textToSpeech;
                        qrCodeObject.GetComponent <QRCode>().obstacleManager = obstacleManager;

                        if (action.qrCode.Data == "QR Code 1")
                        {
                            layout = "Layout 1";
                        }

                        else if (action.qrCode.Data == "QR Code 2")
                        {
                            layout = "Layout 2";
                        }

                        else if (action.qrCode.Data == "QR Code 3")
                        {
                            layout = "Layout 3";
                        }

                        else if (action.qrCode.Data == "QR Code 4")
                        {
                            layout = "Layout 4";
                        }

                        else if (action.qrCode.Data == "QR Code 5")
                        {
                            layout = "Layout 5";
                        }

                        else if (action.qrCode.Data == "QR Code 6")
                        {
                            layout = "Layout 6";
                        }

                        else if (action.qrCode.Data == "QR Code 7")
                        {
                            layout = "Layout 7";
                        }

                        else if (action.qrCode.Data == "QR Code 8")
                        {
                            layout = "Layout 8";
                        }

                        else if (action.qrCode.Data == "Demo")
                        {
                            layout = "Demo Layout";
                        }

                        else
                        {
                            layout = "Unrecognized Layout";
                        }

                        experimentLogger.layout = layout;
                        qrCodeObject.GetComponent <QRCode>().layout           = layout;
                        qrCodeObject.GetComponent <QRCode>().trackedObject    = obstacleCollection;
                        qrCodeObject.GetComponent <QRCode>().experimentLogger = experimentLogger;

                        //Assign obstacles to QR Code object
                        qrCodeObject.GetComponent <QRCode>().obstLow1  = obstLow1;
                        qrCodeObject.GetComponent <QRCode>().obstLow2  = obstLow2;
                        qrCodeObject.GetComponent <QRCode>().obstHigh1 = obstHigh1;
                        qrCodeObject.GetComponent <QRCode>().obstHigh2 = obstHigh2;
                        qrCodeObject.GetComponent <QRCode>().obstWide1 = obstWide1;
                        qrCodeObject.GetComponent <QRCode>().obstWide2 = obstWide2;
                    }
                    else if (action.type == ActionData.Type.Updated)
                    {
                        if (!qrCodesObjectsList.ContainsKey(action.qrCode.Id))
                        {
                            GameObject qrCodeObject = Instantiate(qrCodePrefab, new Vector3(0, 0, 0), Quaternion.identity);
                            qrCodeObject.GetComponent <SpatialGraphNodeTracker>().Id = action.qrCode.SpatialGraphNodeId;
                            qrCodeObject.GetComponent <QRCode>().qrCode = action.qrCode;
                            qrCodesObjectsList.Add(action.qrCode.Id, qrCodeObject);

                            //AROA EDIT
                            //QR codes created using https://www.qr-code-generator.com/
                            Debug.Log("Action.qrCode.Data = " + action.qrCode.Data);
                            qrCodeObject.GetComponent <QRCode>().textToSpeech    = textToSpeech;
                            qrCodeObject.GetComponent <QRCode>().obstacleManager = obstacleManager;


                            if (action.qrCode.Data == "QR Code 1")
                            {
                                layout = "Layout 1";
                            }

                            else if (action.qrCode.Data == "QR Code 2")
                            {
                                layout = "Layout 2";
                            }

                            else if (action.qrCode.Data == "QR Code 3")
                            {
                                layout = "Layout 3";
                            }

                            else if (action.qrCode.Data == "QR Code 4")
                            {
                                layout = "Layout 4";
                            }

                            else if (action.qrCode.Data == "QR Code 5")
                            {
                                layout = "Layout 5";
                            }

                            else if (action.qrCode.Data == "QR Code 6")
                            {
                                layout = "Layout 6";
                            }

                            else if (action.qrCode.Data == "QR Code 7")
                            {
                                layout = "Layout 7";
                            }

                            else if (action.qrCode.Data == "QR Code 8")
                            {
                                layout = "Layout 8";
                            }

                            else if (action.qrCode.Data == "Demo")
                            {
                                layout = "Demo Layout";
                            }

                            else
                            {
                                layout = "Unrecognized Layout";
                            }

                            qrCodeObject.GetComponent <QRCode>().layout           = layout;
                            qrCodeObject.GetComponent <QRCode>().trackedObject    = obstacleCollection;
                            qrCodeObject.GetComponent <QRCode>().experimentLogger = experimentLogger;

                            //Assign obstacles to QR Code object
                            qrCodeObject.GetComponent <QRCode>().obstLow1  = obstLow1;
                            qrCodeObject.GetComponent <QRCode>().obstLow2  = obstLow2;
                            qrCodeObject.GetComponent <QRCode>().obstHigh1 = obstHigh1;
                            qrCodeObject.GetComponent <QRCode>().obstHigh2 = obstHigh2;
                            qrCodeObject.GetComponent <QRCode>().obstWide1 = obstWide1;
                            qrCodeObject.GetComponent <QRCode>().obstWide2 = obstWide2;
                        }
                    }
                    else if (action.type == ActionData.Type.Removed)
                    {
                        if (qrCodesObjectsList.ContainsKey(action.qrCode.Id))
                        {
                            Destroy(qrCodesObjectsList[action.qrCode.Id]);
                            qrCodesObjectsList.Remove(action.qrCode.Id);
                        }
                    }
                }
            }
            if (clearExisting)
            {
                clearExisting = false;
                foreach (var obj in qrCodesObjectsList)
                {
                    Destroy(obj.Value);
                }
                qrCodesObjectsList.Clear();
            }
        }