|
||||
File indexing completed on 2025-01-18 09:36:44
0001 // Boost.Geometry (aka GGL, Generic Geometry Library) 0002 0003 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. 0004 // Copyright (c) 2008-2012 Bruno Lalande, Paris, France. 0005 // Copyright (c) 2009-2012 Mateusz Loskot, London, UK. 0006 0007 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library 0008 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. 0009 0010 // Use, modification and distribution is subject to the Boost Software License, 0011 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 0012 // http://www.boost.org/LICENSE_1_0.txt) 0013 0014 #ifndef BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP 0015 #define BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP 0016 0017 0018 //NOT FINISHED! 0019 0020 #include <boost/concept_check.hpp> 0021 0022 0023 namespace boost { namespace geometry { namespace concepts 0024 { 0025 0026 0027 /*! 0028 \brief Checks strategy for segment intersection 0029 \ingroup segment_intersection 0030 */ 0031 template <typename Strategy> 0032 class SegmentIntersectStrategy 0033 { 0034 #ifndef DOXYGEN_NO_CONCEPT_MEMBERS 0035 0036 // 1) must define return_type 0037 typedef typename Strategy::return_type return_type; 0038 0039 // 2) must define point_type (of segment points) 0040 //typedef typename Strategy::point_type point_type; 0041 0042 // 3) must define segment_type 1 and 2 (of segment points) 0043 typedef typename Strategy::segment_type1 segment_type1; 0044 typedef typename Strategy::segment_type2 segment_type2; 0045 0046 0047 struct check_methods 0048 { 0049 static void apply() 0050 { 0051 Strategy const* str; 0052 0053 return_type* rt; 0054 //point_type const* p; 0055 segment_type1 const* s1; 0056 segment_type2 const* s2; 0057 0058 // 4) must implement a method apply 0059 // having two segments 0060 *rt = str->apply(*s1, *s2); 0061 0062 } 0063 }; 0064 0065 0066 public : 0067 BOOST_CONCEPT_USAGE(SegmentIntersectStrategy) 0068 { 0069 check_methods::apply(); 0070 } 0071 #endif 0072 }; 0073 0074 0075 0076 }}} // namespace boost::geometry::concepts 0077 0078 #endif // BOOST_GEOMETRY_STRATEGIES_CONCEPTS_SEGMENT_INTERSECT_CONCEPT_HPP
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |