1 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
2 <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
3 <compounddef id="group__register" kind="group">
4 <compoundname>register</compoundname>
5 <title>register: Macros for registration</title>
6 <sectiondef kind="define">
7 <memberdef kind="define" id="group__register_1gae42c838a1a14a9c026814524e7a05138" prot="public" static="no">
8 <name>BOOST_GEOMETRY_REGISTER_BOX</name>
9 <param><defname>Box</defname></param>
10 <param><defname>Point</defname></param>
11 <param><defname>MinCorner</defname></param>
12 <param><defname>MaxCorner</defname></param>
13 <initializer>namespace boost { namespace geometry { namespace traits { \
14 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
15 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, Point, MinCorner, MaxCorner) \
18 <para>Macro to register a box. </para> </briefdescription>
20 <para>The macro BOOST_GEOMETRY_REGISTER_BOX registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The box may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
22 <parametername>Box</parametername>
24 <parameterdescription>
25 <para>Box type to be registered </para></parameterdescription>
29 <parametername>Point</parametername>
31 <parameterdescription>
32 <para>Point type on which box is based. Might be two or three-dimensional </para></parameterdescription>
36 <parametername>MinCorner</parametername>
38 <parameterdescription>
39 <para>minimum corner (should be public member or method) </para></parameterdescription>
43 <parametername>MaxCorner</parametername>
45 <parameterdescription>
46 <para>maximum corner (should be public member or method)</para></parameterdescription>
53 </qbk> </para> </detaileddescription>
56 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="121" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="121" bodyend="-1"/>
58 <memberdef kind="define" id="group__register_1ga09c073aef353112e056b096d9630a890" prot="public" static="no">
59 <name>BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</name>
60 <param><defname>Box</defname></param>
61 <param><defname>Point</defname></param>
62 <param><defname>Left</defname></param>
63 <param><defname>Bottom</defname></param>
64 <param><defname>Right</defname></param>
65 <param><defname>Top</defname></param>
66 <initializer>namespace boost { namespace geometry { namespace traits { \
67 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
68 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, Point, Left, Bottom, Right, Top) \
71 <para>Macro to register a box. </para> </briefdescription>
73 <para>The macro BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
75 <parametername>Box</parametername>
77 <parameterdescription>
78 <para>Box type to be registered </para></parameterdescription>
82 <parametername>Point</parametername>
84 <parameterdescription>
85 <para>Point type reported as point_type by box. Must be two dimensional. Note that these box tyeps do not contain points, but they must have a related point_type </para></parameterdescription>
89 <parametername>Left</parametername>
91 <parameterdescription>
92 <para>Left side (must be public member or method) </para></parameterdescription>
96 <parametername>Bottom</parametername>
98 <parameterdescription>
99 <para>Bottom side (must be public member or method) </para></parameterdescription>
103 <parametername>Right</parametername>
105 <parameterdescription>
106 <para>Right side (must be public member or method) </para></parameterdescription>
110 <parametername>Top</parametername>
112 <parameterdescription>
113 <para>Top side (must be public member or method)</para></parameterdescription>
118 [register_box_2d_4values]
119 [register_box_2d_4values_output]
120 </qbk> </para> </detaileddescription>
123 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="168" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="168" bodyend="-1"/>
125 <memberdef kind="define" id="group__register_1gab504e31e32ba0ca3a2b9fe323716acbe" prot="public" static="no">
126 <name>BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED</name>
127 <param><defname>Box</defname></param>
128 <param><defname>MinCorner</defname></param>
129 <param><defname>MaxCorner</defname></param>
130 <initializer>namespace boost { namespace geometry { namespace traits { \
131 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATED(Box) \
132 BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATED(Box, MinCorner, MaxCorner) \
135 <para>Macro to register a box. </para> </briefdescription>
136 <detaileddescription>
137 <para>The macro BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated box are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
139 <parametername>Box</parametername>
141 <parameterdescription>
142 <para>Box type to be registered </para></parameterdescription>
146 <parametername>MinCorner</parametername>
148 <parameterdescription>
149 <para>minimum corner (should be public member or method) </para></parameterdescription>
153 <parametername>MaxCorner</parametername>
155 <parameterdescription>
156 <para>maximum corner (should be public member or method)</para></parameterdescription>
161 [register_box_templated]
162 [register_box_templated_output]
163 </qbk> </para> </detaileddescription>
166 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="143" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="143" bodyend="-1"/>
168 <memberdef kind="define" id="group__register_1ga1d26e8196d719505669ecdb89e11bd2b" prot="public" static="no">
169 <name>BOOST_GEOMETRY_REGISTER_LINESTRING</name>
170 <param><defname>Linestring</defname></param>
171 <initializer>namespace boost { namespace geometry { namespace traits { \
172 template<> struct tag<Linestring> { typedef linestring_tag type; }; \
175 <para>Macro to register a linestring. </para> </briefdescription>
176 <detaileddescription>
177 <para>The macro BOOST_GEOMETRY_REGISTER_LINESTRING registers a linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The linestring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
179 <parametername>Linestring</parametername>
181 <parameterdescription>
182 <para>linestring type to be registered</para></parameterdescription>
187 [register_linestring]
188 [register_linestring_output]
189 </qbk> </para> </detaileddescription>
192 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" line="35" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" bodystart="35" bodyend="-1"/>
194 <memberdef kind="define" id="group__register_1ga56729e5117bdd1ef2f5df70e113135d1" prot="public" static="no">
195 <name>BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED</name>
196 <param><defname>Linestring</defname></param>
197 <initializer>namespace boost { namespace geometry { namespace traits { \
198 template<typename P> struct tag< Linestring<P> > { typedef linestring_tag type; }; \
201 <para>Macro to register a templated linestring. </para> </briefdescription>
202 <detaileddescription>
203 <para>The macro BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED registers a templated linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated linestring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
205 <parametername>Linestring</parametername>
207 <parameterdescription>
208 <para>linestring (without template parameters) type to be registered</para></parameterdescription>
213 [register_linestring_templated]
214 [register_linestring_templated_output]
215 </qbk> </para> </detaileddescription>
218 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" line="54" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" bodystart="54" bodyend="-1"/>
220 <memberdef kind="define" id="group__register_1ga9023e4db92faf3052f86697d6efa21a2" prot="public" static="no">
221 <name>BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING</name>
222 <param><defname>MultiLineString</defname></param>
223 <initializer>namespace boost { namespace geometry { namespace traits { \
224 template<> struct tag<MultiLineString> { typedef multi_linestring_tag type; }; \
227 <para>Macro to register a multi_linestring. </para> </briefdescription>
228 <detaileddescription>
229 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING registers a multi_linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_linestring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
231 <parametername>MultiLineString</parametername>
233 <parameterdescription>
234 <para>multi_linestring type to be registered</para></parameterdescription>
239 [register_multi_linestring]
240 [register_multi_linestring_output]
241 </qbk> </para> </detaileddescription>
244 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" bodystart="34" bodyend="-1"/>
246 <memberdef kind="define" id="group__register_1ga8173f4872543ac051ef41f638de05786" prot="public" static="no">
247 <name>BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING_TEMPLATED</name>
248 <param><defname>MultiLineString</defname></param>
249 <initializer>namespace boost { namespace geometry { namespace traits { \
250 template<typename LineString> struct tag< MultiLineString<LineString> > { typedef multi_linestring_tag type; }; \
253 <para>Macro to register a templated multi_linestring. </para> </briefdescription>
254 <detaileddescription>
255 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING_TEMPLATED registers a templated multi_linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a linestring type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_linestring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
257 <parametername>MultiLineString</parametername>
259 <parameterdescription>
260 <para>multi_linestring (without template parameters) type to be registered</para></parameterdescription>
265 [register_multi_linestring_templated]
266 [register_multi_linestring_templated_output]
267 </qbk> </para> </detaileddescription>
270 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" bodystart="53" bodyend="-1"/>
272 <memberdef kind="define" id="group__register_1ga7eab973eb9098bad1869f35ba96953cb" prot="public" static="no">
273 <name>BOOST_GEOMETRY_REGISTER_MULTI_POINT</name>
274 <param><defname>MultiPoint</defname></param>
275 <initializer>namespace boost { namespace geometry { namespace traits { \
276 template<> struct tag<MultiPoint> { typedef multi_point_tag type; }; \
279 <para>Macro to register a multi_point. </para> </briefdescription>
280 <detaileddescription>
281 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POINT registers a multi_point such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_point may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
283 <parametername>MultiPoint</parametername>
285 <parameterdescription>
286 <para>multi_point type to be registered</para></parameterdescription>
291 [register_multi_point]
292 [register_multi_point_output]
293 </qbk> </para> </detaileddescription>
296 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" bodystart="34" bodyend="-1"/>
298 <memberdef kind="define" id="group__register_1gae027e92ee7534cea91c749b1d371a907" prot="public" static="no">
299 <name>BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED</name>
300 <param><defname>MultiPoint</defname></param>
301 <initializer>namespace boost { namespace geometry { namespace traits { \
302 template<typename Point> struct tag< MultiPoint<Point> > { typedef multi_point_tag type; }; \
305 <para>Macro to register a templated multi_point. </para> </briefdescription>
306 <detaileddescription>
307 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED registers a templated multi_point such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_point are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
309 <parametername>MultiPoint</parametername>
311 <parameterdescription>
312 <para>multi_point (without template parameters) type to be registered</para></parameterdescription>
317 [register_multi_point_templated]
318 [register_multi_point_templated_output]
319 </qbk> </para> </detaileddescription>
322 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" bodystart="53" bodyend="-1"/>
324 <memberdef kind="define" id="group__register_1gac464d3e7b8f908820b9e8fc2a3e7ec1a" prot="public" static="no">
325 <name>BOOST_GEOMETRY_REGISTER_MULTI_POLYGON</name>
326 <param><defname>MultiPolygon</defname></param>
327 <initializer>namespace boost { namespace geometry { namespace traits { \
328 template<> struct tag<MultiPolygon> { typedef multi_polygon_tag type; }; \
331 <para>Macro to register a multi_polygon. </para> </briefdescription>
332 <detaileddescription>
333 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POLYGON registers a multi_polygon such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_polygon may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
335 <parametername>MultiPolygon</parametername>
337 <parameterdescription>
338 <para>multi_polygon type to be registered</para></parameterdescription>
343 [register_multi_polygon]
344 [register_multi_polygon_output]
345 </qbk> </para> </detaileddescription>
348 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" bodystart="34" bodyend="-1"/>
350 <memberdef kind="define" id="group__register_1gad9d2c263a4b8d43db7d2894041cbd6a0" prot="public" static="no">
351 <name>BOOST_GEOMETRY_REGISTER_MULTI_POLYGON_TEMPLATED</name>
352 <param><defname>MultiPolygon</defname></param>
353 <initializer>namespace boost { namespace geometry { namespace traits { \
354 template<typename Polygon> struct tag< MultiPolygon<Polygon> > { typedef multi_polygon_tag type; }; \
357 <para>Macro to register a templated multi_polygon. </para> </briefdescription>
358 <detaileddescription>
359 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POLYGON_TEMPLATED registers a templated multi_polygon such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a polygon type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_polygon are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
361 <parametername>MultiPolygon</parametername>
363 <parameterdescription>
364 <para>multi_polygon (without template parameters) type to be registered</para></parameterdescription>
369 [register_multi_polygon_templated]
370 [register_multi_polygon_templated_output]
371 </qbk> </para> </detaileddescription>
374 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" bodystart="53" bodyend="-1"/>
376 <memberdef kind="define" id="group__register_1ga040a8280aaf06372fc637e1a436019d8" prot="public" static="no">
377 <name>BOOST_GEOMETRY_REGISTER_POINT_2D</name>
378 <param><defname>Point</defname></param>
379 <param><defname>CoordinateType</defname></param>
380 <param><defname>CoordinateSystem</defname></param>
381 <param><defname>Field0</defname></param>
382 <param><defname>Field1</defname></param>
383 <initializer>namespace boost { namespace geometry { namespace traits { \
384 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
385 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateType, Field0, Field0) \
386 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateType, Field1, Field1) \
389 <para>Macro to register a 2D point type. </para> </briefdescription>
390 <detaileddescription>
391 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
393 <parametername>Point</parametername>
395 <parameterdescription>
396 <para>Point type to be registered </para></parameterdescription>
400 <parametername>CoordinateType</parametername>
402 <parameterdescription>
403 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
407 <parametername>CoordinateSystem</parametername>
409 <parameterdescription>
410 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
414 <parametername>Field0</parametername>
416 <parameterdescription>
417 <para>Member containing first (usually x) coordinate </para></parameterdescription>
421 <parametername>Field1</parametername>
423 <parameterdescription>
424 <para>Member containing second (usually y) coordinate</para></parameterdescription>
427 <qbk>[include reference/geometries/register/point.qbk]</qbk> </para> </detaileddescription>
430 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="70" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="70" bodyend="-1"/>
432 <memberdef kind="define" id="group__register_1ga3a3e97175ef92eed648707933c3fbeaa" prot="public" static="no">
433 <name>BOOST_GEOMETRY_REGISTER_POINT_2D_CONST</name>
434 <param><defname>Point</defname></param>
435 <param><defname>CoordinateType</defname></param>
436 <param><defname>CoordinateSystem</defname></param>
437 <param><defname>Field0</defname></param>
438 <param><defname>Field1</defname></param>
439 <initializer>namespace boost { namespace geometry { namespace traits { \
440 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
441 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 0, CoordinateType, Field0) \
442 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 1, CoordinateType, Field1) \
445 <para>Macro to register a 2D point type (const version) </para> </briefdescription>
446 <detaileddescription>
447 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D_CONST registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The const version registers only read access to the fields, the point type is therefore read-only <parameterlist kind="param"><parameteritem>
449 <parametername>Point</parametername>
451 <parameterdescription>
452 <para>Point type to be registered </para></parameterdescription>
456 <parametername>CoordinateType</parametername>
458 <parameterdescription>
459 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
463 <parametername>CoordinateSystem</parametername>
465 <parameterdescription>
466 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
470 <parametername>Field0</parametername>
472 <parameterdescription>
473 <para>Member containing first (usually x) coordinate </para></parameterdescription>
477 <parametername>Field1</parametername>
479 <parameterdescription>
480 <para>Member containing second (usually y) coordinate </para></parameterdescription>
483 </para> </detaileddescription>
486 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="106" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="106" bodyend="-1"/>
488 <memberdef kind="define" id="group__register_1gaf174f265da534d30be10c2f5a4a2c75e" prot="public" static="no">
489 <name>BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET</name>
490 <param><defname>Point</defname></param>
491 <param><defname>CoordinateType</defname></param>
492 <param><defname>CoordinateSystem</defname></param>
493 <param><defname>Get0</defname></param>
494 <param><defname>Get1</defname></param>
495 <param><defname>Set0</defname></param>
496 <param><defname>Set1</defname></param>
497 <initializer>namespace boost { namespace geometry { namespace traits { \
498 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
499 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
500 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
503 <para>Macro to register a 2D point type (having separate get/set methods) </para> </briefdescription>
504 <detaileddescription>
505 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates <parameterlist kind="param"><parameteritem>
507 <parametername>Point</parametername>
509 <parameterdescription>
510 <para>Point type to be registered </para></parameterdescription>
514 <parametername>CoordinateType</parametername>
516 <parameterdescription>
517 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
521 <parametername>CoordinateSystem</parametername>
523 <parameterdescription>
524 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
528 <parametername>Get0</parametername>
530 <parameterdescription>
531 <para>Method to get the first (usually x) coordinate </para></parameterdescription>
535 <parametername>Get1</parametername>
537 <parameterdescription>
538 <para>Method to get the second (usually y) coordinate </para></parameterdescription>
542 <parametername>Set0</parametername>
544 <parameterdescription>
545 <para>Method to set the first (usually x) coordinate </para></parameterdescription>
549 <parametername>Set1</parametername>
551 <parameterdescription>
552 <para>Method to set the second (usually y) coordinate </para></parameterdescription>
555 </para> </detaileddescription>
558 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="144" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="144" bodyend="-1"/>
560 <memberdef kind="define" id="group__register_1ga98e9781be9019c6d92029507e49ef9a5" prot="public" static="no">
561 <name>BOOST_GEOMETRY_REGISTER_POINT_3D</name>
562 <param><defname>Point</defname></param>
563 <param><defname>CoordinateType</defname></param>
564 <param><defname>CoordinateSystem</defname></param>
565 <param><defname>Field0</defname></param>
566 <param><defname>Field1</defname></param>
567 <param><defname>Field2</defname></param>
568 <initializer>namespace boost { namespace geometry { namespace traits { \
569 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
570 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateType, Field0, Field0) \
571 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateType, Field1, Field1) \
572 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 2, CoordinateType, Field2, Field2) \
575 <para>Macro to register a 3D point type. </para> </briefdescription>
576 <detaileddescription>
577 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
579 <parametername>Point</parametername>
581 <parameterdescription>
582 <para>Point type to be registered </para></parameterdescription>
586 <parametername>CoordinateType</parametername>
588 <parameterdescription>
589 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
593 <parametername>CoordinateSystem</parametername>
595 <parameterdescription>
596 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
600 <parametername>Field0</parametername>
602 <parameterdescription>
603 <para>Member containing first (usually x) coordinate </para></parameterdescription>
607 <parametername>Field1</parametername>
609 <parameterdescription>
610 <para>Member containing second (usually y) coordinate </para></parameterdescription>
614 <parametername>Field2</parametername>
616 <parameterdescription>
617 <para>Member containing third (usually z) coordinate </para></parameterdescription>
620 </para> </detaileddescription>
623 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="88" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="88" bodyend="-1"/>
625 <memberdef kind="define" id="group__register_1ga86cf81c9036010faf69dfbd9b3c4d9a8" prot="public" static="no">
626 <name>BOOST_GEOMETRY_REGISTER_POINT_3D_CONST</name>
627 <param><defname>Point</defname></param>
628 <param><defname>CoordinateType</defname></param>
629 <param><defname>CoordinateSystem</defname></param>
630 <param><defname>Field0</defname></param>
631 <param><defname>Field1</defname></param>
632 <param><defname>Field2</defname></param>
633 <initializer>namespace boost { namespace geometry { namespace traits { \
634 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
635 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 0, CoordinateType, Field0) \
636 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 1, CoordinateType, Field1) \
637 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 2, CoordinateType, Field2) \
640 <para>Macro to register a 3D point type (const version) </para> </briefdescription>
641 <detaileddescription>
642 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D_CONST registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The const version registers only read access to the fields, the point type is therefore read-only <parameterlist kind="param"><parameteritem>
644 <parametername>Point</parametername>
646 <parameterdescription>
647 <para>Point type to be registered </para></parameterdescription>
651 <parametername>CoordinateType</parametername>
653 <parameterdescription>
654 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
658 <parametername>CoordinateSystem</parametername>
660 <parameterdescription>
661 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
665 <parametername>Field0</parametername>
667 <parameterdescription>
668 <para>Member containing first (usually x) coordinate </para></parameterdescription>
672 <parametername>Field1</parametername>
674 <parameterdescription>
675 <para>Member containing second (usually y) coordinate </para></parameterdescription>
679 <parametername>Field2</parametername>
681 <parameterdescription>
682 <para>Member containing third (usually z) coordinate </para></parameterdescription>
685 </para> </detaileddescription>
688 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="124" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="124" bodyend="-1"/>
690 <memberdef kind="define" id="group__register_1ga6550bf4438d3b63ad83f5508900690cf" prot="public" static="no">
691 <name>BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET</name>
692 <param><defname>Point</defname></param>
693 <param><defname>CoordinateType</defname></param>
694 <param><defname>CoordinateSystem</defname></param>
695 <param><defname>Get0</defname></param>
696 <param><defname>Get1</defname></param>
697 <param><defname>Get2</defname></param>
698 <param><defname>Set0</defname></param>
699 <param><defname>Set1</defname></param>
700 <param><defname>Set2</defname></param>
701 <initializer>namespace boost { namespace geometry { namespace traits { \
702 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
703 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
704 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
705 BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 2, CoordinateType, Get2, Set2) \
708 <para>Macro to register a 3D point type (having separate get/set methods) </para> </briefdescription>
709 <detaileddescription>
710 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates <parameterlist kind="param"><parameteritem>
712 <parametername>Point</parametername>
714 <parameterdescription>
715 <para>Point type to be registered </para></parameterdescription>
719 <parametername>CoordinateType</parametername>
721 <parameterdescription>
722 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
726 <parametername>CoordinateSystem</parametername>
728 <parameterdescription>
729 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
733 <parametername>Get0</parametername>
735 <parameterdescription>
736 <para>Method to get the first (usually x) coordinate </para></parameterdescription>
740 <parametername>Get1</parametername>
742 <parameterdescription>
743 <para>Method to get the second (usually y) coordinate </para></parameterdescription>
747 <parametername>Get2</parametername>
749 <parameterdescription>
750 <para>Method to get the third (usually z) coordinate </para></parameterdescription>
754 <parametername>Set0</parametername>
756 <parameterdescription>
757 <para>Method to set the first (usually x) coordinate </para></parameterdescription>
761 <parametername>Set1</parametername>
763 <parameterdescription>
764 <para>Method to set the second (usually y) coordinate </para></parameterdescription>
768 <parametername>Set2</parametername>
770 <parameterdescription>
771 <para>Method to set the third (usually z) coordinate </para></parameterdescription>
774 </para> </detaileddescription>
777 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="165" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="165" bodyend="-1"/>
779 <memberdef kind="define" id="group__register_1ga742491bcf6ece3b0c9d21d5f6a991ac1" prot="public" static="no">
780 <name>BOOST_GEOMETRY_REGISTER_RING</name>
781 <param><defname>Ring</defname></param>
782 <initializer>namespace boost { namespace geometry { namespace traits { \
783 template<> struct tag<Ring> { typedef ring_tag type; }; \
786 <para>Macro to register a ring. </para> </briefdescription>
787 <detaileddescription>
788 <para>The macro BOOST_GEOMETRY_REGISTER_RING registers a ring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The ring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
790 <parametername>Ring</parametername>
792 <parameterdescription>
793 <para>ring type to be registered</para></parameterdescription>
799 [register_ring_output]
800 </qbk> </para> </detaileddescription>
803 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" line="35" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" bodystart="35" bodyend="-1"/>
805 <memberdef kind="define" id="group__register_1ga8a9071c3e9e9e0175250677a50e3fcc8" prot="public" static="no">
806 <name>BOOST_GEOMETRY_REGISTER_RING_TEMPLATED</name>
807 <param><defname>Ring</defname></param>
808 <initializer>namespace boost { namespace geometry { namespace traits { \
809 template<typename P> struct tag< Ring<P> > { typedef ring_tag type; }; \
812 <para>Macro to register a templated ring. </para> </briefdescription>
813 <detaileddescription>
814 <para>The macro BOOST_GEOMETRY_REGISTER_RING_TEMPLATED registers a templated ring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated ring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
816 <parametername>Ring</parametername>
818 <parameterdescription>
819 <para>ring (without template parameters) type to be registered</para></parameterdescription>
824 [register_ring_templated]
825 [register_ring_templated_output]
826 </qbk> </para> </detaileddescription>
829 <location file="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" line="54" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" bodystart="54" bodyend="-1"/>
834 <detaileddescription>
835 </detaileddescription>