예제 #1
0
	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom!=RoomType.Dining ||
		   r.TypeOfRoom!=RoomType.Kitchen)
			return false;

		List<LogicHob> hobs = new List<LogicHob>();
		List<LogicSink> sinks = new List<LogicSink>();

		foreach(ILogicObject l in r.LogicObjects)
		{
			if(l.ObjectType==CellObjects.Hob)
				hobs.Add(l as LogicHob);
			else if(l.ObjectType==CellObjects.Sink)
				sinks.Add(l as LogicSink);
		}

		foreach(LogicHob hob in hobs)
		{
			foreach(LogicSink sink in sinks)
			{
				if(Vector3.Distance(sink.Center,hob.Center)<1.5f)
					return true;
			}
		}

		return false;
	}
예제 #2
0
	public bool Process (Segmentator s, Room r)
	{
		int totalPower = 0;
		if(r.TypeOfRoom==RoomType.Coridor 
		   || r.TypeOfRoom==RoomType.Storage
		   || r.TypeOfRoom==RoomType.Garage
		   || r.TypeOfRoom==RoomType.Toilet)
			return false;

		foreach(ILogicObject o in r.LogicObjects)
		{
			if(o is LogicHeater)
			{
				LogicHeater heater = o as LogicHeater;
				if(heater.Operates)
					totalPower+=heater.Power;
			}
			if(o is LogicFireplace)
			{
				LogicFireplace fire = o as LogicFireplace;
				totalPower+=fire.Power;
			}
		}

		if(totalPower<r.LogicCells.Count)
			return true;
		return false;
	}
예제 #3
0
    public bool Process(Segmentator s, Room r)
    {
        int totalPower = 0;

        if (r.TypeOfRoom == RoomType.Coridor ||
            r.TypeOfRoom == RoomType.Storage ||
            r.TypeOfRoom == RoomType.Garage ||
            r.TypeOfRoom == RoomType.Toilet)
        {
            return(false);
        }

        foreach (ILogicObject o in r.LogicObjects)
        {
            if (o is LogicHeater)
            {
                LogicHeater heater = o as LogicHeater;
                if (heater.Operates)
                {
                    totalPower += heater.Power;
                }
            }
            if (o is LogicFireplace)
            {
                LogicFireplace fire = o as LogicFireplace;
                totalPower += fire.Power;
            }
        }

        if (totalPower < r.LogicCells.Count)
        {
            return(true);
        }
        return(false);
    }
예제 #4
0
	protected override void Awake ()
	{
		base.Awake ();
		segmentator = GetComponent<Segmentator>();


	}
예제 #5
0
    private void Sale()
    {
        M.Statistic.EquipmentCost = M.UI.bCostsPanel.Expences.Value;
        Segmentator s = GetComponent <Segmentator>();

        s.Launch(LevelConditions, cells, walls);
    }
예제 #6
0
	public bool Process (Segmentator s, ILogicObject o)
	{
		bool res = false;
	
		if(o.ObjectType == CellObjects.Heater || 
		   o.ObjectType == CellObjects.HeatingPipe || 
		   o.ObjectType == CellObjects.Sink ||
		   o.ObjectType == CellObjects.Toilet)
			return false;

		o.ObjectRect.Foreach((MapPoint p) => {

			WallPoint wp;

			wp = new WallPoint(p.X,p.Y);
			if(s.Doors.ContainsKey(wp.toInt()))
				res = true;

			wp = new WallPoint(p.X+1,p.Y);
			if(s.Doors.ContainsKey(wp.toInt()))
				res = true;

			wp = new WallPoint(p.X,p.Y+1);
			if(s.Doors.ContainsKey(wp.toInt()))
				res = true;

			wp = new WallPoint(p.X+1,p.Y+1);
			if(s.Doors.ContainsKey(wp.toInt()))
				res = true;

		});
		return res;
	}
예제 #7
0
	public bool Process (Segmentator s, Room r)
	{
		if(s.Conditions.FamilySize==2 && r.TypeOfRoom==RoomType.Studio)
			return true;

		return false;
	}
예제 #8
0
        public void TestWithAdequateMinutiaeSet()
        {
            int[,] mask           = Segmentator.Segmetator(img, windowSize, weight, threshold);
            double[,] binaryImage = img; //
            //---------------------------------------
            double sigma = 1.4d;

            double[,] smoothing = LocalBinarizationCanny.Smoothing(binaryImage, sigma);
            double[,] sobel     = LocalBinarizationCanny.Sobel(smoothing);
            double[,] nonMax    = LocalBinarizationCanny.NonMaximumSupperession(sobel);
            nonMax = GlobalBinarization.Binarization(nonMax, 60);
            nonMax = LocalBinarizationCanny.Inv(nonMax);
            int sizeWin = 16;

            binaryImage = LocalBinarizationCanny.LocalBinarization(binaryImage, nonMax, sizeWin, 1.3d);
            //---------------------------------------
            binaryImage = Thining.ThinPicture(binaryImage);
            //---------------------------------------
            List <Minutia> minutiae = MinutiaeDetection.FindMinutiae(binaryImage);

            for (int i = 0; i < minutiae.Count; i++)
            {
                if (mask[minutiae[i].Y, minutiae[i].X] == 0)
                {
                    minutiae.Remove(minutiae[i]);
                    i--;
                }
            }

            minutiae = MinutiaeDetection.FindBigMinutiae(minutiae);

            var response = MCC.MCCMethod(minutiae, img.GetLength(0), img.GetLength(1));

            SaveResponse(response, minutiae);
        }
예제 #9
0
 private void MessageArrivedSegmentedCallback(object sender, MqttMsgPublishEventArgs e)
 {
     if (Segmentator.Push(Array.ConvertAll(e.Message.ToString().Split(','), double.Parse)) == true)
     {
         OnReadFinished(Segmentator.Window);
     }
 }
예제 #10
0
	public bool Process (Segmentator s, Room r)
	{
	
		if(r.TypeOfRoom==TypeOfRoom && r.Ventilated==false)
			return true;
		return false;
	}
예제 #11
0
	public bool Process (Segmentator s, Room r)
	{
		processed = new List<LogicCell>();
		Dictionary<Door,LogicCell> doorCells = new Dictionary<Door, LogicCell>();
		foreach(Door d in r.Doors)
		{
			if(doorCells.ContainsKey(d))
				continue;
			LogicCell c = null;
			MapPoint p = null;

			p =new MapPoint(d.Position.X,d.Position.Y);
			if(r.LogicCells.TryGetValue(p.toInt(),out c) && !processed.Contains(c))
			{
				processed.Add(c);
				doorCells.Add(d,c);
				continue;
			}

			p =new MapPoint(d.Position.X-1,d.Position.Y);
			if(r.LogicCells.TryGetValue(p.toInt(),out c) && !processed.Contains(c))
			{
				processed.Add(c);
				doorCells.Add(d,c);
				continue;
			}

			p =new MapPoint(d.Position.X,d.Position.Y-1);
			if(r.LogicCells.TryGetValue(p.toInt(),out c) && !processed.Contains(c))
			{
				processed.Add(c);
				doorCells.Add(d,c);
				continue;
			}

			p =new MapPoint(d.Position.X-1,d.Position.Y-1);
			if(r.LogicCells.TryGetValue(p.toInt(),out c) && !processed.Contains(c))
			{
				processed.Add(c);
				doorCells.Add(d,c);
				continue;
			}


		}

		toProcess = new List<LogicCell>(doorCells.Values);
		if(toProcess.Count==0)
			return false;

		processed.Clear();

		Recursive(toProcess[0]);

		if(toProcess.Count>0)
			return true;

		return false;
	}
예제 #12
0
        public void ExperimentMethod()
        {
            double[,] img1 = ImageHelper.LoadImage(Resources._104_6);
            int[,] resultImg1;

            resultImg1 = Segmentator.Segmetator(img1, windowSize, weight, threshold).Select2D(x => x > 0 ? 255 : 0);
            ImageHelper.SaveIntArray(resultImg1, Path.GetTempPath() + "Segm_104_6" + ".png");
        }
예제 #13
0
/*
	public override string Name {
		get {
			return base.Name+": "+Enum.GetName(typeof(RoomType),TypeOfRoom);
		}
	}*/

	#region IRoomRule implementation

	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom==TypeOfRoom)
		{
			return !r.ContainsRectangle(sizeX,sizeY);
		}
		return false;
	}
예제 #14
0
/*
 *      public override string Name {
 *              get {
 *                      return base.Name+": "+Enum.GetName(typeof(RoomType),TypeOfRoom);
 *              }
 *      }*/

    #region IRoomRule implementation

    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom == TypeOfRoom)
        {
            return(!r.ContainsRectangle(sizeX, sizeY));
        }
        return(false);
    }
예제 #15
0
 public bool Process(Segmentator s, Room r)
 {
     if (r.TypeOfRoom == Room && !r.Contains(ObjectType))
     {
         return(true);
     }
     return(false);
 }
예제 #16
0
 public bool Process(Segmentator s, Room r)
 {
     return(r.TypeOfRoom == TypeOfRoom &&
            ((s.Conditions.SouthScenery == SceneryType.Park && r.SouthWindows) ||
             (s.Conditions.NorthScenery == SceneryType.Park && r.NorthWindows) ||
             (s.Conditions.EastScenery == SceneryType.Park && r.EastWindows) ||
             (s.Conditions.WestScenery == SceneryType.Park && r.WestWindows)));
 }
예제 #17
0
 public bool Process(Segmentator s, Room r)
 {
     if (r.TypeOfRoom == TypeOfRoom && r.Ventilated == false)
     {
         return(true);
     }
     return(false);
 }
예제 #18
0
    public bool Process(Segmentator s, Room r)
    {
        if (s.Conditions.FamilySize == 2 && r.TypeOfRoom == RoomType.Studio)
        {
            return(true);
        }

        return(false);
    }
예제 #19
0
	/*public override string Name {
		get {
			return base.Name+": "+Enum.GetName(typeof(RoomType),TypeOfRoom);
		}
	}*/
	#region IRoomRule implementation

	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom==TypeOfRoom)
		{
			if(!r.SouthWindows && !r.NorthWindows && !r.EastWindows && !r.WestWindows)
				return true;
		}
		return false;
	}
예제 #20
0
	public bool Process (Segmentator s, Room r)
	{
		return r.TypeOfRoom==TypeOfRoom &&
			((s.Conditions.SouthScenery==SceneryType.Park && r.SouthWindows) ||
			 (s.Conditions.NorthScenery==SceneryType.Park && r.NorthWindows) ||
			 (s.Conditions.EastScenery==SceneryType.Park && r.EastWindows) ||
			 (s.Conditions.WestScenery==SceneryType.Park && r.WestWindows));

	}
예제 #21
0
	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom!=RoomType.Bathroom &&
		   r.TypeOfRoom!=RoomType.ToiletBathroom)
			return false;

		return r.Contains(CellObjects.Sink);

	}
예제 #22
0
	public bool Process (Segmentator s, ILogicObject o)
	{
		if(o is IHotWaterConsumer)
		{
			IHotWaterConsumer hot = o as IHotWaterConsumer;
			if(!hot.HasHotWater)
				return true;
		}
		return false;
	}
예제 #23
0
	public bool Process (Segmentator s)
	{
		foreach(Room room in s.Rooms)
		{
			foreach(RoomType rt in Rooms)
				if(rt==room.TypeOfRoom)
					return false;
		}
		return true;
	}
예제 #24
0
    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom != RoomType.Bathroom &&
            r.TypeOfRoom != RoomType.ToiletBathroom)
        {
            return(false);
        }

        return(r.Contains(CellObjects.Sink));
    }
예제 #25
0
    /*public override string Name {
     *      get {
     *              return base.Name+": "+Enum.GetName(typeof(RoomType),TypeOfRoom);
     *      }
     * }*/
    #region IRoomRule implementation

    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom == TypeOfRoom)
        {
            if (!r.SouthWindows && !r.NorthWindows && !r.EastWindows && !r.WestWindows)
            {
                return(true);
            }
        }
        return(false);
    }
예제 #26
0
	public bool Process (Segmentator s)
	{
		int coridors = 0;
		foreach(Room r in s.Rooms)
			if(r.TypeOfRoom==RoomType.Coridor)
				coridors+=r.LogicCells.Count;

		float portion = (float)coridors / (float)s.LogicCells.Count;

		return portion>=0.25f;
	}
