Home | History | Annotate | Download | only in src

Lines Matching refs:Point2f

107 static void advanceBToRightChain(const std::vector<cv::Point2f> &polygon,
113 static double angleOfLineWrtOxAxis(const cv::Point2f &a, const cv::Point2f &b);
115 static bool areEqualPoints(const cv::Point2f &point1, const cv::Point2f &point2);
124 double sideCExtraParam, cv::Point2f &intersectionPoint1,
125 cv::Point2f &intersectionPoint2);
127 static bool areOnTheSameSideOfLine(const cv::Point2f &p1, const cv::Point2f &p2,
128 const cv::Point2f &a, const cv::Point2f &b);
130 static double areaOfTriangle(const cv::Point2f &a, const cv::Point2f &b, const cv::Point2f &c);
132 static void copyResultingTriangle(const std::vector<cv::Point2f> &resultingTriangle, cv::OutputArray triangle);
134 static void createConvexHull(cv::InputArray points, std::vector<cv::Point2f> &polygon);
136 static double distanceBtwPoints(const cv::Point2f &a, const cv::Point2f &b);
138 static double distanceFromPointToLine(const cv::Point2f &a, const cv::Point2f &linePointB,
139 const cv::Point2f &linePointC);
141 static bool findGammaIntersectionPoints(const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
143 const cv::Point2f &side1StartVertex, const cv::Point2f &side1EndVertex,
144 const cv::Point2f &side2StartVertex, const cv::Point2f &side2EndVertex,
145 cv::Point2f &intersectionPoint1, cv::Point2f &intersectionPoint2);
150 static void findMinEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
151 std::vector<cv::Point2f> &triangle, double &area);
153 static void findMinimumAreaEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
154 std::vector<cv::Point2f> &triangle, double &area);
156 static cv::Point2f findVertexCOnSideB(const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
158 const cv::Point2f &sideBStartVertex,
159 const cv::Point2f &sideBEndVertex,
160 const cv::Point2f &sideCStartVertex,
161 const cv::Point2f &sideCEndVertex);
163 static bool gamma(unsigned int polygonPointIndex, cv::Point2f &gammaPoint,
164 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
169 static double height(const cv::Point2f &polygonPoint, const std::vector<cv::Point2f> &polygon,
172 static double height(unsigned int polygonPointIndex, const std::vector<cv::Point2f> &polygon,
175 static void initialise(std::vector<cv::Point2f> &triangle, double &area);
178 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
181 static bool intersectsAbove(const cv::Point2f &gammaPoint, unsigned int polygonPointIndex,
182 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
186 const std::vector<cv::Point2f> &polygon,
189 static bool intersectsBelow(const cv::Point2f &gammaPoint, unsigned int polygonPointIndex,
190 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
203 static bool isLocalMinimalTriangle(cv::Point2f &vertexA, cv::Point2f &vertexB,
204 cv::Point2f &vertexC, const std::vector<cv::Point2f> &polygon,
206 unsigned int validationFlag, const cv::Point2f &sideAStartVertex,
207 const cv::Point2f &sideAEndVertex, const cv::Point2f &sideBStartVertex,
208 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
209 const cv::Point2f &sideCEndVertex);
211 static bool isNotBTangency(const std::vector<cv::Point2f> &polygon,
217 static bool isPointOnLineSegment(const cv::Point2f &point, const cv::Point2f &lineSegmentStart,
218 const cv::Point2f &lineSegmentEnd);
220 static bool isValidMinimalTriangle(const cv::Point2f &vertexA, const cv::Point2f &vertexB,
221 const cv::Point2f &vertexC, const std::vector<cv::Point2f> &polygon,
223 unsigned int validationFlag, const cv::Point2f &sideAStartVertex,
224 const cv::Point2f &sideAEndVertex, const cv::Point2f &sideBStartVertex,
225 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
226 const cv::Point2f &sideCEndVertex);
230 static void lineEquationDeterminedByPoints(const cv::Point2f &p, const cv::Point2f &q,
233 static std::vector<double> lineEquationParameters(const cv::Point2f& p, const cv::Point2f &q);
235 static bool lineIntersection(const cv::Point2f &a1, const cv::Point2f &b1, const cv::Point2f &a2,
236 const cv::Point2f &b2, cv::Point2f &intersection);
239 cv::Point2f &intersection);
243 static cv::Point2f middlePoint(const cv::Point2f &a, const cv::Point2f &b);
245 static bool middlePointOfSideB(cv::Point2f &middlePointOfSideB, const cv::Point2f &sideAStartVertex,
246 const cv::Point2f &sideAEndVertex, const cv::Point2f &sideBStartVertex,
247 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
248 const cv::Point2f &sideCEndVertex);
250 static void moveAIfLowAndBIfHigh(const std::vector<cv::Point2f> &polygon,
258 static void returnMinimumAreaEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
259 std::vector<cv::Point2f> &triangle, double &area);
261 static void searchForBTangency(const std::vector<cv::Point2f> &polygon,
269 static void updateMinimumAreaEnclosingTriangle(std::vector<cv::Point2f> &triangle, double &area,
270 const cv::Point2f &vertexA, const cv::Point2f &vertexB,
271 const cv::Point2f &vertexC);
273 static void updateSideB(const std::vector<cv::Point2f> &polygon,
276 cv::Point2f &sideBStartVertex, cv::Point2f &sideBEndVertex);
278 static void updateSidesBA(const std::vector<cv::Point2f> &polygon,
281 cv::Point2f &sideAStartVertex, cv::Point2f &sideAEndVertex,
282 cv::Point2f &sideBStartVertex, cv::Point2f &sideBEndVertex,
283 const cv::Point2f &sideCStartVertex, const cv::Point2f &sideCEndVertex);
285 static void updateSidesCA(const std::vector<cv::Point2f> &polygon,
287 cv::Point2f &sideAStartVertex, cv::Point2f &sideAEndVertex,
288 cv::Point2f &sideCStartVertex, cv::Point2f &sideCEndVertex);
323 std::vector<cv::Point2f> resultingTriangle, polygon;
335 static void createConvexHull(cv::InputArray points, std::vector<cv::Point2f> &polygon) {
337 std::vector<cv::Point2f> pointsVector;
356 static void findMinEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
357 std::vector<cv::Point2f> &triangle, double &area) {
372 static void copyResultingTriangle(const std::vector<cv::Point2f> &resultingTriangle,
382 static void initialise(std::vector<cv::Point2f> &triangle, double &area) {
395 static void findMinimumAreaEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
396 std::vector<cv::Point2f> &triangle, double &area) {
401 cv::Point2f vertexA, vertexB, vertexC;
403 cv::Point2f sideAStartVertex, sideAEndVertex;
404 cv::Point2f sideBStartVertex, sideBEndVertex;
405 cv::Point2f sideCStartVertex, sideCEndVertex;
452 static void returnMinimumAreaEnclosingTriangle(const std::vector<cv::Point2f> &polygon,
453 std::vector<cv::Point2f> &triangle, double &area) {
472 static void advanceBToRightChain(const std::vector<cv::Point2f> &polygon,
491 static void moveAIfLowAndBIfHigh(const std::vector<cv::Point2f> &polygon,
494 cv::Point2f gammaOfA;
515 static void searchForBTangency(const std::vector<cv::Point2f> &polygon,
518 cv::Point2f gammaOfB;
539 static bool isNotBTangency(const std::vector<cv::Point2f> &polygon,
542 cv::Point2f gammaOfB;
567 static void updateSidesCA(const std::vector<cv::Point2f> &polygon,
569 cv::Point2f &sideAStartVertex, cv::Point2f &sideAEndVertex,
570 cv::Point2f &sideCStartVertex, cv::Point2f &sideCEndVertex) {
595 static void updateSidesBA(const std::vector<cv::Point2f> &polygon,
598 cv::Point2f &sideAStartVertex, cv::Point2f &sideAEndVertex,
599 cv::Point2f &sideBStartVertex, cv::Point2f &sideBEndVertex,
600 const cv::Point2f &sideCStartVertex, const cv::Point2f &sideCEndVertex) {
606 cv::Point2f sideBMiddlePoint;
636 static void updateSideB(const std::vector<cv::Point2f> &polygon,
639 cv::Point2f &sideBStartVertex, cv::Point2f &sideBEndVertex) {
668 static bool isLocalMinimalTriangle(cv::Point2f &vertexA, cv::Point2f &vertexB,
669 cv::Point2f &vertexC, const std::vector<cv::Point2f> &polygon,
671 unsigned int validationFlag, const cv::Point2f &sideAStartVertex,
672 const cv::Point2f &sideAEndVertex, const cv::Point2f &sideBStartVertex,
673 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
674 const cv::Point2f &sideCEndVertex) {
711 static bool isValidMinimalTriangle(const cv::Point2f &vertexA, const cv::Point2f &vertexB,
712 const cv::Point2f &vertexC, const std::vector<cv::Point2f> &polygon,
714 unsigned int validationFlag, const cv::Point2f &sideAStartVertex,
715 const cv::Point2fPoint2f &sideBStartVertex,
716 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
717 const cv::Point2f &sideCEndVertex) {
718 cv::Point2f midpointSideA = middlePoint(vertexB, vertexC);
719 cv::Point2f midpointSideB = middlePoint(vertexA, vertexC);
720 cv::Point2f midpointSideC = middlePoint(vertexA, vertexB);
743 static void updateMinimumAreaEnclosingTriangle(std::vector<cv::Point2f> &triangle, double &area,
744 const cv::Point2f &vertexA, const cv::Point2f &vertexB,
745 const cv::Point2f &vertexC) {
769 static bool middlePointOfSideB(cv::Point2f &middlePointOfSideB, const cv::Point2f &sideAStartVertex,
770 const cv::Point2f &sideAEndVertex, const cv::Point2f &sideBStartVertex,
771 const cv::Point2f &sideBEndVertex, const cv::Point2f &sideCStartVertex,
772 const cv::Point2f &sideCEndVertex) {
773 cv::Point2f vertexA, vertexC;
796 static bool intersectsBelow(const cv::Point2f &gammaPoint, unsigned int polygonPointIndex,
797 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
815 static bool intersectsAbove(const cv::Point2f &gammaPoint, unsigned int polygonPointIndex,
816 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
832 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
879 const std::vector<cv::Point2f> &polygon,
908 static bool gamma(unsigned int polygonPointIndex, cv::Point2f &gammaPoint,
909 const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
911 cv::Point2f intersectionPoint1, intersectionPoint2;
951 static cv::Point2f findVertexCOnSideB(const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
953 const cv::Point2f &sideBStartVertex,
954 const cv::Point2f &sideBEndVertex,
955 const cv::Point2f &sideCStartVertex,
956 const cv::Point2f &sideCEndVertex) {
957 cv::Point2f intersectionPoint1, intersectionPoint2;
989 static bool findGammaIntersectionPoints(const std::vector<cv::Point2f> &polygon, unsigned int nrOfPoints,
991 const cv::Point2f &side1StartVertex, const cv::Point2f &side1EndVertex,
992 const cv::Point2f &side2StartVertex, const cv::Point2f &side2EndVertex,
993 cv::Point2f &intersectionPoint1, cv::Point2f &intersectionPoint2) {
1049 double sideCExtraParam, cv::Point2f &intersectionPoint1,
1050 cv::Point2f &intersectionPoint2) {
1069 static std::vector<double> lineEquationParameters(const cv::Point2f& p, const cv::Point2f &q) {
1091 static double height(const cv::Point2f &polygonPoint, const std::vector<cv::Point2f> &polygon,
1093 cv::Point2f pointC = polygon[c];
1094 cv::Point2f pointCPredecessor = polygon[predecessor(c, nrOfPoints)];
1108 static double height(unsigned int polygonPointIndex, const std::vector<cv::Point2f> &polygon,
1110 cv::Point2f pointC = polygon[c];
1111 cv::Point2f pointCPredecessor = polygon[predecessor(c, nrOfPoints)];
1113 cv::Point2f polygonPoint = polygon[polygonPointIndex];
1199 static double angleOfLineWrtOxAxis(const cv::Point2f &a, const cv::Point2f &b) {
1285 static double distanceFromPointToLine(const cv::Point2f &a, const cv::Point2f &linePointB,
1286 const cv::Point2f &linePointC) {
1305 static double distanceBtwPoints(const cv::Point2f &a, const cv::Point2f &b) {
1322 static double areaOfTriangle(const cv::Point2f &a, const cv::Point2f &b, const cv::Point2f &c) {
1336 static cv::Point2f middlePoint(const cv::Point2f &a, const cv::Point2f &b) {
1340 return cv::Point2f(static_cast<float>(middleX), static_cast<float>(middleY));
1367 cv::Point2f &intersection) {
1404 static bool lineIntersection(const cv::Point2f &a1, const cv::Point2f &b1, const cv::Point2f &a2,
1405 const cv::Point2f &b2, cv::Point2f &intersection) {
1438 static void lineEquationDeterminedByPoints(const cv::Point2f &p, const cv::Point2f &q,
1454 static bool areOnTheSameSideOfLine(const cv::Point2f &p1, const cv::Point2f &p2,
1455 const cv::Point2f &a, const cv::Point2f &b) {
1472 static bool isPointOnLineSegment(const cv::Point2f &point, const cv::Point2f &lineSegmentStart,
1473 const cv::Point2f &lineSegmentEnd) {
1513 static bool areEqualPoints(const cv::Point2f &point1, const cv::Point2f &point2) {