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 = "";
            }
        }
Beispiel #2
0
 private void RulerButton_Click(object sender, EventArgs e)
 {
     if (tangiblePattern.Count < 2) { return; } //LET THEM KNOW IT DIDNT ADD
     ArrayList outlinePoints = new ArrayList();
     outlinePoints.Add(new Point(leftLineX,topLineY));
     outlinePoints.Add(new Point(rightLineX,topLineY));
     outlinePoints.Add(new Point(rightLineX,bottomLineY));
     outlinePoints.Add(new Point(leftLineX,bottomLineY));
     VectorTRPoint patternPoints = new VectorTRPoint();
     foreach (int i in tangiblePattern.Keys)
     {
         patternPoints.Add((TRPoint)tangiblePattern[i]);
     }
     label1.Text = "b " + tangiblePattern.Count.ToString();
     tangiblePattern.Clear();
     Matrix m = new Matrix();
     TRGraph graph = new TRGraph(patternPoints);
     TRTangibleObject tObj = new TRTangibleObject(TangibleArrayIndex, graph);
     recognizer.addTangibleObject(tObj);
     TangibleObject tangibleObj = new TangibleObject(outlinePoints, tObj, m, TangibleType.Ruler);
     arrayOfTangibleObjects.Add(tangibleObj);
     TangibleArrayIndex++;
 }