예제 #27
0
 public bool Process(Segmentator s, ILogicObject o)
 {
     if (o is IHotWaterConsumer)
     {
         IHotWaterConsumer hot = o as IHotWaterConsumer;
         if (!hot.HasHotWater)
         {
             return(true);
         }
     }
     return(false);
 }
예제 #28
0
 public bool Process(Segmentator s)
 {
     foreach (Room room in s.Rooms)
     {
         foreach (RoomType rt in Rooms)
         {
             if (rt == room.TypeOfRoom)
             {
                 return(false);
             }
         }
     }
     return(true);
 }
예제 #29
0
	public bool Process (Segmentator s)
	{
		int totalPower = 0;
		foreach(LogicHeater h in s.LCache.Heaters)
		{
			if(h.Operates)
				totalPower+=h.Power;
		}
		foreach(LogicFireplace f in s.LCache.Fireplaces)
			totalPower+=f.Power;

		if(totalPower<s.CellsCount)
			return true;
		return false;
	}
예제 #30
0
    public bool Process(Segmentator s)
    {
        int coridors = 0;

        foreach (Room r in s.Rooms)
        {
            if (r.TypeOfRoom == RoomType.Coridor)
            {
                coridors += r.LogicCells.Count;
            }
        }

        float portion = (float)coridors / (float)s.LogicCells.Count;

        return(portion >= 0.25f);
    }
예제 #31
0
	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom!=RoomType.Bedroom)
			return false;

		int count = 0;
		foreach(Room n in r.ConnectedTo)
		{
			if(n.TypeOfRoom!=RoomType.Toilet && n.TypeOfRoom!=RoomType.ToiletBathroom)
				count++;
		}
		if(count>1)
			return true;
		
		return false;
	}
예제 #32
0
 public override void Start()
 {
     if (Segmentator == null)
     {
         OnReadFinished(Client.GetRecords <double[]>().ToList <double[]>());
     }
     else
     {
         while (Client.Read())
         {
             if (Segmentator.Push(Client.GetRecord <double[]>()) == true)
             {
                 OnReadFinished(Segmentator.Window);
             }
         }
     }
 }
예제 #33
0
	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom!=RoomType.Dining ||
		   r.TypeOfRoom!=RoomType.Kitchen)
			return false;

		List<LogicHob> hobs = r.GetObjects<LogicHob>();
		foreach(LogicHob h in hobs)
		{
			MapPoint pos = new MapPoint(h.ObjectRect.MinX,h.ObjectRect.MinY);
			LogicCell cell = r.LogicCells[pos.toInt()];
			if(cell.ReachableCells.Count==4)
				return true;
		}

		return false;
	}
        public void SegmentatorTest()
        {
            var         image = Resources.SampleFinger;
            Segmentator M     = new Segmentator(image);

            float [,] matrix   = M.SobelFilter();
            byte[,] byteMatrix = M.Segmentate();

            string filename = "Result.jpg";

            Bitmap bmp = M.MakeBitmap(byteMatrix);

            M.SaveSegmentation(bmp, filename);

            image.Dispose();
            bmp.Dispose();
        }
예제 #35
0
        public void TestMcc()
        {
            int[,] maskOfSegmentation2D = Segmentator.Segmetator(img, windowSize, weight, threshold);
            var            thining       = Thining.ThinPicture(GlobalBinarization.Binarization(img, board));
            List <Minutia> minutiaList   = MinutiaeDetection.FindMinutiae(thining);
            List <Minutia> validMinutiae = new List <Minutia>();

            foreach (Minutia minutia in minutiaList)
            {
                if (maskOfSegmentation2D[minutia.Y, minutia.X] == 1) // coordinates swap - ok
                {
                    validMinutiae.Add(minutia);
                }
            }

            var response = MCC.MCCMethod(validMinutiae, thining.GetLength(0), thining.GetLength(1));

            SaveResponse(response, validMinutiae);
        }
