public void ChangeTo(StatisticsInfo info)
        {
            Bps.SuspendUpdate();
            Pps.SuspendUpdate();

            Bps.Add(Tuple.Create(startTime, info.Bps));
            Pps.Add(Tuple.Create(startTime, info.Pps));
            startTime++;

            if (Bps.Count > MaxPoints)
            {
                Bps.RemoveAt(0);
                Pps.RemoveAt(0);
            }

            Bps.ResumeUpdate();
            Pps.ResumeUpdate();

            foreach (var key in info.TransportLayer.Keys)
            {
                TransportLayer.UpdateOrAdd(key, info.TransportLayer[key]);
            }
            foreach (var key in info.ApplicationLayer.Keys)
            {
                ApplicationLayer.UpdateOrAdd(key, info.ApplicationLayer[key]);
            }
            foreach (var key in info.NetworkLayer.Keys)
            {
                NetworkLayer.UpdateOrAdd(key, info.NetworkLayer[key]);
            }
        }
Esempio n. 2
0
        public override void Load()
        {
            Instance = this;

            NetworkLayer = new NetworkLayer();

            if (!Main.dedServ)
            {
                MouseEvents.ButtonPressed += (sender, args) =>
                {
                    if (args.Button != MouseButton.Right)
                    {
                        return;
                    }

                    if (NetworkLayer.Interact())
                    {
                        Main.mouseRight = Main.mouseRightRelease = false;
                        if (PlayerInput.MouseKeys.Contains("Mouse2"))
                        {
                            PlayerInput.MouseKeys.Remove("Mouse2");
                        }
                    }
                };
            }
        }
Esempio n. 3
0
        internal override void ConnectToInput(NetworkLayer inputLayer)
        {
            _inputLayer = inputLayer;

            Weights = new Matrix3D(inputLayer.OutputDepth, inputLayer.OutputHeight, inputLayer.OutputWidth);
            Weights.RandomInit();
        }
Esempio n. 4
0
 public static void SaveNetworkLayerWeightsToFile(NetworkLayer layer, string filename)
 {
     using (StreamWriter writer = new StreamWriter(new FileStream(filename, FileMode.Create)))
     {
         writer.Write(layer.ToString());
     }
 }
