intersection.h
Go to the documentation of this file.
1 // *****************************************************************************
2 //
3 // Copyright (c) 2014, Southwest Research Institute® (SwRI®)
4 // All rights reserved.
5 //
6 // Redistribution and use in source and binary forms, with or without
7 // modification, are permitted provided that the following conditions are met:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of Southwest Research Institute® (SwRI®) nor the
14 // names of its contributors may be used to endorse or promote products
15 // derived from this software without specific prior written permission.
16 //
17 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 // ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
21 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 //
28 // *****************************************************************************
29 
30 #include <vector>
31 #include <opencv2/core/core.hpp>
32 
33 namespace swri_geometry_util
34 {
35 
47  bool LineIntersection(
48  const cv::Vec2d& p1,
49  const cv::Vec2d& p2,
50  const cv::Vec2d& p3,
51  const cv::Vec2d& p4,
52  cv::Vec2d& c);
53 
69  const cv::Vec2d& p1,
70  const cv::Vec2d& p2,
71  const cv::Vec2d& p3,
72  const cv::Vec2d& p4,
73  cv::Vec2d& c);
74 
84  bool PointOnLineSegment(
85  const cv::Vec2d& p1,
86  const cv::Vec2d& p2,
87  const cv::Vec2d& p3);
88 
89  bool PolygonsIntersect(
90  const std::vector<cv::Vec2d>& a,
91  const std::vector<cv::Vec2d>& b);
92 
94  const std::vector<cv::Vec2d>& a,
95  const std::vector<cv::Vec2d>& b);
96 }
bool LineSegmentIntersection(const cv::Vec2d &p1, const cv::Vec2d &p2, const cv::Vec2d &p3, const cv::Vec2d &p4, cv::Vec2d &c)
bool PolygonsIntersect(const std::vector< cv::Vec2d > &a, const std::vector< cv::Vec2d > &b)
bool LineIntersection(const cv::Vec2d &p1, const cv::Vec2d &p2, const cv::Vec2d &p3, const cv::Vec2d &p4, cv::Vec2d &c)
double PolygonIntersectionArea(const std::vector< cv::Vec2d > &a, const std::vector< cv::Vec2d > &b)
bool PointOnLineSegment(const cv::Vec2d &p1, const cv::Vec2d &p2, const cv::Vec2d &p3)


swri_geometry_util
Author(s): Marc Alban
autogenerated on Sat Jan 21 2023 03:13:10