Exemple #1
0
        public void AddLayerPointerDown(ELayerType eLayerType, PointerEventHandler pointerEventHandler)
        {
            switch (eLayerType)
            {
            case ELayerType.eLayer_Default:
                break;

            case ELayerType.eLayer_TransparentFX:
                break;

            case ELayerType.eLayer_IgnoreRaycast:
                break;

            case ELayerType.eLayer_Water:
                break;

            case ELayerType.eLayer_UI:
                break;

            case ELayerType.eLayer_Map:
                OnLayerMapPointerDown += pointerEventHandler;
                break;

            default:
                break;
            }
        }
Exemple #2
0
        protected void InitLayerInput(LayerParamaters layerParamaters)
        {
            if (layerParamaters.LayerType != ELayerType.Input)
            {
                throw new InvalidOperationException("This constructor can only be used for input layers");
            }

            Size       = layerParamaters.NeuronCount;
            NeuronType = layerParamaters.NeuronType;
            LayerType  = layerParamaters.LayerType;

            PreviousLayerSize = -1;
        }
Exemple #3
0
        protected void InitLayer(LayerParamaters layerParamaters, LayerParamaters previousLayer)
        {
            if (layerParamaters.LayerType == ELayerType.Input)
            {
                throw new InvalidOperationException("This constructor cannot be used for input layers");
            }

            Size       = layerParamaters.NeuronCount;
            NeuronType = layerParamaters.NeuronType;
            LayerType  = layerParamaters.LayerType;

            //construct weights array
            PreviousLayerSize = previousLayer.NeuronCount;
            int weightCount = layerParamaters.NeuronCount * previousLayer.NeuronCount;

            Weights = new NativeArray <float>(weightCount, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
            Biases  = new NativeArray <float>(Size, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
        }
Exemple #4
0
        public ParamUtm(HttpRequest request) : base(request)
        {
            // parse style
            if (request["style"] == null)
            {
                throw new Exception("Param: style is missing");
            }
            string modeStr = request["style"].ToLower();

            if (modeStr.StartsWith("bt"))
            {
                mode = ERequestMode.SingleTile;
            }
            else if (modeStr.StartsWith("dt"))
            {
                mode = ERequestMode.MultiTiles;
            }
            else if (modeStr.StartsWith("so"))
            {
                mode = ERequestMode.OriginList;
            }
            else if (modeStr.StartsWith("ts"))
            {
                mode = ERequestMode.TimeSeriesList;
            }
            else
            {
                throw new Exception("Param: unknown style: " + modeStr + " request:" + request.Url.Query);
            }

            // parse layerType
            if (request["LayerType"] != null)
            {
                string layerTypeString = request["LayerType"].ToLower();
                if (layerTypeString == "fmap")
                {
                    layerType = ELayerType.FMap;
                }
                else if (layerTypeString == "mapnik")
                {
                    layerType = ELayerType.Mapnik;
                }
                else
                {
                    throw new Exception("Param: unknown LayerType: " + layerTypeString + " request:" + request.Url.Query);
                }
            }

            ////////////// parse common params used by all modes //////////////
            // required
            zone = GetIntParam("utmz1");
            res  = GetDoubleParam("res");

            // optional
            if (request["source"] != null)
            {
                originName = request["source"].ToUpper();
            }
            if (request["jcq"] != null)
            {
                jpegQuality = GetIntParam("jcq");
            }

            // optional
            overlay = request["overlay"];
            if (overlay == null)
            {
                overlay = request["composite"];
            }

            ////////////// parse different params for different modes //////////////
            // xn and yn are for SingleTile mode
            if (mode == ERequestMode.SingleTile)
            {
                tilexy.x     = GetUIntParam("xn");
                xn           = tilexy.x;
                tilexy.y     = GetUIntParam("yn");
                yn           = tilexy.y;
                tilexy.y     = ProjectionUtm.Transform_YnOld_YnNew(tilexy.y, res);
                tilexy.level = ProjectionUtm.ResToLevel(res);
            }

            // x1 y1 x2 y2 are not for single tile request
            if (mode != ERequestMode.SingleTile)
            {
                utmxy1.x   = GetDoubleParam("x1");
                utmxy1.y   = GetDoubleParam("y1");
                utmxy1.res = res;
                utmxy2.x   = GetDoubleParam("x2");
                utmxy2.y   = GetDoubleParam("y2");
                utmxy2.res = res;
                utmxy      = utmxy1;
            }

            date = 0;
            if (request["QFSOURCE_IMAGE_DATE"] != null)
            {
                Int32.TryParse(request["QFSOURCE_IMAGE_DATE"], out date);
            }
        }
Exemple #5
0
        public bool CreateLayer(int nCount, ELayerType type, ActivationSettings activationSettings)
        {
            Layer.Utility.Layer layer;
            switch (type)
            {
            case ELayerType.Invalid:
                throw new ArgumentException("Invalid \"type\" argument.");

            case ELayerType.AveragePooling:
                layer = new AveragePooling(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.AverageUnpooling:
                layer = new AverageUnpooling(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.Convolutional:
                layer = new Convolutional(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.Deconvolutional:
                layer = new Deconvolutional(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.Dropout:
                layer = new Dropout(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.FullyConnected:
                layer = new FullyConnected(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.GatedRecurrent:
                layer = new GatedRecurrent(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.LSTM:
                layer = new LSTM(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.MaxPooling:
                layer = new MaxPooling(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.MaxUnpooling:
                layer = new MaxUnpooling(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            case ELayerType.Recurrent:
                layer = new Recurrent(nCount, Layers.Count, activationSettings);
                Layers.Add(layer);
                return(true);

            default:
                throw new ArgumentException("Invalid \"type\" argument.");
            }
        }
Exemple #6
0
    public T Show <T>(ELayerType pLayer, bool pShow, JSONNode pParams) where T : GuiBase
    {
        string guiTypeName = typeof(T).ToString();

        if (pShow)
        {
            GuiBase   guiBase;
            Transform parentTrans = null;
            switch (pLayer)
            {
            case ELayerType.Back:
            {
                parentTrans           = _TransBack; // GameObject.Find("Gui/Back/Camera").transform;
                _BackUICamera.enabled = true;
            }
            break;

            case ELayerType.Front:
            {
                parentTrans = _TransFront;         // GameObject.Find("Gui/Front/Camera").transform;
                // 팝업 시 백 이밴트는 끈다.
                _BackUICamera.enabled = false;
            }
            break;

            case ELayerType.Cache:
            {
                parentTrans = _TransCache;         // GameObject.Find("Cache").transform;
            }
            break;
            }

            // 이미 보이는 중이고 리턴. parentTrans 가 같다면
            if (_showGuiEntityList.TryGetValue(guiTypeName, out guiBase))
            {
                if (parentTrans == guiBase.transform.parent)
                {
                    return(guiBase as T);
                }
                else
                {
                    guiBase.transform.parent        = parentTrans;
                    guiBase.transform.localPosition = Vector3.zero;
                    guiBase.transform.localRotation = Quaternion.identity;
                    guiBase.transform.localScale    = Vector3.one;
                    guiBase.SetParameter(pParams);

                    UIAnchor anchortmp = guiBase.GetComponent <UIAnchor>();
                    if (anchortmp)
                    {
                        anchortmp.uiCamera = parentTrans.GetComponent <Camera>();
                    }
                    return(guiBase as T);
                }
            }

            if (_hideGuiEntityList.TryGetValue(guiTypeName, out guiBase))
            {
                guiBase.StopAllCoroutines();
                guiBase.gameObject.SetActive(false);

                _hideGuiEntityList.Remove(guiTypeName);

                _showGuiEntityList.Add(guiTypeName, guiBase);

                guiBase.SetParameter(pParams);

                guiBase.gameObject.SetActive(true);

                return(guiBase as T);
            }

            for (int i = 0; i < _guiEntityPools.Count; ++i)
            {
                guiBase = _guiEntityPools[i];

                if (guiTypeName == guiBase.GetType().ToString())
                {
                    _guiEntityPools.RemoveAt(i);

                    _showGuiEntityList.Add(guiTypeName, guiBase);

                    guiBase.SetParameter(pParams);

                    guiBase.gameObject.SetActive(true);

                    return(guiBase as T);
                }
            }

            GameObject guiGO = (GameObject)GameObject.Instantiate(Resources.Load(string.Format("Gui/{0}", guiTypeName)));

            guiGO.name                    = guiTypeName;
            guiGO.transform.parent        = parentTrans;
            guiGO.transform.localPosition = Vector3.zero;
            guiGO.transform.localRotation = Quaternion.identity;
            guiGO.transform.localScale    = Vector3.one;

            guiBase = (GuiBase)guiGO.GetComponent(guiTypeName);

            _showGuiEntityList.Add(guiTypeName, guiBase);

            guiBase.SetParameter(pParams);

            // UIAnchor 가 있다면 적용.
            UIAnchor anchortmp1 = guiBase.GetComponent <UIAnchor>();
            if (anchortmp1)
            {
                anchortmp1.uiCamera = parentTrans.GetComponent <Camera>();
            }

            return(guiBase as T);
        }
        else
        {
            GuiBase guiBase = null;
            if (_showGuiEntityList.TryGetValue(guiTypeName, out guiBase))
            {
                _showGuiEntityList.Remove(guiTypeName);

                _hideGuiEntityList.Add(guiTypeName, guiBase);

                guiBase.OnFinish();

                guiBase.StopAllCoroutines();
                guiBase.gameObject.SetActive(false);
            }

            if (pLayer == ELayerType.Front)
            {
                // 팝업닫으면 백 이밴트는 다시 킨다.
                _BackUICamera.enabled = true;
            }
            return(guiBase as T);
        }
    }
Exemple #7
0
    public T Show <T>(ELayerType pLayer, bool pShow, JSONNode pParams) where T : GuiBase
    {
        string guiTypeName = typeof(T).ToString();

        return(Show_Name <T>(guiTypeName, pLayer, pShow, pParams));
    }