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 = ""; } }
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++; }