Esempio n. 5
0
 public EvaluatorInputLayer(NetworkLayer modelLayer, int multiLayers) : base(modelLayer)
 {
     OutputActivation = new NativeArray2D <float>(modelLayer.Size, EVALUATOR_BUCKET_SLICE_SIZE);
     //WeightedInput = new NativeArray2D<float>(modelLayer.Size, EVALUATOR_BUCKET_SLICE_SIZE);
     Error           = new NativeArray2D <float>(Size, EVALUATOR_BUCKET_SLICE_SIZE);
     WeightGradients = new NativeArray <float>(ModelLayer.Weights.Length, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
 }
Esempio n. 6
0
        public static MultiLayerNetwork CreateTwoLayerPerceptronNetwork(int layer1Size, int layer2Size, int inputDim)
        {
            NetworkLayer         layer1 = CreatePerceptronLayer(layer1Size, inputDim);
            NetworkLayer         layer2 = CreatePerceptronLayer(layer2Size, layer1Size);
            IList <NetworkLayer> layers = new List <NetworkLayer>()
            {
                layer1, layer2
            };

            return(MultiLayerNetwork.Of(layers));
        }
Esempio n. 7
0
        public static NetworkLayer CreatePerceptronLayer(int size, int perceptronDim)
        {
            IList <Neuron> neurons = new List <Neuron>();

            for (int i = 0; i < size; i++)
            {
                Perceptron perceptron = new Perceptron(perceptronDim);
                perceptron.InitRandomWeights();
                neurons.Add(perceptron);
            }
            return(NetworkLayer.Of(neurons));
        }
Esempio n. 8
0
        public static double CalculateErrorProbability(this NetworkLayer layer, IList <NetworkTeachingPair> teachingSet)
        {
            double errorsCount = 0;

            foreach (NetworkTeachingPair pair in teachingSet)
            {
                if (!layer.FireSignal(pair.Input).EqualsElementwiseWithPrecision(pair.Output, 0.001))
                {
                    errorsCount++;
                }
            }
            return(errorsCount / teachingSet.Count);
        }
Esempio n. 9
0
    // create a new network using two parent networks
    public NeuralNet(NeuralNet dad, NeuralNet mum)
    {
        netLayers = new NetworkLayer[layerInfo.Length - 1];

        for (int x = 0; x < netLayers.Length; x++)
        {
            // create the network layers
            netLayers[x] = new NetworkLayer(layerInfo[x], layerInfo[x + 1]);
            // generate random weights for the new neurons
            mutationValue = Random.Range(0.05f, 0.2f);
            netLayers[x].GenerateWeightsChild(dad.netLayers[x].neuronWeights, mum.netLayers[x].neuronWeights, mutationValue, mutationChance);
        }
    }
Esempio n. 10
0
    // create an initial network
    public NeuralNet()
    {
        // set number of layers
        netLayers = new NetworkLayer[layerInfo.Length - 1];

        for (int x = 0; x < netLayers.Length; x++)
        {
            // create the network layers
            netLayers[x] = new NetworkLayer(layerInfo[x], layerInfo[x + 1]);
            // generate random weights for the new neurons
            netLayers[x].GenerateWeights(minWeight, maxWeight);
        }
    }
Esempio n. 11
0
        public static void Main()
        {
            // write your code here
            LinkLayer        ll      = new LinkLayer();
            NetworkLayer     network = new NetworkLayer(1, ll);
            ApplicationLayer app     = new ApplicationLayer(network);

            ll.NewMessageReceived += BlinkLed;

            _device = new LocalDevice(999, app, "Netduino", "Netduino");

            ll.Start();
        }
        public void DrawNetwork(List <NetworkLayer> layers)
        {
            List <ScatterPoint> previousLayerPoints = new List <ScatterPoint>();

            for (int l = 0; l < layers.Count; l++)
            {
                NetworkLayer layer = layers[l];

                OxyPlot.Wpf.ScatterSeries series = new OxyPlot.Wpf.ScatterSeries();
                series.MarkerType = OxyPlot.MarkerType.Circle;
                series.MarkerSize = 5;
                OxyPlotControl.Series.Add(series);
                ObservableCollection <ScatterPoint> points = new ObservableCollection <ScatterPoint>();

                for (int i = 0; i < layer.NeuronsNumber; i++)
                {
                    OxyPlot.Wpf.LineSeries lineSeries = new OxyPlot.Wpf.LineSeries();
                    lineSeries.Color           = Color.FromArgb(128, 78, 97, 102);
                    lineSeries.StrokeThickness = 1;
                    lineSeries.DataFieldX      = "X";
                    lineSeries.DataFieldY      = "Y";
                    lineSeries.MarkerSize      = 0;
                    lineSeries.LineStyle       = OxyPlot.LineStyle.Solid;
                    OxyPlotControl.Series.Add(lineSeries);

                    double x = schemaHeight - l * (schemaHeight / (double)layers.Count);
                    double y = schemaWidth - i * (schemaWidth / (double)layer.NeuronsNumber);

                    points.Add(new ScatterPoint(x, y));

                    ObservableCollection <NeuronDataPoint> linePoints = new ObservableCollection <NeuronDataPoint>();
                    foreach (var previousLayerPoint in previousLayerPoints)
                    {
                        linePoints.Add(new NeuronDataPoint(x, y, 5.5));
                        linePoints.Add(new NeuronDataPoint(previousLayerPoint.X, previousLayerPoint.Y, 5.5));
                    }

                    lineSeries.ItemsSource         = linePoints;
                    lineSeries.TrackerFormatString = "Waga: {Weight}";
                }

                previousLayerPoints = new List <ScatterPoint>(points);

                series.ItemsSource         = points;
                series.TrackerFormatString = "";
            }

            OxyPlotControl.InvalidatePlot(true);
            OxyPlotControl.IsLegendVisible = false;
        }
Esempio n. 13
0
 void Start()
 {
     net                 = UnityEngine.Object.FindObjectOfType <NetworkLayer>();
     hostButton          = gameObject.transform.FindChild("Host Button").GetComponent <Button>();
     connectButton       = gameObject.transform.FindChild("Connect Button").GetComponent <Button>();
     startButton         = gameObject.transform.FindChild("Start Button").GetComponent <Button>();
     backButton          = gameObject.transform.FindChild("Back Button").GetComponent <Button>();
     addressInput        = gameObject.transform.FindChild("Address Input").GetComponent <InputField>();
     label               = gameObject.transform.FindChild("Info Label").GetComponent <Text>();
     connectionList      = gameObject.transform.FindChild("Connection List").GetComponent <Text>();
     defaultLabel        = label.text;
     defaultStart        = startButton.gameObject.transform.GetComponentInChildren <Text>().text;
     connectionList.text = "Connected hosts:";
 }
Esempio n. 14
0
        StandardFeedForward _ReadFeedForward(NetworkLayer layer)
        {
            var descriptor = LayerDescriptor.CreateFrom(layer);

            var bias = _lap.Create(layer.OutputSize, 0f);

            bias.Data = layer.Bias;

            var weight = _lap.Create(layer.InputSize, layer.OutputSize, 0f);

            weight.Data = layer.Weight;

            return(new StandardFeedForward(weight, bias, _activation[descriptor.Activation]));
        }
Esempio n. 15
0
        private Dictionary <string, NetworkLayer> processLayers(Dictionary <string, NetworkLayer> sourcedictionary, Dictionary <string, NetworkLayer> destinationDictionary)
        {
            Dictionary <string, NetworkLayer> differences = new Dictionary <string, NetworkLayer>();

            foreach (KeyValuePair <string, NetworkLayer> g in sourcedictionary)
            {
                NetworkLayer ignoreme = null;
                if (!destinationDictionary.TryGetValue(g.Key, out ignoreme))
                {
                    differences.Add(g.Key, g.Value);
                }
            }
            return(differences);
        }
Esempio n. 16
0
 /// <summary>
 /// Creates a descriptor from a network layer
 /// </summary>
 /// <param name="layer">The network layer to use as a source</param>
 public static LayerDescriptor CreateFrom(NetworkLayer layer)
 {
     return(new LayerDescriptor {
         Activation = layer.Activation,
         WeightInitialisation = layer.WeightInitialisation,
         Regularisation = layer.Regularisation,
         WeightUpdate = layer.WeightUpdate,
         LayerTrainer = layer.LayerTrainer,
         Lambda = layer.Lambda,
         Momentum = layer.Momentum,
         DecayRate = layer.DecayRate,
         DecayRate2 = layer.DecayRate2,
         Dropout = layer.Dropout
     });
 }
Esempio n. 17
0
 void Start()
 {
     controller = UnityEngine.Object.FindObjectOfType <GameController>();
     net        = UnityEngine.Object.FindObjectOfType <NetworkLayer>();
     UpdateModeText();
     backPack     = new GameObject[backPackCapacity];
     backPackText = new Text[backPackCapacity];
     for (int i = 0; i < backPackCapacity; i++)
     {
         backPackText[i] = Instantiate(backPackTextPrefeb) as Text;
         backPackText[i].transform.SetParent(canvas.transform);
         backPackText[i].rectTransform.anchoredPosition = new Vector2(-10f, -10f - 20f * i);
     }
     ShowBackPackItem();
 }
Esempio n. 18
0
        public static void Main()
        {
            NetworkLayer net = Singleton.Instance;

            if (net == null)
            {
                Debug.Print("Failed to initialize network layer");
                return;
            }

            Monitor monitor = new Monitor();

            NetworkTest test = new NetworkTest(net, monitor);

            test.Run(null);
        }
Esempio n. 19
0
        public void Run()
        {
            NetworkLayer lastLayer = null;

            double[] previousOutput = inputLayer.inputs;
            foreach (NetworkLayer layer in this.hiddenLayers)
            {
                layer.forward(previousOutput);
                previousOutput = layer.outputs;
                lastLayer      = layer;
            }
            outputLayer.data            = this.data;
            outputLayer.lastHiddenLayer = lastLayer;
            outputLayer.softmax();
            loss = outputLayer.loss();
            Console.WriteLine("Loss: " + outputLayer.loss());
        }
Esempio n. 20
0
    // set up object references and init variables
    void Start()
    {
        pickup                 = FindObjectOfType <PickupObject>();
        net                    = Object.FindObjectOfType <NetworkLayer>();
        player                 = pickup.gameObject;
        playerCamera           = GameObject.Find("Main Camera").GetComponent <Camera>();
        birdViewCamera         = GameObject.Find("Bird View Camera").GetComponent <Camera>();
        playerViewCanvas       = GameObject.Find("Player View Canvas").GetComponent <Canvas>();
        playerView             = true;
        birdViewCamera.enabled = false;
        Object.FindObjectOfType <CameraController>().enabled = false;
        var i = 0;

        foreach (var obj in FindObjectsOfType <Pickupable>())
        {
            obj.id = ++i;
        }
    }
        public void build(Configuration configuration)
        {
            NetworkLayer[] hiddenLayers = new NetworkLayer[configuration.hiddenLayersSize + 1];
            int            i            = 0;
            int            lastDim      = configuration.inputDimension;

            foreach (int dim in configuration.hiddenLayersDimensions)
            {
                hiddenLayers[i] = new NetworkLayer(lastDim, dim);
                lastDim         = dim;
                i += 1;
            }
            hiddenLayers[i] = new NetworkLayer(lastDim, configuration.outputDimension);
            model           = new NeuralNetworkModel(

                hiddenLayers,
                new OutputLayer()

                );
        }
Esempio n. 22
0
        public static bool AddDataset(IBasicMap pBasicMap, IDatasetName pDatasetName, Collection <object> m_DatasetCol, bool blnAddData)
        {
            bool functionReturnValue = false;

            functionReturnValue = false;
            ////如果是特征数据集,则添加里边的所有要素类
            IFeatureDataset pFeatDS      = default(IFeatureDataset);
            IEnumDataset    pEnumDataSet = default(IEnumDataset);
            IDataset        pDataset     = default(IDataset);
            IFeatureClass   pFeatCls     = default(IFeatureClass);
            IFeatureLayer   pFeatLayer   = default(IFeatureLayer);
            IName           pName        = default(IName);
            ILayer          pLayer       = default(ILayer);
            ITopologyLayer  pTopoLayer   = default(ITopologyLayer);
            //Dim pEnumLyr As IEnumLayer
            ITinWorkspace              pTinWS            = default(ITinWorkspace);
            IEnumFeatureClass          pEnumFeatCls      = null;
            IRasterCatalogDisplayProps pRasterCatalogPro = default(IRasterCatalogDisplayProps);

            //ClsErrorHandle pfrmError = new ClsErrorHandle();
            //ClsLayerRender pLayerRender = null;


            if (pDatasetName is IFeatureDatasetName)
            {
                pName   = pDatasetName as IName;
                pFeatDS = pName.Open() as IFeatureDataset;

                pEnumDataSet = pFeatDS.Subsets;
                pDataset     = pEnumDataSet.Next();

                m_DatasetCol.Add(pDataset);
                if (pDataset == null)
                {
                    return(false);
                }
                ////根据数据集的类型,添加特征数据集中的所有要素类(拓扑,一般的,栅格目录,网络)
                while ((pDataset != null))
                {
                    if (pDataset.Type == esriDatasetType.esriDTFeatureClass)
                    {
                        //pLayerRender = new ClsLayerRender();
                        //// 陈昉  2008-12-3  修改 修改原因 添加SDE图层时从数据库读取符号化信息
                        //pFeatLayer = null;
                        //if (pDataset.Workspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace)
                        //{
                        //    pFeatLayer = pLayerRender.GetRendererLayer((IFeatureClass)pDataset);
                        //}
                        if (pFeatLayer == null)
                        {
                            pFeatLayer              = new FeatureLayer();
                            pFeatCls                = pDataset as IFeatureClass;
                            pFeatLayer.Name         = pFeatCls.AliasName;
                            pFeatLayer.FeatureClass = pFeatCls;
                        }

                        if (pDataset.Type == esriDatasetType.esriDTRasterCatalog)
                        {
                            // Dim pRaster
                        }

                        if (blnAddData == true)
                        {
                            //pMap.AddLayer pFeatLayer
                            AddLyrToBasicMap(pBasicMap, pFeatLayer);
                            SortLayer(pBasicMap, pFeatLayer);
                        }
                        // pSelectedCln.Add(pFeatLayer)
                    }
                    else if (pDataset.Type == esriDatasetType.esriDTTopology)
                    {
                        pTopoLayer          = new TopologyLayer() as ITopologyLayer;
                        pTopoLayer.Topology = pDataset as ITopology;
                        pLayer      = pTopoLayer as ILayer;
                        pLayer.Name = pDataset.Name;

                        if (blnAddData == true)
                        {
                            //pMap.AddLayer pLayer
                            AddLyrToBasicMap(pBasicMap, pLayer);
                            SortLayer(pBasicMap, pLayer);
                        }
                        //pSelectedCln.Add(pFeatLayer)
                    }

                    pDataset = pEnumDataSet.Next();
                }
                functionReturnValue = true;


                ////添加拓扑图层
            }
            else if (pDatasetName is ITopologyName)
            {
                ITopology pTopo = null;
                pName               = pDatasetName as IName;
                pDataset            = pName.Open() as IDataset;
                pTopoLayer          = new TopologyLayer() as ITopologyLayer;
                pTopoLayer.Topology = pDataset as ITopology;
                pLayer              = pTopoLayer as ILayer;
                pLayer.Name         = pDataset.Name;
                m_DatasetCol.Add(pDataset);
                if (blnAddData == true)
                {
                    //pMap.AddLayer pLayer
                    AddLyrToBasicMap(pBasicMap, pLayer);
                    SortLayer(pBasicMap, pLayer);
                }
                //pSelectedCln.Add(pLayer)

                if (MessageBox.Show("要把拓扑里边的所有要素类也添加到当前地图中吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
                    == DialogResult.Yes)
                {
                    IFeatureClassContainer pFeatClsContainer = default(IFeatureClassContainer);
                    pFeatClsContainer = pTopo as IFeatureClassContainer;
                    pEnumFeatCls      = pFeatClsContainer.Classes;
                    pFeatCls          = pEnumFeatCls.Next();
                    pFeatLayer        = new FeatureLayer();

                    ////循环拓扑中的每个要素类,并添加到当前地图中
                    while ((pFeatCls != null))
                    {
                        pFeatLayer.FeatureClass = pFeatCls;
                        pFeatLayer.Name         = pFeatCls.AliasName;

                        if (blnAddData == true)
                        {
                            //pMap.AddLayer pFeatLayer
                            AddLyrToBasicMap(pBasicMap, pFeatLayer);
                            SortLayer(pBasicMap, pFeatLayer);
                        }
                        //pSelectedCln.Add(pFeatLayer)

                        pFeatCls = pEnumFeatCls.Next();
                    }
                }
                functionReturnValue = true;
                ////添加网络数据
            }
            else if (pDatasetName is IGeometricNetworkName)
            {
                INetworkCollection pNetworkCollection = default(INetworkCollection);
                IGeometricNetwork  pGeometricNetwork  = default(IGeometricNetwork);

                IDataset pGeoDataset = default(IDataset);

                pName       = pDatasetName as IName;
                pGeoDataset = pName.Open() as IDataset;
                m_DatasetCol.Add(pGeoDataset);
                if (pGeoDataset.Type == esriDatasetType.esriDTGeometricNetwork)
                {
                    ////这里对网络数据进行处理
                    IFeatureClassContainer pFeatureClassContainer = null;
                    pGeometricNetwork      = pGeoDataset as IGeometricNetwork;
                    pFeatureClassContainer = pGeometricNetwork as IFeatureClassContainer;

                    for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
                    {
                        pFeatCls                = pFeatureClassContainer.get_Class(i);
                        pFeatLayer              = new FeatureLayer();
                        pFeatLayer.Name         = pFeatCls.AliasName;
                        pFeatLayer.FeatureClass = pFeatCls;

                        if (blnAddData == true)
                        {
                            // pMap.AddLayer pFeatLayer
                            AddLyrToBasicMap(pBasicMap, pFeatLayer);
                            SortLayer(pBasicMap, pFeatLayer);
                        }
                        //pSelectedCln.Add(pFeatLayer)
                    }
                }
                else
                {
                    pFeatDS            = pGeoDataset as IFeatureDataset;
                    pNetworkCollection = pFeatDS as INetworkCollection;
                    ////如果是用户选择一个网络技术打开的话,肯定只有一个网络在里边,其实
                    ////可以不需要循环,而用GeometricNetwork(0)代替循环
                    for (int j = 0; j < pNetworkCollection.GeometricNetworkCount; j++)
                    {
                        pGeometricNetwork = pNetworkCollection.get_GeometricNetwork(j);
                        for (int i = 0; i <= 3; i++)
                        {
                            switch (i)
                            {
                            case 0:
                                pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleJunction);
                                break;

                            case 1:
                                pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleEdge);
                                break;

                            case 2:
                                pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexJunction);
                                break;

                            case 3:
                                pEnumFeatCls = pGeometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexEdge);
                                break;
                            }
                            pFeatCls = pEnumFeatCls.Next();
                            while ((pFeatCls != null))
                            {
                                pFeatLayer              = new FeatureLayer();
                                pFeatLayer.Name         = pFeatCls.AliasName;
                                pFeatLayer.FeatureClass = pFeatCls;
                                pFeatCls = pEnumFeatCls.Next();

                                if (blnAddData == true)
                                {
                                    //pMap.AddLayer pFeatLayer
                                    AddLyrToBasicMap(pBasicMap, pFeatLayer);
                                    SortLayer(pBasicMap, pFeatLayer);
                                }
                                // pSelectedCln.Add(pFeatLayer)

                                functionReturnValue = true;
                            }
                        }
                    }
                }

                ////添加栅格目录,并设置为显示最新时相
            }
            else if (pDatasetName is IRasterCatalogName)
            {
                pName    = pDatasetName as IName;
                pDataset = pName.Open() as IDataset;
                m_DatasetCol.Add(pDataset);
                pFeatLayer = new GdbRasterCatalogLayer() as IFeatureLayer;
                pFeatLayer.FeatureClass = pDataset as IFeatureClass;
                pFeatLayer.Name         = pDataset.Name;

                //'//如果是SDE的栅格目录
                //If pFeatLayer.DataSourceType = "SDE Raster Catalog" Then

                //    Dim pFeatLayerDef As IFeatureLayerDefinition
                //    pFeatLayerDef = pFeatLayer

                //    '//设置最初显示地图范围内最近时相的数据
                //    pFeatLayerDef.DefinitionExpression = "objectid in (select objectid from" & vbNewLine & _
                //        "(select a.objectid, b.receive_date,rank()" & vbNewLine & _
                //        "over(partition by a.name,a.resolution order by b.receive_date desc) as cid" & vbNewLine & _
                //        "from " & pFeatLayer.Name & " a, sj_t_tense b" & vbNewLine & _
                //        "where a.tense = b.tense" & vbNewLine & "and b.online_state = 1) t2" & vbNewLine & _
                //        "where " & pFeatLayer.Name & ".objectid=t2.objectid and t2.cid = 1)"

                //End If
                ////设置当栅格目录中的图幅在地图上超过16个的时候,以格网来显示,而不显示栅格本身
                pRasterCatalogPro = pFeatLayer as IRasterCatalogDisplayProps;
                ////不用数量来控制了,而以比例尺来控制
                pRasterCatalogPro.DisplayRasters = 16;
                pRasterCatalogPro.UseScale       = true;
                ////设置一个比例,在此临界栅格数据将会在框架显示与实际栅格显示之间转换
                pRasterCatalogPro.TransitionScale = 50000;

                if (blnAddData == true)
                {
                    //pMap.AddLayer pFeatLayer
                    AddLyrToBasicMap(pBasicMap, pFeatLayer);
                    //SortLayer(pBasicMap, pFeatLayer)
                }
                //pSelectedCln.Add(pFeatLayer)
                functionReturnValue = true;
            }
            else if (pDatasetName is IRasterDatasetName)
            {
                IRasterLayer pRasterLayer = default(IRasterLayer);
                pName    = pDatasetName as IName;
                pDataset = pName.Open() as IDataset;
                m_DatasetCol.Add(pDataset);
                pRasterLayer = new RasterLayer();
                pRasterLayer.CreateFromDataset((IRasterDataset)pDataset);
                pRasterLayer.Name = pDataset.Name;
                AddLyrToBasicMap(pBasicMap, pRasterLayer);
                functionReturnValue = true;
                ////添加TIN图层
            }
            else if (pDatasetName is ITinWorkspace)
            {
                pTinWS = pDatasetName as ITinWorkspace;
                ITinLayer pTinLyr = default(ITinLayer);
                pTinLyr         = new TinLayer();
                pTinLyr.Dataset = pTinWS.OpenTin(pDatasetName.Name);
                pTinLyr.Name    = pDatasetName.Name;

                if (blnAddData == true)
                {
                    //pMap.AddLayer pTinLyr
                    AddLyrToBasicMap(pBasicMap, pTinLyr);
                    SortLayer(pBasicMap, pTinLyr);
                }
                //pSelectedCln.Add(pTinLyr)
                functionReturnValue = true;
            }
            else if (pDatasetName is INetworkDatasetName)
            {
                //Dim pNetWorkDS As INetworkDataset
                try
                {
                    INetworkLayer pNetLayer = default(INetworkLayer);

                    pName     = pDatasetName as IName;
                    pNetLayer = new NetworkLayer() as INetworkLayer;
                    pNetLayer.NetworkDataset = pName.Open() as INetworkDataset;
                    pLayer      = pNetLayer as ILayer;
                    pLayer.Name = pName.NameString;
                    if (blnAddData == true)
                    {
                        AddLyrToBasicMap(pBasicMap, pLayer);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "异常", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                ////添加一般的要素类,未写完。。。。。。
            }
            else
            {
                pName    = pDatasetName as IName;
                pDataset = pName.Open() as IDataset;
                pFeatCls = pDataset as IFeatureClass;
                m_DatasetCol.Add(pDataset);
                if (pFeatCls.FeatureType == esriFeatureType.esriFTAnnotation)
                {
                    pFeatLayer = new FDOGraphicsLayer() as IFeatureLayer;
                }
                else if (pFeatCls.FeatureType == esriFeatureType.esriFTDimension)
                {
                    pFeatLayer = new DimensionLayer() as IFeatureLayer;
                }
                else
                {
                    pFeatLayer = new FeatureLayer();
                    //pLayerRender = new ClsLayerRender();
                    //// 陈昉  2008-12-3  修改 修改原因 添加SDE图层时从数据库读取符号化信息
                    //if (pDataset.Workspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace)
                    //{
                    //    pFeatLayer = pLayerRender.GetRendererLayer((IFeatureClass)pDataset);
                    //}
                }
                //印骅 20081205 添加"Not"
                if ((pFeatLayer != null))
                {
                    //pFeatLayer.Name = pDataset.Name
                    pFeatLayer.Name         = pFeatCls.AliasName;
                    pFeatLayer.FeatureClass = pDataset as IFeatureClass;
                }
                if (blnAddData == true)
                {
                    //pMap.AddLayer pFeatLayer

                    AddLyrToBasicMap(pBasicMap, pFeatLayer);
                    SortLayer(pBasicMap, pFeatLayer);
                }
                //pSelectedCln.Add(pFeatLayer)

                functionReturnValue = true;
            }

            return(functionReturnValue);

            //'//添加Coverage图层
            //ElseIf vItem.SmallIcon = "Coverage" Then
            //AddSelectedLayer = ADDCoverageLayer(pMap, pCurrentFilePath.Path, _
            //vItem.Text, pSelectedCln, blnAddData)
        }
Esempio n. 23
0
 internal abstract void ConnectToInput(NetworkLayer inputLayer);
Esempio n. 24
0
    public WWW networkCall(int url, string strJson)
    {
        NetworkLayer nl = GameObject.FindObjectOfType <NetworkLayer>();

        return(nl.syncWithServer(url, strJson));
    }
Esempio n. 25
0
    void FixedUpdate()
    {
        // Update the NetworkDriver. It schedules a job so we must wait for that job with Complete
        m_ServerDriver.ScheduleUpdate().Complete();

        // Accept all new connections
        while (true)
        {
            var con = m_ServerDriver.Accept();
            // "Nothing more to accept" is signaled by returning an invalid connection from accept
            if (!con.IsCreated)
            {
                break;
            }
            m_connections.Add(con);
            // Debug.Log("Connected is " + con.InternalId);
            // var idData = new DataStreamWriter(4, Allocator.Temp);
            //  idData.Write(con.InternalId);
            // DataStreamReader strm;

            // m_ServerDriver.PopEventForConnection(con, out strm);
            //m_ServerDriver.Send(NetworkPipeline.Null, con, idData);
        }
        List <Player> clientList = ServerManager.GetClients();

        for (int i = 0; i < m_connections.Length; ++i)
        {
            DataStreamReader  strm;
            NetworkEvent.Type cmd;
            // Pop all events for the connection
            while ((cmd = m_ServerDriver.PopEventForConnection(m_connections[i], out strm)) != NetworkEvent.Type.Empty)
            {
                if (cmd == NetworkEvent.Type.Data)
                {
                    var  readerCtx = default(DataStreamReader.Context);
                    byte data      = strm.ReadByte(ref readerCtx);
                    CMD  command   = (CMD)data;
                    switch (command)
                    {
                    case CMD.CONNECT:
                        var id = ServerManager.RegisterPlayer(m_connections[i].InternalId);
                        Debug.Log("Connected " + id);
                        byte[] idData = NetworkLayer.newCommand(CMD.CONNECT, BitConverter.GetBytes(id));
                        var    newID  = new DataStreamWriter(idData.Length, Allocator.Temp);
                        newID.Write(idData);
                        m_ServerDriver.Send(NetworkPipeline.Null, m_connections[i], newID);
                        break;

                    case CMD.PLAYER_UPDATE:
                        byte[] playerByte = strm.ReadBytesAsArray(ref readerCtx, 32);
                        var    player     = ByteConverter.toPlayer(playerByte);
                        ServerManager.OnUpdatePlayer(player);
                        break;

                    case CMD.SHOOT:
                        var shootBye  = NetworkLayer.newCommand(CMD.SHOOT, BitConverter.GetBytes(m_connections[i].InternalId));
                        var shootData = new DataStreamWriter(shootBye.Length, Allocator.Temp);
                        shootData.Write(shootBye);
                        for (int y = 0; y < m_connections.Length; ++y)
                        {
                            if (m_connections[i] != m_connections[y])
                            {
                                m_ServerDriver.Send(NetworkPipeline.Null, m_connections[y], shootData);
                            }
                        }
                        ;
                        break;

                    case CMD.PLAYER_DIE:
                        Debug.LogWarning(" S DIE");
                        var dieByte = NetworkLayer.newCommand(CMD.PLAYER_DIE, BitConverter.GetBytes(m_connections[i].InternalId));
                        var dieData = new DataStreamWriter(dieByte.Length, Allocator.Temp);
                        dieData.Write(dieByte);
                        for (int y = 0; y < m_connections.Length; ++y)
                        {
                            m_ServerDriver.Send(NetworkPipeline.Null, m_connections[y], dieData);
                        }
                        ;
                        break;
                    }
                    for (int clientIndex = 0; clientIndex < clientList.Count; clientIndex++)
                    {
                        byte[] playerData = NetworkLayer.newCommand(CMD.PLAYER_UPDATE, ByteConverter.playerToByte(clientList[clientIndex]));
                        var    player     = new DataStreamWriter(playerData.Length, Allocator.Temp);
                        player.Write(playerData);
                        m_ServerDriver.Send(NetworkPipeline.Null, m_connections[i], player);
                    }
                    ;

                    // Send the pong message with the same id as the ping
                }
                else if (cmd == NetworkEvent.Type.Disconnect)
                {
                    // This connection no longer exist, remove it from the list
                    // The next iteration will operate on the new connection we swapped in so as long as it exist the
                    // loop can continue
                    Debug.Log("Desconnected " + m_connections[i].InternalId);
                    byte[] disconnectData = NetworkLayer.newCommand(CMD.PLAYER_DISCONNECTED, BitConverter.GetBytes(m_connections[i].InternalId));
                    var    player         = new DataStreamWriter(disconnectData.Length, Allocator.Temp);
                    player.Write(disconnectData);
                    ServerManager.OnDisconnectPlayer(m_connections[i].InternalId);
                    m_connections.RemoveAtSwapBack(i);
                    for (int y = 0; y < m_connections.Length; ++y)
                    {
                        m_ServerDriver.Send(NetworkPipeline.Null, m_connections[y], player);
                    }
                    ;
                    if (i >= m_connections.Length)
                    {
                        break;
                    }
                }
            }
        }
    }
Esempio n. 26
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>
        /// Initializes a new instance of the KelpNet.Common.Functions.Container.DeepNetwork class.
        /// </summary>
        ///
        /// <param name="function">     The function. </param>
        /// <param name="name">         (Optional) The name. </param>
        /// <param name="inputNames">   (Optional) List of names of the inputs. </param>
        /// <param name="outputNames">  (Optional) List of names of the outputs. </param>
        ////////////////////////////////////////////////////////////////////////////////////////////////////

        public DeepNetwork([CanBeNull] NetworkLayer function, [CanBeNull] string name = FUNCTION_NAME, [CanBeNull] string[] inputNames = null, [CanBeNull] string[] outputNames = null) : base(name, inputNames, outputNames)
        {
            Layers = new[] { function };
        }
Esempio n. 27
0
        public void LoadData(IList ilist_0)
        {
            try
            {
                List <ILayer> list = new List <ILayer>();
                for (int i = 0; i < ilist_0.Count; i++)
                {
                    if (ilist_0[i] is IGxLayer)
                    {
                        list.Add((ilist_0[i] as IGxLayer).Layer);
                    }
                    else
                    {
                        IGxDataset gxDataset = ilist_0[i] as IGxDataset;
                        if (gxDataset != null)
                        {
                            IDataset dataset = gxDataset.Dataset;
                            if (dataset != null)
                            {
                                if (dataset.Type == esriDatasetType.esriDTFeatureClass)
                                {
                                    IFeatureClass featureClass = (IFeatureClass)dataset;
                                    IFeatureLayer featureLayer;
                                    if ((gxDataset as IGxObject).Category.IndexOf("CAD") != -1)
                                    {
                                        if (featureClass.FeatureType == esriFeatureType.esriFTCoverageAnnotation)
                                        {
                                            featureLayer = new CadAnnotationLayer() as IFeatureLayer;
                                        }
                                        else
                                        {
                                            featureLayer = new CadFeatureLayer() as IFeatureLayer;
                                        }
                                        featureLayer.FeatureClass = featureClass;
                                        featureLayer.Name         = featureClass.AliasName;
                                    }
                                    else if (featureClass.FeatureType == esriFeatureType.esriFTAnnotation)
                                    {
                                        featureLayer = new FDOGraphicsLayer() as IFeatureLayer;
                                        featureLayer.FeatureClass = featureClass;
                                        featureLayer.Name         = featureClass.AliasName;
                                    }
                                    else if (featureClass.FeatureType == esriFeatureType.esriFTDimension)
                                    {
                                        featureLayer = new DimensionLayer() as IFeatureLayer;
                                        featureLayer.FeatureClass = featureClass;
                                        featureLayer.Name         = featureClass.AliasName;
                                    }
                                    else
                                    {
                                        featureLayer = new FeatureLayer();
                                        featureLayer.FeatureClass = featureClass;
                                        featureLayer.Name         = featureClass.AliasName;
                                    }
                                    list.Add(featureLayer);
                                }
                                else if (dataset.Type == esriDatasetType.esriDTCadDrawing)
                                {
                                    if ((gxDataset as IGxObject).Category == "CAD绘图")
                                    {
                                        ICadLayer item = new CadLayer() as ICadLayer;
                                        item.CadDrawingDataset = gxDataset.Dataset as ICadDrawingDataset;
                                        item.Name = gxDataset.Dataset.Name;
                                        list.Add(item);
                                    }
                                    else
                                    {
                                        IEnumGxObject children = (gxDataset as IGxObjectContainer).Children;
                                        children.Reset();
                                        for (IGxDataset gxDataset2 = children.Next() as IGxDataset; gxDataset2 != null; gxDataset2 = (children.Next() as IGxDataset))
                                        {
                                            IFeatureClass featureClass = gxDataset2.Dataset as IFeatureClass;
                                            if (featureClass != null)
                                            {
                                                IFeatureLayer featureLayer;
                                                if (featureClass.FeatureType == esriFeatureType.esriFTAnnotation)
                                                {
                                                    featureLayer = new FDOGraphicsLayer() as IFeatureLayer;
                                                    featureLayer.FeatureClass = featureClass;
                                                    featureLayer.Name         = featureClass.AliasName;
                                                }
                                                else
                                                {
                                                    featureLayer = new CadFeatureLayer() as IFeatureLayer;
                                                    featureLayer.FeatureClass = featureClass;
                                                    featureLayer.Name         = featureClass.AliasName;
                                                }
                                                list.Add(featureLayer);
                                            }
                                        }
                                    }
                                }
                                else if (dataset.Type == esriDatasetType.esriDTFeatureDataset)
                                {
                                    IEnumDataset subsets = dataset.Subsets;
                                    subsets.Reset();
                                    for (IDataset dataset2 = subsets.Next(); dataset2 != null; dataset2 = subsets.Next())
                                    {
                                        if (dataset2.Type == esriDatasetType.esriDTFeatureClass)
                                        {
                                            IFeatureClass featureClass = dataset2 as IFeatureClass;
                                            if (featureClass.FeatureType == esriFeatureType.esriFTAnnotation)
                                            {
                                                IFeatureLayer item = new FDOGraphicsLayer() as IFeatureLayer;
                                                item.FeatureClass = featureClass;
                                                item.Name         = featureClass.AliasName;
                                                list.Add(item);
                                            }
                                            else
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass,
                                                    Name         = featureClass.AliasName
                                                });
                                            }
                                        }
                                        else if (dataset2.Type == esriDatasetType.esriDTTopology)
                                        {
                                            ITopologyLayer topologyLayer = new TopologyLayer() as ITopologyLayer;
                                            topologyLayer.Topology         = (dataset2 as ITopology);
                                            (topologyLayer as ILayer).Name = dataset2.Name;
                                            list.Add(topologyLayer as ILayer);
                                        }
                                    }
                                }
                                else if (dataset.Type == esriDatasetType.esriDTTopology)
                                {
                                    if (System.Windows.Forms.MessageBox.Show("是否将参加拓扑-" + dataset.Name + "-的所有要素添加到地图中", "添加拓扑层", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Asterisk) == System.Windows.Forms.DialogResult.Yes)
                                    {
                                        IEnumFeatureClass classes = (dataset as IFeatureClassContainer).Classes;
                                        classes.Reset();
                                        for (IFeatureClass featureClass2 = classes.Next(); featureClass2 != null; featureClass2 = classes.Next())
                                        {
                                            list.Add(new FeatureLayer
                                            {
                                                FeatureClass = featureClass2,
                                                Name         = featureClass2.AliasName
                                            });
                                        }
                                    }
                                    ITopologyLayer topologyLayer = new TopologyLayer() as ITopologyLayer;
                                    topologyLayer.Topology         = (dataset as ITopology);
                                    (topologyLayer as ILayer).Name = dataset.Name;
                                    list.Add(topologyLayer as ILayer);
                                }
                                else if (dataset.Type == esriDatasetType.esriDTTin)
                                {
                                    list.Add(new TinLayer
                                    {
                                        Dataset = (ITin)dataset,
                                        Name    = dataset.Name
                                    });
                                }
                                else if (dataset.Type == esriDatasetType.esriDTRasterDataset || dataset.Type == esriDatasetType.esriDTRasterBand)
                                {
                                    bool flag = true;
                                    if (!((IRasterPyramid)dataset).Present)
                                    {
                                        if (ApplicationRef.PyramidPromptType == PyramidPromptType.AlwaysBuildNoPrompt)
                                        {
                                            ((IRasterPyramid)dataset).Create();
                                        }
                                        else if (ApplicationRef.PyramidPromptType == PyramidPromptType.AlwaysPrompt)
                                        {
                                            System.Windows.Forms.DialogResult dialogResult = BuildPyramidSet.Show();
                                            if (dialogResult == System.Windows.Forms.DialogResult.Yes)
                                            {
                                                ((IRasterPyramid)dataset).Create();
                                            }
                                            else if (dialogResult == System.Windows.Forms.DialogResult.Cancel)
                                            {
                                                flag = false;
                                            }
                                        }
                                    }
                                    if (flag)
                                    {
                                        IRasterLayer rasterLayer = new RasterLayer
                                        {
                                            Cached = true
                                        };
                                        rasterLayer.CreateFromDataset((IRasterDataset)dataset);
                                        rasterLayer.Name = dataset.Name;
                                        list.Add(rasterLayer);
                                    }
                                }
                                else
                                {
                                    if (dataset.Type == esriDatasetType.esriDTTable)
                                    {
                                        try
                                        {
                                            IRasterCatalogTable rasterCatalogTable = new RasterCatalogTable();
                                            rasterCatalogTable.Table = (ITable)dataset;
                                            rasterCatalogTable.Update();
                                            IRasterCatalogLayer rasterCatalogLayer = new RasterCatalogLayer() as IRasterCatalogLayer;
                                            rasterCatalogLayer.Create(rasterCatalogTable);
                                            rasterCatalogLayer.Name = dataset.BrowseName;
                                            list.Add(rasterCatalogLayer);
                                            goto IL_8B0;
                                        }
                                        catch (Exception ex)
                                        {
                                            try
                                            {
                                                IStandaloneTableCollection standaloneTableCollection = this.method_0() as IStandaloneTableCollection;
                                                IPropertySet connectionProperties = dataset.Workspace.ConnectionProperties;
                                                bool         flag2 = false;
                                                for (int j = 0; j < standaloneTableCollection.StandaloneTableCount; j++)
                                                {
                                                    ITable table = standaloneTableCollection.get_StandaloneTable(j).Table;
                                                    if (
                                                        connectionProperties.IsEqual(
                                                            (table as IDataset).Workspace.ConnectionProperties) &&
                                                        (table as IDataset).Name == dataset.Name)
                                                    {
                                                        flag2 = true;
                                                    }
                                                    else
                                                    {
                                                        standaloneTableCollection.AddStandaloneTable(new StandaloneTable
                                                        {
                                                            Table = dataset as ITable
                                                        });
                                                    }
                                                }
                                            }
                                            catch (Exception exception_)
                                            {
                                                CErrorLog.writeErrorLog(this, exception_, "");
                                            }

                                            goto IL_8B0;
                                        }
                                    }
                                    if (dataset.Type == esriDatasetType.esriDTGeometricNetwork)
                                    {
                                        IGeometricNetwork geometricNetwork = dataset as IGeometricNetwork;
                                        if (geometricNetwork != null)
                                        {
                                            IEnumFeatureClass enumFeatureClass = geometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleJunction);
                                            enumFeatureClass.Reset();
                                            for (IFeatureClass featureClass3 = enumFeatureClass.Next(); featureClass3 != null; featureClass3 = enumFeatureClass.Next())
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass3,
                                                    Name         = (featureClass3 as IDataset).Name
                                                });
                                            }
                                            enumFeatureClass = geometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexJunction);
                                            enumFeatureClass.Reset();
                                            for (IFeatureClass featureClass3 = enumFeatureClass.Next(); featureClass3 != null; featureClass3 = enumFeatureClass.Next())
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass3,
                                                    Name         = (featureClass3 as IDataset).Name
                                                });
                                            }
                                            enumFeatureClass = geometricNetwork.get_ClassesByType(esriFeatureType.esriFTSimpleEdge);
                                            enumFeatureClass.Reset();
                                            for (IFeatureClass featureClass3 = enumFeatureClass.Next(); featureClass3 != null; featureClass3 = enumFeatureClass.Next())
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass3,
                                                    Name         = (featureClass3 as IDataset).Name
                                                });
                                            }
                                            enumFeatureClass = geometricNetwork.get_ClassesByType(esriFeatureType.esriFTComplexEdge);
                                            enumFeatureClass.Reset();
                                            for (IFeatureClass featureClass3 = enumFeatureClass.Next(); featureClass3 != null; featureClass3 = enumFeatureClass.Next())
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass3,
                                                    Name         = (featureClass3 as IDataset).Name
                                                });
                                            }
                                        }
                                    }
                                    else if (dataset.Type == esriDatasetType.esriDTNetworkDataset)
                                    {
                                        INetworkDataset networkDataset = dataset as INetworkDataset;
                                        INetworkLayer   item           = new NetworkLayer() as INetworkLayer;
                                        item.NetworkDataset = networkDataset;

                                        list.Add(item as ILayer);
                                        if (System.Windows.Forms.MessageBox.Show("是否将参加网络要素集-" + dataset.Name + "-的所有要素添加到地图中", "添加拓扑层", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Asterisk) == System.Windows.Forms.DialogResult.Yes)
                                        {
                                            IEnumFeatureClass classes = (dataset as IFeatureClassContainer).Classes;
                                            classes.Reset();
                                            for (IFeatureClass featureClass2 = classes.Next(); featureClass2 != null; featureClass2 = classes.Next())
                                            {
                                                list.Add(new FeatureLayer
                                                {
                                                    FeatureClass = featureClass2,
                                                    Name         = featureClass2.AliasName
                                                });
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                    IL_8B0 :;
                }
                int    num   = list.Count;
                ILayer layer = null;
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is IRasterCatalogLayer)
                    {
                        this.method_0().AddLayer(layer);
                        (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                        list.RemoveAt(i);
                        num--;
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is IRasterLayer)
                    {
                        this.method_0().AddLayer(layer);
                        (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                        list.RemoveAt(i);
                        num--;
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is ITinLayer)
                    {
                        this.method_0().AddLayer(layer);
                        (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                        list.RemoveAt(i);
                        num--;
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is ICadLayer)
                    {
                        this.method_0().AddLayer(layer);
                        (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                        list.RemoveAt(i);
                        num--;
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is IFeatureLayer)
                    {
                        IFeatureLayer featureLayer = layer as IFeatureLayer;
                        IFeatureClass featureClass = featureLayer.FeatureClass;
                        if (featureClass.ShapeType == esriGeometryType.esriGeometryPolygon || featureClass.ShapeType == esriGeometryType.esriGeometryEnvelope)
                        {
                            this.method_0().AddLayer(layer);
                            (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                            list.RemoveAt(i);
                            num--;
                        }
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is IFeatureLayer)
                    {
                        IFeatureLayer featureLayer = layer as IFeatureLayer;
                        IFeatureClass featureClass = featureLayer.FeatureClass;
                        if (featureClass.ShapeType == esriGeometryType.esriGeometryLine || featureClass.ShapeType == esriGeometryType.esriGeometryBezier3Curve || featureClass.ShapeType == esriGeometryType.esriGeometryCircularArc || featureClass.ShapeType == esriGeometryType.esriGeometryEllipticArc || featureClass.ShapeType == esriGeometryType.esriGeometryPath || featureClass.ShapeType == esriGeometryType.esriGeometryPolyline)
                        {
                            try
                            {
                                this.method_0().AddLayer(layer);
                                goto IL_B56;
                            }
                            catch
                            {
                                goto IL_B56;
                            }
                            goto IL_B4D;
IL_B56:
                            (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                            list.RemoveAt(i);
                            num--;
                        }
                    }
                    IL_B4D :;
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    if (layer is IFeatureLayer)
                    {
                        IFeatureLayer featureLayer = layer as IFeatureLayer;
                        IFeatureClass featureClass = featureLayer.FeatureClass;
                        if (featureClass.ShapeType == esriGeometryType.esriGeometryMultipoint || featureClass.ShapeType == esriGeometryType.esriGeometryPoint)
                        {
                            this.method_0().AddLayer(layer);
                            (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                            list.RemoveAt(i);
                            num--;
                        }
                    }
                }
                for (int i = num - 1; i >= 0; i--)
                {
                    layer = list[i];
                    this.method_0().AddLayer(layer);
                    (this.method_0() as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, layer, null);
                    list.RemoveAt(i);
                    num--;
                }
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }
Esempio n. 28
0
 private void InitializeOneLayerNetwork()
 {
     oneLayerNetwork = NeuralNetworksUtils.CreatePerceptronLayer(
         Commons.ONE_LAYER_NETWORK_DIM, Commons.NEURONS_DIM);
 }
Esempio n. 29
0
        public void Learn(NetworkParameters networkParameters, LearningParameters learningParameters)
        {
            using (Py.GIL())
            {
                layersModule = Py.Import("Python.layers");
                mlpModule    = Py.Import("Python.mlp");

                network = mlpModule.MultilayerPerceptron(
                    networkParameters.NumberOfEpochs,
                    networkParameters.Seed,
                    networkParameters.LearningRate,
                    networkParameters.Momentum,
                    networkParameters.Problem,
                    networkParameters.ErrType,
                    networkParameters.BiasesEnabled
                    );

                NetworkLayer previousLayer = null;
                if (networkParameters.Problem == ProblemType.REGRESSION)
                {
                    previousLayer = new NetworkLayer()
                    {
                        NeuronsNumber = 1
                    }
                }
                ;
                else if (networkParameters.Problem == ProblemType.CLASSIFICATION)
                {
                    previousLayer = new NetworkLayer()
                    {
                        NeuronsNumber = 2
                    }
                }
                ;

                NetworkLayer[] layers = networkParameters.Layers.OrderBy(x => x.LayerNumber).ToArray();

                if (networkParameters.Problem == ProblemType.REGRESSION)
                {
                    layers[layers.Length - 1].NeuronsNumber = 1;
                }
                else if (networkParameters.Problem == ProblemType.CLASSIFICATION)
                {
                    layers[layers.Length - 1].NeuronsNumber = networkParameters.ClassesNumber;
                }

                for (int i = 0; i < layers.Length; i++)
                {
                    NetworkLayer layer = layers[i];

                    dynamic curr_layer = null;
                    switch (layer.ActFun)
                    {
                    case "Sigmoid":
                        curr_layer = layersModule.SigmoidLayer(layer.NeuronsNumber, previousLayer.NeuronsNumber);
                        break;

                    case "Relu":
                        curr_layer = layersModule.ReluLayer(layer.NeuronsNumber, previousLayer.NeuronsNumber);
                        break;

                    case "Linear":
                        curr_layer = layersModule.LinearLayer(layer.NeuronsNumber, previousLayer.NeuronsNumber);
                        break;

                    case "Tanh":
                        curr_layer = layersModule.TanhLayer(layer.NeuronsNumber, previousLayer.NeuronsNumber);
                        break;

                    default:
                        System.Windows.MessageBox.Show(string.Format("Nieznana funkcja aktywacji {0}", layer.ActFun.ToString()), "Błąd", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);
                        return;
                    }

                    previousLayer = layer;

                    network.add_layer(curr_layer);
                }

                if (networkParameters.Problem == ProblemType.CLASSIFICATION)                //X - punkty, y - etykiety
                {
                    network.fit(learningParameters.Points.Select(x => new double[] { x.X, x.Y }).ToArray(), learningParameters.Points.Select(x => x.Class).ToArray());
                }
                else if (networkParameters.Problem == ProblemType.REGRESSION)                //X - wartości x, y - wartości y
                {
                    network.fit(learningParameters.Points.Select(x => x.X).ToArray(), learningParameters.Points.Select(x => x.Y).ToArray());
                }

                System.Windows.MessageBox.Show("ok");
            }
        }
Esempio n. 30
0
    void FixedUpdate()
    {
        // Update the ping client UI with the ping statistics computed by teh job scheduled previous frame since that
        // is now guaranteed to have completed
        //PingClientUIBehaviour.UpdateStats(m_numPingsSent, m_lastPingTime);

        // Update the NetworkDriver. It schedules a job so we must wait for that job with Complete
        m_ClientDriver.ScheduleUpdate().Complete();

        // If the client ui indicates we should be sending pings but we do not have an active connection we create one
        if (ServerEndPoint.IsValid && !m_clientToServerConnection.IsCreated)
        {
            m_clientToServerConnection = m_ClientDriver.Connect(ServerEndPoint);
        }
        // If the client ui indicates we should not be sending pings but we do have a connection we close that connection
        if (!ServerEndPoint.IsValid && m_clientToServerConnection.IsCreated)
        {
            ClientManager.UnregisterPlayer();
            m_clientToServerConnection.Disconnect(m_ClientDriver);
            m_clientToServerConnection = default(NetworkConnection);
        }
        if (ClientManager.instance.started && m_clientToServerConnection.IsCreated)
        {
            Player player     = ClientManager.instance.myPlayer;
            byte[] playerByte = NetworkLayer.newCommand(CMD.PLAYER_UPDATE, ByteConverter.playerToByte(player));
            var    playerData = new DataStreamWriter(playerByte.Length, Allocator.Temp);
            playerData.Write(playerByte);
            m_clientToServerConnection.Send(m_ClientDriver, playerData);
        }

        DataStreamReader strm;

        NetworkEvent.Type cmd;
        // Process all events on the connection. If the connection is invalid it will return Empty immediately
        while ((cmd = m_clientToServerConnection.PopEvent(m_ClientDriver, out strm)) != NetworkEvent.Type.Empty)
        {
            if (cmd == NetworkEvent.Type.Connect)
            {
                var commandConnect = new DataStreamWriter(1, Allocator.Temp);
                commandConnect.Write((byte)CMD.CONNECT);
                m_clientToServerConnection.Send(m_ClientDriver, commandConnect);
            }
            else if (cmd == NetworkEvent.Type.Data)
            {
                var  readerCtx = default(DataStreamReader.Context);
                byte data      = strm.ReadByte(ref readerCtx);
                CMD  command   = (CMD)data;

                switch (command)
                {
                case CMD.CONNECT:
                    ClientManager.instance.RegisterPlayer(strm.ReadInt(ref readerCtx));
                    break;

                case CMD.PLAYER_UPDATE:
                    byte[] playerByte = strm.ReadBytesAsArray(ref readerCtx, 32);
                    var    player     = ByteConverter.toPlayer(playerByte);
                    ClientManager.OnUpdatePlayer(player);
                    break;

                case CMD.PLAYER_DISCONNECTED:
                    var playerID = strm.ReadInt(ref readerCtx);
                    ClientManager.OnDisconnectPlayer(playerID);
                    Debug.Log("Client R Disconneted player: " + playerID);
                    break;

                case CMD.SHOOT:
                    var connID = strm.ReadInt(ref readerCtx);
                    ClientManager.MakeShoot(connID);
                    break;

                case CMD.PLAYER_DIE:
                    Debug.LogWarning(" C DIE");
                    var scoreID = strm.ReadInt(ref readerCtx);
                    ClientManager.ScoreIncrease(scoreID);
                    break;

                default:
                    Debug.Log("Client CMD " + Enum.GetName(typeof(CMD), command));
                    break;
                }
            }
            else if (cmd == NetworkEvent.Type.Disconnect)
            {
                // If the server disconnected us we clear out connection
                ClientManager.UnregisterPlayer();
                m_clientToServerConnection = default(NetworkConnection);
            }
        }
    }