Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / geometry / doc / html / geometry / reference / adapted / register / boost_geometry_register_linestring.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>BOOST_GEOMETRY_REGISTER_LINESTRING</title>
5 <link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Geometry">
8 <link rel="up" href="../register.html" title="Macro's for adaption">
9 <link rel="prev" href="boost_geometry_register_box_templated.html" title="BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED">
10 <link rel="next" href="boost_geometry_register_linestring_templated.html" title="BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="boost_geometry_register_box_templated.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../register.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_geometry_register_linestring_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring"></a><a class="link" href="boost_geometry_register_linestring.html" title="BOOST_GEOMETRY_REGISTER_LINESTRING">BOOST_GEOMETRY_REGISTER_LINESTRING</a>
28 </h5></div></div></div>
29 <p>
30             <a class="indexterm" name="idp86239680"></a>
31 Macro to register a linestring.
32           </p>
33 <h6>
34 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h0"></a>
35             <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.description"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.description">Description</a>
36           </h6>
37 <p>
38             The macro BOOST_GEOMETRY_REGISTER_LINESTRING registers a linestring such
39             that it is recognized by Boost.Geometry and that Boost.Geometry functionality
40             can used with the specified type. The linestring may contain template
41             parameters, which must be specified then.
42           </p>
43 <h6>
44 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h1"></a>
45             <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.synopsis"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.synopsis">Synopsis</a>
46           </h6>
47 <p>
48 </p>
49 <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_GEOMETRY_REGISTER_LINESTRING</span><span class="special">(</span><span class="identifier">Linestring</span><span class="special">)</span></pre>
50 <p>
51           </p>
52 <h6>
53 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h2"></a>
54             <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.parameters"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.parameters">Parameters</a>
55           </h6>
56 <div class="informaltable"><table class="table">
57 <colgroup>
58 <col>
59 <col>
60 </colgroup>
61 <thead><tr>
62 <th>
63                     <p>
64                       Name
65                     </p>
66                   </th>
67 <th>
68                     <p>
69                       Description
70                     </p>
71                   </th>
72 </tr></thead>
73 <tbody><tr>
74 <td>
75                     <p>
76                       Linestring
77                     </p>
78                   </td>
79 <td>
80                     <p>
81                       linestring type to be registered
82                     </p>
83                   </td>
84 </tr></tbody>
85 </table></div>
86 <h6>
87 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h3"></a>
88             <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.header"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.header">Header</a>
89           </h6>
90 <p>
91             <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="keyword">register</span><span class="special">/</span><span class="identifier">linestring</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
92           </p>
93 <h6>
94 <a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h4"></a>
95             <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.example"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.example">Example</a>
96           </h6>
97 <p>
98             Show the use of BOOST_GEOMETRY_REGISTER_LINESTRING
99           </p>
100 <p>
101 </p>
102 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
103
104 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
105 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="identifier">point_xy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
106 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="keyword">register</span><span class="special">/</span><span class="identifier">linestring</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
107
108 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">d2</span><span class="special">::</span><span class="identifier">point_xy</span><span class="special">&lt;</span><span class="keyword">double</span><span class="special">&gt;</span> <span class="identifier">point_2d</span><span class="special">;</span>
109
110 <span class="identifier">BOOST_GEOMETRY_REGISTER_LINESTRING</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">point_2d</span><span class="special">&gt;)</span>
111
112 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
113 <span class="special">{</span>
114     <span class="comment">// Normal usage of std::</span>
115     <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">point_2d</span><span class="special">&gt;</span> <span class="identifier">line</span><span class="special">;</span>
116     <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span>
117     <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">2</span><span class="special">));</span>
118     <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">3</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span>
119
120     <span class="comment">// Usage of Boost.Geometry's length and wkt functions</span>
121     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"Length: "</span>
122         <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">length</span><span class="special">(</span><span class="identifier">line</span><span class="special">)</span>
123         <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
124
125     <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="string">"WKT: "</span>
126         <span class="special">&lt;&lt;</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">wkt</span><span class="special">(</span><span class="identifier">line</span><span class="special">)</span>
127         <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
128
129     <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
130 <span class="special">}</span>
131 </pre>
132 <p>
133           </p>
134 <p>
135             Output:
136           </p>
137 <pre class="programlisting">Length: 2.82843
138 WKT: LINESTRING(1 1,2 2,3 1)
139 </pre>
140 </div>
141 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
142 <td align="left"></td>
143 <td align="right"><div class="copyright-footer">Copyright &#169; 2009-2017 Barend
144       Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its
145       affiliates<p>
146         Distributed under the Boost Software License, Version 1.0. (See accompanying
147         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
148       </p>
149 </div></td>
150 </tr></table>
151 <hr>
152 <div class="spirit-nav">
153 <a accesskey="p" href="boost_geometry_register_box_templated.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../register.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_geometry_register_linestring_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
154 </div>
155 </body>
156 </html>