3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>model::point</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="../models.html" title="Models">
9 <link rel="prev" href="../models.html" title="Models">
10 <link rel="next" href="model_d2_point_xy.html" title="model::d2::point_xy">
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="../models.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../models.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="model_d2_point_xy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="geometry.reference.models.model_point"></a><a class="link" href="model_point.html" title="model::point">model::point</a>
28 </h4></div></div></div>
30 <a class="indexterm" name="idp111882992"></a><a class="indexterm" name="idp111883680"></a>
31 Basic point class, having coordinates defined in a neutral way.
34 <a name="geometry.reference.models.model_point.h0"></a>
35 <span class="phrase"><a name="geometry.reference.models.model_point.description"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.description">Description</a>
38 Defines a neutral point class, fulfilling the Point Concept. Library users
39 can use this point class, or use their own point classes. This point class
40 is used in most of the samples and tests of Boost.Geometry This point class
41 is used occasionally within the library, where a temporary point class
45 <a name="geometry.reference.models.model_point.h1"></a>
46 <span class="phrase"><a name="geometry.reference.models.model_point.model_of"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.model_of">Model
50 <a class="link" href="../concepts/concept_point.html" title="Point Concept">Point Concept</a>
53 <a name="geometry.reference.models.model_point.h2"></a>
54 <span class="phrase"><a name="geometry.reference.models.model_point.synopsis"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.synopsis">Synopsis</a>
58 <pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">CoordinateType</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">DimensionCount</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">CoordinateSystem</span><span class="special">></span>
59 <span class="keyword">class</span> <span class="identifier">model</span><span class="special">::</span><span class="identifier">point</span>
60 <span class="special">{</span>
61 <span class="comment">// ...</span>
62 <span class="special">};</span>
67 <a name="geometry.reference.models.model_point.h3"></a>
68 <span class="phrase"><a name="geometry.reference.models.model_point.template_parameter_s_"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.template_parameter_s_">Template
71 <div class="informaltable"><table class="table">
92 typename CoordinateType
97 numerical type (int, double, ttmath, ...)
104 std::size_t DimensionCount
109 number of coordinates, usually 2 or 3
116 typename CoordinateSystem
121 coordinate system, for example cs::cartesian
128 <a name="geometry.reference.models.model_point.h4"></a>
129 <span class="phrase"><a name="geometry.reference.models.model_point.constructor_s_"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.constructor_s_">Constructor(s)</a>
131 <div class="informaltable"><table class="table">
159 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">point</span><span class="special">()</span></pre>
165 Default constructor, no initialization.
175 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">point</span><span class="special">(</span><span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v0</span><span class="special">)</span></pre>
181 Constructor to set one value.
186 <span class="bold"><strong>CoordinateType const &</strong></span>:
187 <span class="emphasis"><em>v0</em></span>:
195 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">point</span><span class="special">(</span><span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v0</span><span class="special">,</span> <span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v1</span><span class="special">)</span></pre>
201 Constructor to set two values.
206 <span class="bold"><strong>CoordinateType const &</strong></span>:
207 <span class="emphasis"><em>v0</em></span>:
210 <span class="bold"><strong>CoordinateType const &</strong></span>:
211 <span class="emphasis"><em>v1</em></span>:
219 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">point</span><span class="special">(</span><span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v0</span><span class="special">,</span> <span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v1</span><span class="special">,</span> <span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">v2</span><span class="special">)</span></pre>
225 Constructor to set three values.
230 <span class="bold"><strong>CoordinateType const &</strong></span>:
231 <span class="emphasis"><em>v0</em></span>:
234 <span class="bold"><strong>CoordinateType const &</strong></span>:
235 <span class="emphasis"><em>v1</em></span>:
238 <span class="bold"><strong>CoordinateType const &</strong></span>:
239 <span class="emphasis"><em>v2</em></span>:
246 <a name="geometry.reference.models.model_point.h5"></a>
247 <span class="phrase"><a name="geometry.reference.models.model_point.member_function_s_"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.member_function_s_">Member
250 <div class="informaltable"><table class="table">
284 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">K</span><span class="special">></span>
285 <span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">get</span><span class="special">()</span></pre>
306 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="keyword">template</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">K</span><span class="special">></span>
307 <span class="keyword">void</span> <span class="identifier">set</span><span class="special">(</span><span class="identifier">CoordinateType</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">value</span><span class="special">)</span></pre>
318 <span class="bold"><strong>CoordinateType const &</strong></span>:
319 <span class="emphasis"><em>value</em></span>: value to set
328 <a name="geometry.reference.models.model_point.h6"></a>
329 <span class="phrase"><a name="geometry.reference.models.model_point.header"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.header">Header</a>
335 <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="identifier">geometries</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
341 <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="identifier">point</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>
344 <a name="geometry.reference.models.model_point.h7"></a>
345 <span class="phrase"><a name="geometry.reference.models.model_point.examples"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.examples">Examples</a>
348 Declaration and use of the Boost.Geometry model::point, modelling the Point
353 <pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span>
354 <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>
356 <span class="keyword">namespace</span> <span class="identifier">bg</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">;</span>
358 <span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span>
359 <span class="special">{</span>
360 <span class="identifier">bg</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">point</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="identifier">bg</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">point1</span><span class="special">;</span>
361 <span class="identifier">bg</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">point</span><span class="special"><</span><span class="keyword">double</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="identifier">bg</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">point2</span><span class="special">(</span><span class="number">1.0</span><span class="special">,</span> <span class="number">2.0</span><span class="special">,</span> <span class="number">3.0</span><span class="special">);</span> <a class="co" name="geometry.reference.models.model_point.c0" href="model_point.html#geometry.reference.models.model_point.c1"><img src="../../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a>
363 <span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">point1</span><span class="special">,</span> <span class="number">1.0</span><span class="special">);</span> <a class="co" name="geometry.reference.models.model_point.c2" href="model_point.html#geometry.reference.models.model_point.c3"><img src="../../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a>
364 <span class="identifier">point1</span><span class="special">.</span><span class="identifier">set</span><span class="special"><</span><span class="number">1</span><span class="special">>(</span><span class="number">2.0</span><span class="special">);</span> <a class="co" name="geometry.reference.models.model_point.c4" href="model_point.html#geometry.reference.models.model_point.c5"><img src="../../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a>
366 <span class="keyword">double</span> <span class="identifier">x</span> <span class="special">=</span> <span class="identifier">bg</span><span class="special">::</span><span class="identifier">get</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">point1</span><span class="special">);</span> <a class="co" name="geometry.reference.models.model_point.c6" href="model_point.html#geometry.reference.models.model_point.c7"><img src="../../../../../../../doc/src/images/callouts/4.png" alt="4" border="0"></a>
367 <span class="keyword">double</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">point1</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>();</span> <a class="co" name="geometry.reference.models.model_point.c8" href="model_point.html#geometry.reference.models.model_point.c9"><img src="../../../../../../../doc/src/images/callouts/5.png" alt="5" border="0"></a>
369 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="identifier">x</span> <span class="special"><<</span> <span class="string">", "</span> <span class="special"><<</span> <span class="identifier">y</span> <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
370 <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span>
371 <span class="special">}</span>
375 <div class="calloutlist"><table border="0" summary="Callout list">
377 <td width="5%" valign="top" align="left"><p><a name="geometry.reference.models.model_point.c1"></a><a href="#geometry.reference.models.model_point.c0"><img src="../../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a> </p></td>
378 <td valign="top" align="left"><p>
379 Construct, assigning three coordinates
383 <td width="5%" valign="top" align="left"><p><a name="geometry.reference.models.model_point.c3"></a><a href="#geometry.reference.models.model_point.c2"><img src="../../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a> </p></td>
384 <td valign="top" align="left"><p>
385 Set a coordinate, generic.
389 <td width="5%" valign="top" align="left"><p><a name="geometry.reference.models.model_point.c5"></a><a href="#geometry.reference.models.model_point.c4"><img src="../../../../../../../doc/src/images/callouts/3.png" alt="3" border="0"></a> </p></td>
390 <td valign="top" align="left"><p>
391 Set a coordinate, class-specific (<span class="bold"><strong>Note</strong></span>:
392 prefer <code class="computeroutput"><span class="identifier">bg</span><span class="special">::</span><span class="identifier">set</span><span class="special">()</span></code>).
396 <td width="5%" valign="top" align="left"><p><a name="geometry.reference.models.model_point.c7"></a><a href="#geometry.reference.models.model_point.c6"><img src="../../../../../../../doc/src/images/callouts/4.png" alt="4" border="0"></a> </p></td>
397 <td valign="top" align="left"><p>
398 Get a coordinate, generic.
402 <td width="5%" valign="top" align="left"><p><a name="geometry.reference.models.model_point.c9"></a><a href="#geometry.reference.models.model_point.c8"><img src="../../../../../../../doc/src/images/callouts/5.png" alt="5" border="0"></a> </p></td>
403 <td valign="top" align="left"><p>
404 Get a coordinate, class-specific (<span class="bold"><strong>Note</strong></span>:
405 prefer <code class="computeroutput"><span class="identifier">bg</span><span class="special">::</span><span class="identifier">get</span><span class="special">()</span></code>).
412 <pre class="programlisting">1, 2
415 <a name="geometry.reference.models.model_point.h8"></a>
416 <span class="phrase"><a name="geometry.reference.models.model_point.notes"></a></span><a class="link" href="model_point.html#geometry.reference.models.model_point.notes">Notes</a>
418 <div class="note"><table border="0" summary="Note">
420 <td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../doc/src/images/note.png"></td>
421 <th align="left">Note</th>
423 <tr><td align="left" valign="top"><p>
424 Coordinates are not initialized. If the constructor with parameters is
425 not called and points are not assigned using <code class="computeroutput"><span class="identifier">set</span></code>
426 or <code class="computeroutput"><span class="identifier">assign</span></code> then the coordinate
427 values will contain garbage
431 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
432 <td align="left"></td>
433 <td align="right"><div class="copyright-footer">Copyright © 2009-2017 Barend
434 Gehrels, Bruno Lalande, Mateusz Loskot, Adam Wulkiewicz, Oracle and/or its
436 Distributed under the Boost Software License, Version 1.0. (See accompanying
437 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>)
442 <div class="spirit-nav">
443 <a accesskey="p" href="../models.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../models.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="model_d2_point_xy.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>