예제 #36
0
    public bool Process(Segmentator s, ILogicObject o)
    {
        bool res = false;

        if (o.ObjectType == CellObjects.Heater ||
            o.ObjectType == CellObjects.HeatingPipe ||
            o.ObjectType == CellObjects.Sink ||
            o.ObjectType == CellObjects.Toilet)
        {
            return(false);
        }

        o.ObjectRect.Foreach((MapPoint p) => {
            WallPoint wp;

            wp = new WallPoint(p.X, p.Y);
            if (s.Doors.ContainsKey(wp.toInt()))
            {
                res = true;
            }

            wp = new WallPoint(p.X + 1, p.Y);
            if (s.Doors.ContainsKey(wp.toInt()))
            {
                res = true;
            }

            wp = new WallPoint(p.X, p.Y + 1);
            if (s.Doors.ContainsKey(wp.toInt()))
            {
                res = true;
            }

            wp = new WallPoint(p.X + 1, p.Y + 1);
            if (s.Doors.ContainsKey(wp.toInt()))
            {
                res = true;
            }
        });
        return(res);
    }
예제 #37
0
    public bool Process(Segmentator s)
    {
        int totalPower = 0;

        foreach (LogicHeater h in s.LCache.Heaters)
        {
            if (h.Operates)
            {
                totalPower += h.Power;
            }
        }
        foreach (LogicFireplace f in s.LCache.Fireplaces)
        {
            totalPower += f.Power;
        }

        if (totalPower < s.CellsCount)
        {
            return(true);
        }
        return(false);
    }
예제 #38
0
    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom != RoomType.Dining ||
            r.TypeOfRoom != RoomType.Kitchen)
        {
            return(false);
        }

        List <LogicHob> hobs = r.GetObjects <LogicHob>();

        foreach (LogicHob h in hobs)
        {
            MapPoint  pos  = new MapPoint(h.ObjectRect.MinX, h.ObjectRect.MinY);
            LogicCell cell = r.LogicCells[pos.toInt()];
            if (cell.ReachableCells.Count == 4)
            {
                return(true);
            }
        }

        return(false);
    }
예제 #39
0
    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom != RoomType.Bedroom)
        {
            return(false);
        }

        int count = 0;

        foreach (Room n in r.ConnectedTo)
        {
            if (n.TypeOfRoom != RoomType.Toilet && n.TypeOfRoom != RoomType.ToiletBathroom)
            {
                count++;
            }
        }
        if (count > 1)
        {
            return(true);
        }

        return(false);
    }
예제 #40
0
    public bool Process(Segmentator s, Room r)
    {
        if (r.TypeOfRoom != RoomType.Dining ||
            r.TypeOfRoom != RoomType.Kitchen)
        {
            return(false);
        }

        List <LogicHob>  hobs  = new List <LogicHob>();
        List <LogicSink> sinks = new List <LogicSink>();

        foreach (ILogicObject l in r.LogicObjects)
        {
            if (l.ObjectType == CellObjects.Hob)
            {
                hobs.Add(l as LogicHob);
            }
            else if (l.ObjectType == CellObjects.Sink)
            {
                sinks.Add(l as LogicSink);
            }
        }

        foreach (LogicHob hob in hobs)
        {
            foreach (LogicSink sink in sinks)
            {
                if (Vector3.Distance(sink.Center, hob.Center) < 1.5f)
                {
                    return(true);
                }
            }
        }

        return(false);
    }
예제 #41
0
 public bool Process(Segmentator s)
 {
     return(s.LCache.BedroomsCount >= ((s.Conditions.FamilySize + 1) / 2));
 }
예제 #42
0
 protected override void Awake()
 {
     base.Awake();
     segmentator = GetComponent <Segmentator>();
 }
예제 #43
0
	public bool Process (Segmentator s)
	{
		return s.LCache.ToiletsCount>=2 && s.Conditions.FamilySize>=4;
	}
예제 #44
0
	public bool Process (Segmentator s)
	{
	
		return s.LCache.Bathtubs.Count>0 && s.Conditions.FamilySize>=4;

	}
예제 #45
0
 public bool Process(Segmentator s)
 {
     return(s.LCache.Bathtubs.Count > 0 && s.Conditions.FamilySize >= 4);
 }
예제 #46
0
 public bool Process(Segmentator s, Room r)
 {
     return(r.TypeOfRoom == RoomType.Dining && s.Conditions.FamilySize >= 4);
 }
예제 #47
0
        public float[] SegmentImage(float[] image, int rows, int columns, out int[,] mask, bool useCuda = false)
        {
            if (useCuda)
            {
                var maskRows       = (int)Math.Ceiling((double)rows / Constants.SegmentationWindowSize);
                var maskColumns    = (int)Math.Ceiling((double)columns / Constants.SegmentationWindowSize);
                var maskLinearized = new int[maskRows * maskColumns];

                var sw = new Stopwatch();
                sw.Start();
                CUDASegmentator(image, columns, rows,
                                (float)Constants.SegmentationWeight, Constants.SegmentationWindowSize, maskLinearized, maskColumns, maskRows);
                sw.Stop();
                mask = maskLinearized.Make2D(maskRows, maskColumns);

                Segmentator.PostProcessing(mask, Constants.SegmentationThreshold);

                var bigMask = Segmentator.GetBigMask(mask, rows, columns,
                                                     Constants.SegmentationWindowSize);

                // we discard border regions in order to not catch minutiae there
                var oldMask = mask;
                mask = oldMask.Select2D((x, row, column) =>
                {
                    if (x == 0)
                    {
                        return(0);
                    }
                    if (row > 0)
                    {
                        if (oldMask[row - 1, column] == 0)
                        {
                            return(0);
                        }
                        if (column > 0)
                        {
                            if (oldMask[row - 1, column - 1] == 0)
                            {
                                return(0);
                            }
                        }
                        if (column < maskColumns - 1)
                        {
                            if (oldMask[row - 1, column + 1] == 0)
                            {
                                return(0);
                            }
                        }
                        if (row < maskRows - 1)
                        {
                            if (oldMask[row + 1, column] == 0)
                            {
                                return(0);
                            }
                            if (column > 0)
                            {
                                if (oldMask[row + 1, column - 1] == 0)
                                {
                                    return(0);
                                }
                            }
                            if (column < maskColumns - 1)
                            {
                                if (oldMask[row + 1, column + 1] == 0)
                                {
                                    return(0);
                                }
                            }
                        }
                    }
                    if (column > 0)
                    {
                        if (oldMask[row, column - 1] == 0)
                        {
                            return(0);
                        }
                    }
                    if (column < maskColumns - 1)
                    {
                        if (oldMask[row, column + 1] == 0)
                        {
                            return(0);
                        }
                    }
                    return(1);
                });


                return(Segmentator.ColorImage(image, rows, columns, bigMask));
            }
            mask = Segmentator.Segmetator(image.Make2D(rows, columns).Select2D(x => (double)x),
                                          Constants.SegmentationWindowSize, Constants.SegmentationWeight,
                                          Constants.SegmentationThreshold);
            return(Segmentator.ColorImage(image.Make2D(rows, columns).Select2D(x => (double)x),
                                          Segmentator.GetBigMask(mask, image.GetLength(0), image.GetLength(1),
                                                                 Constants.SegmentationWindowSize)).Make1D().Select(x => (float)x).ToArray());
        }
예제 #48
0
 public Room(Segmentator s)
 {
     Seg = s;
 }
예제 #49
0
	public bool Process (Segmentator s, Room r)
	{
		return r.TypeOfRoom==RoomType.Dining && s.Conditions.FamilySize>=4;
	}
예제 #50
0
	public bool Process (Segmentator s)
	{
		return s.LCache.BedroomsCount>=((s.Conditions.FamilySize+1)/2);
	}
예제 #51
0
	public bool Process (Segmentator s, Room r)
	{
	
		return false;
	}
예제 #52
0
	public bool Process (Segmentator s, Room r)
	{
		return r.Contains(CellObjects.Ventshaft) || r.Contains(CellObjects.Riser);
	}
예제 #53
0
	public bool Process (Segmentator s, Room r)
	{
		if(r.TypeOfRoom==Room && !r.Contains(ObjectType))
			return true;
		return false;
	}
예제 #54
0
	public void OnProcessed(Segmentator s, Evaluator e)
	{
		state = Modes.Verify;
		UI.OnShowVerify();
		UI.OnShowWait(false);
	}