mirror of
https://github.com/boostorg/geometry.git
synced 2025-05-11 13:34:10 +00:00
Added testcases for intersections outputting points, disjoint segment/linestring, updated Doxygen file
[SVN r65256]
This commit is contained in:
parent
7a082bb4f4
commit
2d141c7857
53
doc/Doxyfile
53
doc/Doxyfile
@ -25,13 +25,54 @@ MULTILINE_CPP_IS_BRIEF = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
|
||||
# The aliases are shortcuts for Doxygen documentation.
|
||||
# Within Boost.Geometry they are used in the top section, so for both
|
||||
# Doxygen documentation and QuickBook documentation.
|
||||
# They avoid repetations and make the documentation more structured.
|
||||
# There are also qbk expressions, which might qbk defines and templates.
|
||||
|
||||
# There are sections for
|
||||
# \brief* for various brief descriptions
|
||||
# \tparam* for various template parameters
|
||||
# \param* for various parameters
|
||||
# \return* for various return cases
|
||||
ALIASES = qbk{2}="\xmlonly <qbk.\1>\2</qbk.\1> \endxmlonly" \
|
||||
qbk{3}="\xmlonly <qbk.\1>\2, \3</qbk.\1> \endxmlonly" \
|
||||
geometry_concept="Any type fulfilling a Geometry concept" \
|
||||
point_concept="Any type fulfilling a Point concept" \
|
||||
geometry_model="A model of the specified concept" \
|
||||
template_numerical="Numerical type (int, double, ttmath, ...)" \
|
||||
strategy_reasons="Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)"
|
||||
brief_calc{1}="Calculates the \1 of a geometry" \
|
||||
brief_calc2{1}="Calculate the \1 of two geometries" \
|
||||
brief_calc2{2}="Calculate the \1 \2 two geometries" \
|
||||
brief_check{1}="Checks if a geometry \1" \
|
||||
brief_check2{1}="Checks if two geometries \1" \
|
||||
brief_check12{1}="Checks if the first geometry \1 the second geometry" \
|
||||
brief_strategy="using the specified strategy" \
|
||||
tparam_geometry="Any type fulfilling a Geometry Concept" \
|
||||
tparam_geometry{1}="A type fulfilling a \1 Concept" \
|
||||
tparam_point="Any type fulfilling a Point Concept" \
|
||||
tparam_box="Any type fulfilling a Box Concept" \
|
||||
tparam_strategy{1}="Any type fulfilling a \1 Strategy Concept" \
|
||||
tparam_numeric="Numerical type (int, double, ttmath, ...)" \
|
||||
tparam_out{1}="A valid output iterator type, accepting geometries of \1 Concept" \
|
||||
param_geometry="A model of the specified concept" \
|
||||
param_box="A model of the specified Box Concept" \
|
||||
param_point="A model of the specified Point Concept" \
|
||||
param_strategy{1}="The strategy which will be used for \1 calculations" \
|
||||
param_set{1}="which is set to the \1" \
|
||||
param_out{1}="The output iterator, to which \1 geometries are feeded" \
|
||||
details_calc{2}="The free function \1 calculates the \2 of a geometry" \
|
||||
details_calc{1}="The free function \1 calculates the \1 of a geometry" \
|
||||
details_calc2{2}="The free function \1 calculates the \2 of two geometries" \
|
||||
details_calc2{1}="The free function \1 calculates the \1 of two geometries" \
|
||||
details_default_strategy="It uses the default strategy, based on the coordinate system of the geometry." \
|
||||
details_strategy_reasons="Reasons to specify a strategy include: use another coordinate system for calculations; construct the strategy beforehand (e.g. with the radius of the Earth); select a strategy when there are more than one available for a calculation (e.g. distance over the Earth)" \
|
||||
details_make{1}="This version with the make_ prefix returns the \1, and a template parameter must therefore be specified in the call." \
|
||||
details_inserter{1}="This version with the _inserter suffix outputs the \1 to an output iterator, and a template parameter must therefore be specified in the call." \
|
||||
return_calc{1}="The calculated \1" \
|
||||
return_check{1}="Returns true if the geometry \1" \
|
||||
return_check2{1}="Returns true if two geometries \1" \
|
||||
return_out="The output iterator" \
|
||||
det_envelope="envelope (also known as axis aligned bounding box, aabb, or minimum bounding rectangle, mbr)" \
|
||||
det_buffer="buffer (a polygon being the spatial point set collection within a specified maximum distance from a geometry)" \
|
||||
p_l_or_c="Point, LineString or Polygon"
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
|
4
doc/doxygen_input/groups/num_geometries.hpp
Normal file
4
doc/doxygen_input/groups/num_geometries.hpp
Normal file
@ -0,0 +1,4 @@
|
||||
/*!
|
||||
\defgroup num_geometries number of geometries: calculate the number of geometries in a multi-geometry
|
||||
|
||||
*/
|
5
doc/doxygen_input/groups/num_interior_rings.hpp
Normal file
5
doc/doxygen_input/groups/num_interior_rings.hpp
Normal file
@ -0,0 +1,5 @@
|
||||
/*!
|
||||
\defgroup num_interior_rings number of interior rings: calculate the number of interior rings
|
||||
|
||||
|
||||
*/
|
4
doc/doxygen_input/groups/num_points.hpp
Normal file
4
doc/doxygen_input/groups/num_points.hpp
Normal file
@ -0,0 +1,4 @@
|
||||
/*!
|
||||
\defgroup num_points number of points: calculate number of points of a geometry
|
||||
|
||||
*/
|
@ -10,6 +10,9 @@
|
||||
#define _DOXYGEN_MAINPAGE_HPP
|
||||
|
||||
|
||||
// -> introduction.qbk
|
||||
// -> quickstart.qbk
|
||||
|
||||
/*!
|
||||
\mainpage Boost.Geometry
|
||||
|
||||
@ -23,12 +26,17 @@ Distributed under the Boost Software License, Version 1.0.\n
|
||||
</em>
|
||||
|
||||
\section intro Introduction
|
||||
Boost.Geometry, formally accepted by Boost, defines \ref concepts "concepts" for geometries and implements some algorithms on such geometries. Before acceptance by Boost it was known as GGL (Generic Geometry Library)
|
||||
and this documentation still contains that name on various places.
|
||||
Boost.Geometry, formally accepted by Boost, defines \ref concepts "concepts" for geometries and
|
||||
implements some algorithms on such geometries. Before acceptance by Boost it was known as GGL
|
||||
(Generic Geometry Library) and this documentation still contains that name on various places.
|
||||
|
||||
|
||||
Boost.Geometry contains a dimension-agnostic, coordinate-system-agnostic and scalable kernel, based on concepts, meta-functions and tag- dispatching.
|
||||
On top of that kernel, algorithms are built: area, length, perimeter, centroid, convex hull, intersection (clipping), within (point in polygon), distance, envelope (bounding box), simplify, transform, convert, and more. The library is also designed to support high precision arithmetic numbers, such as GMP.
|
||||
Boost.Geometry contains a dimension-agnostic, coordinate-system-agnostic and
|
||||
scalable kernel, based on concepts, meta-functions and tag- dispatching. On top
|
||||
of that kernel, algorithms are built: area, length, perimeter, centroid, convex
|
||||
hull, intersection (clipping), within (point in polygon), distance, envelope
|
||||
(bounding box), simplify, transform, convert, and more. The library is also
|
||||
designed to support high precision arithmetic numbers, such as GMP.
|
||||
|
||||
Boost.Geometry contains instantiable geometry classes, but library users can also use their own. Using registration macros or traits classes their geometries can be adapted to fulfil the Boost.Geometry Concepts.
|
||||
|
||||
|
@ -27,7 +27,7 @@ void test_all()
|
||||
typedef boost::geometry::linestring<P> linestring;
|
||||
typedef boost::geometry::polygon<P> polygon;
|
||||
typedef boost::geometry::box<P> box;
|
||||
typedef test::custom_segment_of<P> segment;
|
||||
typedef boost::geometry::model::segment<P> segment;
|
||||
|
||||
std::string clip = "box(2 2,8 8)";
|
||||
|
||||
@ -184,6 +184,15 @@ void test_all()
|
||||
intersect_exterior_and_interiors_winded[0], intersect_exterior_and_interiors_winded[1],
|
||||
1, 14, 25.2166667);
|
||||
|
||||
// linear
|
||||
test_one<P, linestring, linestring>("llp1", "LINESTRING(0 0,1 1)", "LINESTRING(0 1,1 0)", 1, 1, 0);
|
||||
test_one<P, segment, segment>("ssp1", "LINESTRING(0 0,1 1)", "LINESTRING(0 1,1 0)", 1, 1, 0);
|
||||
test_one<P, linestring, linestring>("llp2", "LINESTRING(0 0,1 1)", "LINESTRING(0 0,2 2)", 2, 2, 0);
|
||||
|
||||
// polygons outputing points
|
||||
//test_one<P, polygon, polygon>("ppp1", simplex_normal[0], simplex_normal[1], 1, 7, 5.47363293);
|
||||
|
||||
|
||||
return;
|
||||
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
// obsolete
|
Loading…
x
Reference in New Issue
Block a user