3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</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 1. Geometry">
8 <link rel="up" href="../register.html" title="Macro's for adaption">
9 <link rel="prev" href="boost_geometry_register_box.html" title="BOOST_GEOMETRY_REGISTER_BOX">
10 <link rel="next" href="boost_geometry_register_box_templated.html" title="BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED">
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>
22 <div class="spirit-nav">
23 <a accesskey="p" href="boost_geometry_register_box.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_box_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h5 class="title">
27 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values"></a><a class="link" href="boost_geometry_register_box_2d_4values.html" title="BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES">BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</a>
28 </h5></div></div></div>
30 <a class="indexterm" name="idp85979248"></a>
31 Macro to register a box.
34 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.h0"></a>
35 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.description"></a></span><a class="link" href="boost_geometry_register_box_2d_4values.html#geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.description">Description</a>
38 The macro BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES registers a box such
39 that it is recognized by Boost.Geometry and that Boost.Geometry functionality
40 can used with the specified type.
43 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.h1"></a>
44 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.synopsis"></a></span><a class="link" href="boost_geometry_register_box_2d_4values.html#geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.synopsis">Synopsis</a>
48 <pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</span><span class="special">(</span><span class="identifier">Box</span><span class="special">,</span> <span class="identifier">Point</span><span class="special">,</span> <span class="identifier">Left</span><span class="special">,</span>
49 <span class="identifier">Bottom</span><span class="special">,</span> <span class="identifier">Right</span><span class="special">,</span> <span class="identifier">Top</span><span class="special">)</span></pre>
53 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.h2"></a>
54 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.parameters"></a></span><a class="link" href="boost_geometry_register_box_2d_4values.html#geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.parameters">Parameters</a>
56 <div class="informaltable"><table class="table">
82 Box type to be registered
94 Point type reported as point_type by box. Must be two dimensional.
95 Note that these box tyeps do not contain points, but they must
96 have a related point_type
108 Left side (must be public member or method)
120 Bottom side (must be public member or method)
132 Right side (must be public member or method)
144 Top side (must be public member or method)
151 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.h3"></a>
152 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.header"></a></span><a class="link" href="boost_geometry_register_box_2d_4values.html#geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.header">Header</a>
155 <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</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">box</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
158 <a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.h4"></a>
159 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.example"></a></span><a class="link" href="boost_geometry_register_box_2d_4values.html#geometry.reference.adapted.register.boost_geometry_register_box_2d_4values.example">Example</a>
162 Show the use of the macro BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES
166 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
167 <span class="preprocessor">#include</span> <span class="special"><</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">></span>
168 <span class="preprocessor">#include</span> <span class="special"><</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">point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
169 <span class="preprocessor">#include</span> <span class="special"><</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">box</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
171 <span class="keyword">struct</span> <span class="identifier">my_point</span>
172 <span class="special">{</span>
173 <span class="keyword">int</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">;</span>
174 <span class="special">};</span>
176 <span class="keyword">struct</span> <span class="identifier">my_box</span>
177 <span class="special">{</span>
178 <span class="keyword">int</span> <span class="identifier">left</span><span class="special">,</span> <span class="identifier">top</span><span class="special">,</span> <span class="identifier">right</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">;</span>
179 <span class="special">};</span>
181 <span class="identifier">BOOST_GEOMETRY_REGISTER_POINT_2D</span><span class="special">(</span><span class="identifier">my_point</span><span class="special">,</span> <span class="keyword">int</span><span class="special">,</span> <span class="identifier">cs</span><span class="special">::</span><span class="identifier">cartesian</span><span class="special">,</span> <span class="identifier">x</span><span class="special">,</span> <span class="identifier">y</span><span class="special">)</span>
183 <span class="comment">// Register the box type, also notifying that it is based on "my_point"</span>
184 <span class="comment">// (even if it does not contain it)</span>
185 <span class="identifier">BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</span><span class="special">(</span><span class="identifier">my_box</span><span class="special">,</span> <span class="identifier">my_point</span><span class="special">,</span> <span class="identifier">left</span><span class="special">,</span> <span class="identifier">top</span><span class="special">,</span> <span class="identifier">right</span><span class="special">,</span> <span class="identifier">bottom</span><span class="special">)</span>
187 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
188 <span class="special">{</span>
189 <span class="identifier">my_box</span> <span class="identifier">b</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">make</span><span class="special"><</span><span class="identifier">my_box</span><span class="special">>(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">2</span><span class="special">);</span>
190 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Area: "</span> <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">area</span><span class="special">(</span><span class="identifier">b</span><span class="special">)</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
191 <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
192 <span class="special">}</span>
199 <pre class="programlisting">Area: 4
202 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
203 <td align="left"></td>
204 <td align="right"><div class="copyright-footer">Copyright © 2009-2017 Barend
205 Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its
207 Distributed under the Boost Software License, Version 1.0. (See accompanying
208 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>)
213 <div class="spirit-nav">
214 <a accesskey="p" href="boost_geometry_register_box.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_box_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>