Beispiel #1
0
        public void drawRecognizedObject(VectorInt recognizedObjectVector)
        {
            for (int i = 1; i < recognizedObjectVector.Count(); i++)
            {

                recognizedTangible = (TangibleObject)arrayOfTangibleObjects[recognizedObjectVector[i]];
                label1.Text = "abc" + recognizedTangible.type.ToString();
                Console.WriteLine(recognizedObjectVector[i].ToString());

                if (recognizedTangible.type.Equals(TangibleType.Ruler))
                {
                    TRTangibleObject tobj = recognizer.getTangibleObjectForId(recognizedObjectVector[i]);
                    float rot = -tobj.getRotation();
                    TRPoint tran = tobj.getTranslation();
                    //Graphics g = DrawingTab.CreateGraphics();
                    tran.x = (int)Math.Round((float)tran.x * (float)glDrawingView.CreateGraphics().DpiX / 2540.0F);
                    tran.y = (int)Math.Round((float)tran.y * (float)glDrawingView.CreateGraphics().DpiY / 2540.0F);
                    float m11, m12, m21, m22;
                    m11 = (float)Math.Cos(rot);
                    m12 = (float)-Math.Sin(rot);
                    m21 = (float)Math.Sin(rot);
                    m22 = (float)Math.Cos(rot);
                    Matrix m = new Matrix(m11, m12, m21, m22, tran.x, tran.y);

                    ArrayList points = (ArrayList)recognizedTangible.outlinePoints.Clone();
                    pointsToDraw = (Point[])points.ToArray(typeof(Point));
                    m.TransformPoints(pointsToDraw);

                  // Console.WriteLine(tobj.getRotation());
                    //Console.WriteLine(tran.x + ":" + tran.y);
                    glDrawingView.Invalidate();

                }label2.Text = "";
            }
        }