Go to the documentation of this file.00001
00002 #ifndef vgl_lineseg_test_h_
00003 #define vgl_lineseg_test_h_
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include <vgl/vgl_line_segment_2d.h>
00016 #include <vgl/vgl_line_2d.h>
00017 #include <vgl/vgl_point_2d.h>
00018 #include <vcl_cmath.h>
00019
00020
00021
00022
00023
00024
00025
00026 export template <class T>
00027 bool vgl_lineseg_test_line(T x1, T y1, T x2, T y2, T x3, T y3, T x4, T y4);
00028
00029
00030
00031 export template <class T>
00032 bool vgl_lineseg_test_lineseg(T x1, T y1, T x2, T y2, T x3, T y3, T x4, T y4);
00033
00034
00035
00036
00037
00038 template <class T>
00039 inline bool vgl_lineseg_test_line(vgl_line_2d<T> const& l1,
00040 vgl_line_segment_2d<T> const& l2)
00041 {
00042 vgl_point_2d<T> l1_p1,l1_p2;
00043 l1.get_two_points(l1_p1,l1_p2);
00044 return vgl_lineseg_test_line(l1_p1.x(),l1_p1.y(),
00045 l1_p2.x(),l1_p2.y(),
00046 l2.point1().x(),l2.point1().y(),
00047 l2.point2().x(),l2.point2().y());
00048 }
00049
00050
00051
00052
00053 export template <class T>
00054 bool vgl_lineseg_test_point(vgl_point_2d<T> const& p,
00055 vgl_line_segment_2d<T> const& lseg);
00056
00057
00058
00059
00060 template <class T>
00061 inline bool vgl_lineseg_test_lineseg(vgl_line_segment_2d<T> const& l1,
00062 vgl_line_segment_2d<T> const& l2)
00063 {
00064 return vgl_lineseg_test_lineseg(l1.point1().x(),l1.point1().y(),
00065 l1.point2().x(),l1.point2().y(),
00066 l2.point1().x(),l2.point1().y(),
00067 l2.point2().x(),l2.point2().y());
00068 }
00069
00070 #define VGL_LINESEG_TEST_INSTANTIATE(T) extern "please include vgl/vgl_lineseg_test.txx instead"
00071
00072 #endif // vgl_lineseg_test_h_