示例#1
0
        public void UpdateCurrentObjectDetectionZone(ObjectDetectionZone updatedObjectDetectionZone)
        {
            foreach (ObjectDetectionZone z in m_CurrentLayout.ObjectDetectionZones)
            {
                if (z.Id == updatedObjectDetectionZone.Id)
                {
                    m_CurrentLayout.ObjectDetectionZones.Remove(z);
                    m_CurrentLayout.ObjectDetectionZones.Add(updatedObjectDetectionZone);

                    break;
                }
            }
        }
示例#2
0
        public void createObjectDetectionZoneFromFactory(int pX, int pY, int pWidth, int pHeight)
        {
            ObjectDetectionZone obj = new ObjectDetectionZone(m_IdCounter);

            obj.Name           = "Objekt-Zone " + m_IdCounter + "";
            obj.TriggerMessage = "Object" + m_IdCounter;
            obj.X      = pX;
            obj.Y      = pY;
            obj.Width  = pWidth;
            obj.Height = pHeight;
            m_IdCounter++;
            this.CurrentLayout.ObjectDetectionZones.Add(obj);
        }
示例#3
0
        public Scene.SceneText createSceneTextHeadingObjectDetectionZone(ObjectDetectionZone z, string text)
        {
            int x_offset = SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.X;
            int y_offset = SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Y;

            float h = ((float)z.Height / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Height);
            float w = ((float)z.Width / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Width);
            float x = ((float)(z.X - x_offset) / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Width);
            float y = 1.0f - h - ((float)(z.Y - y_offset) / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Height);

            Color c = System.Windows.Media.Color.FromRgb(255, 255, 0); // yellow

            Scene.SceneText textItem = new Scene.SceneText(x, y, text, c, 10.0, new FontFamily("Arial"));
            return(textItem);
        }
示例#4
0
        public Scene.SceneRect createSceneBoxForObjectDetectionZone(ObjectDetectionZone z, bool isUsedForRecord)
        {
            int x_offset = SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.X;
            int y_offset = SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Y;

            float h = ((float)z.Height / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Height);
            float w = ((float)z.Width / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Width);
            float x = ((float)(z.X - x_offset) / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Width);
            float y = 1.0f - h - ((float)(z.Y - y_offset) / (float)SettingsManager.Instance.Settings.SettingsTable.KinectDrawing_AssemblyArea.Height);

            Color c = System.Windows.Media.Color.FromRgb(255, 255, 0); // yellow

            // TODO: maybe later

            /*
             * if (b.wasRecentlyTriggered() && !isUsedForRecord)
             * {
             *  c = System.Windows.Media.Color.FromRgb(255, 0, 0); // red
             * }
             */
            return(new Scene.SceneRect(x, y, w, h, c));
        }