annotate DEPENDENCIES/generic/include/boost/geometry/strategies/concepts/segment_intersect_concept.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // Boost.Geometry (aka GGL, Generic Geometry Library)
Chris@16 2
Chris@16 3 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
Chris@16 4 // Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
Chris@16 5 // Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Chris@16 6
Chris@16 7 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
Chris@16 8 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
Chris@16 9
Chris@16 10 // Use, modification and distribution is subject to the Boost Software License,
Chris@16 11 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 12 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 13
Chris@16 14 #ifndef BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP
Chris@16 15 #define BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP
Chris@16 16
Chris@16 17
Chris@16 18 //NOT FINISHED!
Chris@16 19
Chris@16 20 #include <boost/concept_check.hpp>
Chris@16 21
Chris@16 22
Chris@16 23 namespace boost { namespace geometry { namespace concept
Chris@16 24 {
Chris@16 25
Chris@16 26
Chris@16 27 /*!
Chris@16 28 \brief Checks strategy for segment intersection
Chris@16 29 \ingroup segment_intersection
Chris@16 30 */
Chris@16 31 template <typename Strategy>
Chris@16 32 class SegmentIntersectStrategy
Chris@16 33 {
Chris@16 34 #ifndef DOXYGEN_NO_CONCEPT_MEMBERS
Chris@16 35
Chris@16 36 // 1) must define return_type
Chris@16 37 typedef typename Strategy::return_type return_type;
Chris@16 38
Chris@16 39 // 2) must define point_type (of segment points)
Chris@16 40 //typedef typename Strategy::point_type point_type;
Chris@16 41
Chris@16 42 // 3) must define segment_type 1 and 2 (of segment points)
Chris@16 43 typedef typename Strategy::segment_type1 segment_type1;
Chris@16 44 typedef typename Strategy::segment_type2 segment_type2;
Chris@16 45
Chris@16 46
Chris@16 47 struct check_methods
Chris@16 48 {
Chris@16 49 static void apply()
Chris@16 50 {
Chris@16 51 Strategy const* str;
Chris@16 52
Chris@16 53 return_type* rt;
Chris@16 54 //point_type const* p;
Chris@16 55 segment_type1 const* s1;
Chris@16 56 segment_type2 const* s2;
Chris@16 57
Chris@16 58 // 4) must implement a method apply
Chris@16 59 // having two segments
Chris@16 60 *rt = str->apply(*s1, *s2);
Chris@16 61
Chris@16 62 }
Chris@16 63 };
Chris@16 64
Chris@16 65
Chris@16 66 public :
Chris@16 67 BOOST_CONCEPT_USAGE(SegmentIntersectStrategy)
Chris@16 68 {
Chris@16 69 check_methods::apply();
Chris@16 70 }
Chris@16 71 #endif
Chris@16 72 };
Chris@16 73
Chris@16 74
Chris@16 75
Chris@16 76 }}} // namespace boost::geometry::concept
Chris@16 77
Chris@16 78 #endif // BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP