X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=csharp%2Fcommon%2FGenericResultPoint.cs;fp=csharp%2Fcommon%2FGenericResultPoint.cs;h=0000000000000000000000000000000000000000;hb=b2b0b0673099f79ff8a43852d5cb762739b497bb;hp=3a3c20a1e82261fd974ff8085540aeddf52744f7;hpb=66affdb887502daf1213db55a0f0b348c5a74593;p=zxing.git
diff --git a/csharp/common/GenericResultPoint.cs b/csharp/common/GenericResultPoint.cs
deleted file mode 100755
index 3a3c20a1..00000000
--- a/csharp/common/GenericResultPoint.cs
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
-* Copyright 2008 ZXing authors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-namespace com.google.zxing.common
-{
- using System;
- using System.Text;
-
- ///
Orders an array of three ResultPoints in an order [A,B,C] such that AB < AC and - * BC < AC and the angle between BC and BA is less than 180 degrees. - */ - public static void orderBestPatterns(ResultPoint[] patterns) { - - // Find distances between pattern centers - float zeroOneDistance = distance(patterns[0], patterns[1]); - float oneTwoDistance = distance(patterns[1], patterns[2]); - float zeroTwoDistance = distance(patterns[0], patterns[2]); - - ResultPoint pointA, pointB, pointC; - // Assume one closest to other two is B; A and C will just be guesses at first - if (oneTwoDistance >= zeroOneDistance && oneTwoDistance >= zeroTwoDistance) { - pointB = patterns[0]; - pointA = patterns[1]; - pointC = patterns[2]; - } else if (zeroTwoDistance >= oneTwoDistance && zeroTwoDistance >= zeroOneDistance) { - pointB = patterns[1]; - pointA = patterns[0]; - pointC = patterns[2]; - } else { - pointB = patterns[2]; - pointA = patterns[0]; - pointC = patterns[1]; - } - - // Use cross product to figure out whether A and C are correct or flipped. - // This asks whether BC x BA has a positive z component, which is the arrangement - // we want for A, B, C. If it's negative, then we've got it flipped around and - // should swap A and C. - if (crossProductZ(pointA, pointB, pointC) < 0.0f) { - ResultPoint temp = pointA; - pointA = pointC; - pointC = temp; - } - - patterns[0] = pointA; - patterns[1] = pointB; - patterns[2] = pointC; - } - - - /** - * @return distance between two points - */ - public static float distance(ResultPoint pattern1, ResultPoint pattern2) { - float xDiff = pattern1.getX() - pattern2.getX(); - float yDiff = pattern1.getY() - pattern2.getY(); - return (float) Math.Sqrt((double) (xDiff * xDiff + yDiff * yDiff)); - } - - /** - * Returns the z component of the cross product between vectors BC and BA. - */ - public static float crossProductZ(ResultPoint pointA, ResultPoint pointB, ResultPoint pointC) { - float bX = pointB.getX(); - float bY = pointB.getY(); - return ((pointC.getX() - bX) * (pointA.getY() - bY)) - ((pointC.getY() - bY) * (pointA.getX() - bX)); - } - - } -} \ No newline at end of file