]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/boost/geometry/geometries/infinite_line.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / geometry / geometries / infinite_line.hpp
CommitLineData
92f5a8d4
TL
1// Boost.Geometry
2
3// Copyright (c) 2018-2019 Barend Gehrels, Amsterdam, the Netherlands.
4
5// Use, modification and distribution is subject to the Boost Software License,
6// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7// http://www.boost.org/LICENSE_1_0.txt)
8
9#ifndef BOOST_GEOMETRY_GEOMETRIES_INFINITE_LINE_HPP
10#define BOOST_GEOMETRY_GEOMETRIES_INFINITE_LINE_HPP
11
12
13namespace boost { namespace geometry
14{
15
16namespace model
17{
18
19//--------------------------------------------------------------------------
20// Structure containing an infinite line.
21// It is written using "General Form", a*x + b*y + c == 0
22// Might be conceptized later. Therefore operations are implemented outside
23// the structure itself.
24template <typename Type = double>
25struct infinite_line
26{
1e59de90
TL
27 using type = Type;
28
92f5a8d4
TL
29 infinite_line()
30 : a(0)
31 , b(0)
32 , c(0)
33 , normalized(false)
34 {}
35
36 // Horizontal: a == 0, for example y-3=0, y==3
37 // Vertical: b == 0, for example x-2=0, x==2
38 // Through origin: c == 0
39 Type a;
40 Type b;
41 Type c;
42 bool normalized;
43};
44
45
46} // namespace model
47
48
49}} // namespace boost::geometry
50
51
52#endif // BOOST_GEOMETRY_GEOMETRIES_INFINITE_LINE_HPP