Commit Graph

  • 0f739a7e0f [algorithms][is_valid] make the template parameter AllowSpikes default to false; the policy passed to is_valid is now responsible for the handling of spikes; Menelaos Karavelas 2015-02-24 15:46:27 +02:00
  • 6bf0289186 [algorithm][is_valid] remove used code (the is_simple algorithm now passes an appropriate policy to has_spikes and has_duplicates) Menelaos Karavelas 2015-02-24 15:44:37 +02:00
  • deae2e2a63 [algorithms][is_simple] modify calls to has_spikes and has_duplicates by providing a policy that is appropriate for simplicity testing Menelaos Karavelas 2015-02-24 15:43:39 +02:00
  • 1ca384d933 [algorithms][is_simple] add policy for is_simple algorithm to be used with has_spikes and has_duplicates Menelaos Karavelas 2015-02-24 15:42:17 +02:00
  • cebcabb1d4 [test][algorithms][is_valid] update unit test code for is_valid to use the newly introduced free functions; Menelaos Karavelas 2015-02-24 15:40:29 +02:00
  • ef9069d216 [test][algorithms][is_valid] rename is_valid_reason unit test to is_valid_failure; update code in unit test to reflect this change; Menelaos Karavelas 2015-02-24 15:37:12 +02:00
  • e4ad786f10 [policies][is_valid] add new policy, the failure_type_policy, used to keep track of the failure type; this policy is used to implement the free function bool is_valid(geometry, failure_value&); the policy is templated by two boolean parameters that indicate how to handle spikes for linear geometries, and duplicate points for areal geometries; Menelaos Karavelas 2015-02-24 15:34:03 +02:00
  • 6cc9be2206 [policies][is_valid] templatize the failing_reason_policy by a boolean template parameter associated with how to handle spikes for linear geometries Menelaos Karavelas 2015-02-24 15:32:59 +02:00
  • ff04ef6e78 [policies][is_valid] add a boolean template parameter, associated with the handling of spikes, to the default policy; the policy decided how to handle spikes using this template parameter; Menelaos Karavelas 2015-02-24 15:31:04 +02:00
  • f646ee786c [algorithms][is_valid] add the following free functions: * bool is_valid(geometry, string) * bool is_valid(geometry, visitor) * bool is_valid(geometry, failure value) Menelaos Karavelas 2015-02-24 15:28:03 +02:00
  • f70d234426 [algorithms][is_valid] pass to the policy a boolean value indicating whether the geometry is linear or not (if not linear, it is an areal geometry) Menelaos Karavelas 2015-02-24 15:26:51 +02:00
  • e7dedcfbfe [algorithms][is_valid] remove AllowDuplicates template parameter at dispatch level (the visitor is now responsible to determining the behavior) Menelaos Karavelas 2015-02-24 01:54:31 +02:00
  • 8ece8a827e [test][algorithms][is_valid] rename is_valid_null_policy to is_valid_default_policy Menelaos Karavelas 2015-02-24 01:25:08 +02:00
  • cfb108bb1c [test][algorithms][is_valid_reason] change failure_type_policy's apply methods to return a boolean (according to newest design for policies) Menelaos Karavelas 2015-02-24 01:24:08 +02:00
  • 3e8a56cae0 [policies][is_valid] rename is_valid_null_policy to is_valid_default_policy; change file name with the definition of default policy from null_policy.hpp to default_policy.hpp; Menelaos Karavelas 2015-02-24 01:23:15 +02:00
  • 279177756a [algorithms][is_valid] change default value for dispatch boolean template parameter regarding allowance of duplicates to false (the behavior is now determined by the visitor) Menelaos Karavelas 2015-02-24 01:04:03 +02:00
  • 7571989baf [algorithms][is_valid_reason] update declaration of policy (it is now a template class) Menelaos Karavelas 2015-02-24 01:02:10 +02:00
  • 88318ab6f7 [test][algorithms][is_valid] update declaration of policies (they are now templated classes) Menelaos Karavelas 2015-02-24 01:01:22 +02:00
  • 03399ad3c0 [policies][is_valid] modify the is_valid policies' apply methods to return a boolean value; templatize policies with a boolean that controls whether duplicate points are to be allowed or not (by default they are allowed); Menelaos Karavelas 2015-02-24 00:58:53 +02:00
  • ecdf20b1a4 [algorithms][is_valid] use as return value whatever the policy returns Menelaos Karavelas 2015-02-24 00:57:56 +02:00
  • 31ecf743e8 [test][algorithms][is_valid_reason] update enum values names Menelaos Karavelas 2015-02-21 20:28:47 +02:00
  • ef32b1085a [policies][is_valid] update enum value names as per the previous commit; update failure messages accordingly; Menelaos Karavelas 2015-02-21 20:27:43 +02:00
  • 004b5af7fc [algorithms][is_valid] replace validity failure enumeration value names as follows: failure_holes_outside -> failure_interior_rings_outside failure_nested_holes -> failure_nested_interior_rings Menelaos Karavelas 2015-02-21 20:24:42 +02:00
  • 5a475319ef [algorithms][is_valid] replace "holes", in debug message, by "interior rings" Menelaos Karavelas 2015-02-21 20:23:23 +02:00
  • 0987bc93c7 [test][algorithms][is_valid_reason] update unit test due to change in name of failure value related to wrong topological dimension Menelaos Karavelas 2015-02-21 16:33:37 +02:00
  • 667d5eabc4 [policies][is_valid] update failure value failure_wrong_dimension by failure_wrong_topological dimension; update corresponding message; Menelaos Karavelas 2015-02-21 16:32:12 +02:00
  • 9357d092d8 [algorithms][is_valid] rename failure type value from failure_wrong_dimension to failure_wrong_topological_dimension Menelaos Karavelas 2015-02-21 16:29:53 +02:00
  • c098f89e51 [algorithms][is_valid_reason] add missing #include; rename variable "sstr" to "stream"; Menelaos Karavelas 2015-02-21 16:20:32 +02:00
  • e2f9d07695 [test][algorithms][is_valid_reason] add unit test for new algorithm is_valid_reason Menelaos Karavelas 2015-02-20 10:36:56 +02:00
  • acc774640a [algorithms][is_valid] ring validity: update description of validity checking steps; check explicitly that the ring has enough distinct points; remove commented code; Menelaos Karavelas 2015-02-20 10:33:56 +02:00
  • bce9868365 [policies][is_valid] update validity failure type value name; add message for new value related to boxes; Menelaos Karavelas 2015-02-20 09:58:43 +02:00
  • 0f2789323a [algorithms][is_valid] update validity failure type value name Menelaos Karavelas 2015-02-20 09:57:52 +02:00
  • 42e74f6019 [algorithms][is_valid] distinguish between the cases where the box has lower than expected dimension, and when the corners are not given in correct order Menelaos Karavelas 2015-02-20 09:56:47 +02:00
  • 5ce6a05918 [algorithms][is_valid] change values and names for validity failure types; add one more failure type related to boxes; Menelaos Karavelas 2015-02-20 09:55:17 +02:00
  • f3464e4dd9 [test][algorithms][is_valid] clean-up code; add a few more test cases; declare free functions as inline (if not already declared as such); Menelaos Karavelas 2015-02-20 09:53:16 +02:00
  • b15f790052 Merge pull request #225 from awulkiew/fix/cart_intersect Adam Wulkiewicz 2015-02-20 00:53:51 +01:00
  • 50487af848 [algorithms][is_valid_reason] add in-line documentation Menelaos Karavelas 2015-02-19 23:31:35 +02:00
  • ae28913d8c [test][algorithms][is_valid][is_valid_reason] update validity testing to account for the design changes regarding the visit policy; add basic testing for is_valid_reason; Menelaos Karavelas 2015-02-19 23:24:24 +02:00
  • 4aa73822f8 [geometry] add the is_valid_reason algorithm Menelaos Karavelas 2015-02-19 23:18:31 +02:00
  • 8f2a535a49 [algorithms][is_valid_reason] implement the is_valid_reason algorithm by passing the failing_reason_policy as the visit policy in the is_valid algorithm and then returning the message recorded by the policy; Menelaos Karavelas 2015-02-19 23:16:13 +02:00
  • 2930d649ae [policies][is_valid] add a new visit policy for the is_valid algorithm: the failing_reason_policy policy; this policy is useful for detecting the reason for which is_valid fails, as well as for having a convenient message describing the type of failure and, possibly, information related to the failure; this policy can be used to implement the is_valid_reason algorithm; Menelaos Karavelas 2015-02-19 23:13:09 +02:00
  • bf00fd45bf [policies][is_valid] add a new visit policy for the is_valid algorithm: the is_valid_null_policy policy, that does nothing Menelaos Karavelas 2015-02-19 23:10:39 +02:00
  • b2ff6d51c5 [algorithms][is_valid] add support for visit policy; add one more boolean template parameter at the dispatch level that controls if empty multi-geometries are valid (the default value is true, i.e., empty multi-geometries are considered as valid); Menelaos Karavelas 2015-02-19 23:08:31 +02:00
  • 873a59aa82 Merge branch 'develop' of github.com:boostorg/geometry into develop Barend Gehrels 2015-02-19 22:05:21 +01:00
  • a071453652 [algorithms][is_valid] add enumeration type for the validity failure types Menelaos Karavelas 2015-02-19 23:05:09 +02:00
  • 2373882a2e [buffer] remove now unused type Barend Gehrels 2015-02-19 22:05:05 +01:00
  • 81d3d14578 Merge pull request #219 from sdebionne/feature/variant-over-sequence Adam Wulkiewicz 2015-02-19 17:37:50 +01:00
  • b9da50da29 Merge pull request #228 from mkaravel/fix/test_sym_difference Adam Wulkiewicz 2015-02-19 17:33:05 +01:00
  • 13f55b5094 [test][get_turns] Add a L/L case - collinear, opposite, very long segment. Adam Wulkiewicz 2015-02-19 17:15:27 +01:00
  • 89b8186674 [strategies][policies] Improve the robustness of opposite flag calculation in cart_intersect. Adam Wulkiewicz 2015-02-19 17:10:27 +01:00
  • 6e6867ed43 [test][algorithms][sym_difference] rename duplicate case id so that it is unique Menelaos Karavelas 2015-02-19 10:45:43 +02:00
  • 504854859a Merge branch 'develop' into bg-prepare Barend Gehrels 2015-02-18 17:24:42 +01:00
  • 532239adae Merge branch 'bg-prepare' Barend Gehrels 2015-02-18 16:20:42 +01:00
  • 5a23867aaa Merge branch 'develop' of github.com:boostorg/geometry into develop Barend Gehrels 2015-02-18 15:16:45 +01:00
  • 34e8b70820 [doc] add to doc the fix for largely deflated interior rings Barend Gehrels 2015-02-18 15:16:30 +01:00
  • 845611e251 [buffer][test] add tests for multi-polygons with inner rings and large distances Also tests are added where the generated deflated ring around an interior ring is located exactly within another interior ring Barend Gehrels 2015-02-18 15:12:39 +01:00
  • b0fdfc5d7a [buffer] fix erroneous rings for deflated interior rings which are untouched Barend Gehrels 2015-02-18 15:10:06 +01:00
  • 18d6103abd [disjoint] add disjoint_point_box like there is also disjoint_box_box to avoid calling dispatch from buffer Barend Gehrels 2015-02-18 15:04:22 +01:00
  • d885b66ada Merge pull request #226 from mkaravel/fix/test_is_valid_add_case_ids Adam Wulkiewicz 2015-02-18 14:37:09 +01:00
  • 2201ebf86e [buffer] fix the case where a side was skipped because detected as equal, followed by an end-cap. This caused further problems. Detection of empty sides is now delegated to the strategy Barend Gehrels 2015-02-18 12:20:05 +01:00
  • 3c2a450742 [buffer][test] add testcase for crossing multi-linestring which was fixed already by previous commit (flat-ends) Barend Gehrels 2015-02-18 10:32:04 +01:00
  • 6c5cb48211 [buffer][fix] avoid false detection of turn in piece: turns cannot be located in flat end pieces or in concave pieces Barend Gehrels 2015-02-18 10:20:26 +01:00
  • 4ab7a4fcd1 [test][algorithms][is_valid] allow WKTs to be passed directly to the tester; make the case ID the first argument of the tester; Menelaos Karavelas 2015-02-18 11:16:53 +02:00
  • bd6e07797f [test][buffer] Add tests for Areal and negative distance (failing for polygon with hole and big distance). Adam Wulkiewicz 2015-02-18 00:35:29 +01:00
  • 7f9b2f86f8 [test][buffer] Add Linear cases failing for end_flat and big distance. Adam Wulkiewicz 2015-02-17 21:15:39 +01:00
  • 7253299961 Merge pull request #227 from mkaravel/fix/add_test_cases_to_douglas_peucker Adam Wulkiewicz 2015-02-17 20:48:19 +01:00
  • a8130faa8a [test][strategies][douglas peucker] add more test cases Menelaos Karavelas 2015-02-17 16:09:25 +02:00
  • a3a531f30e [test][algorithms][is_valid] add case ID to east test cases; add test cases provided by Barend Gehrels coming from buffer computations; Menelaos Karavelas 2015-02-17 08:25:45 +02:00
  • e70d60aa71 [test][algorithms][is_valid] add support for case ID string per test case Menelaos Karavelas 2015-02-17 08:25:31 +02:00
  • 543acca243 [test][buffer] Add MultiLinestring tests causing an assertion failure. Adam Wulkiewicz 2015-02-16 18:13:19 +01:00
  • 2d3bfc296c [buffer] Add assertions checking segments indexes >= 0 in buffered_piece_collection. Adam Wulkiewicz 2015-02-16 18:12:06 +01:00
  • 2e87e7008e Merge branch 'develop' of github.com:boostorg/geometry into develop Adam Wulkiewicz 2015-02-14 01:19:54 +01:00
  • 7f38bd2468 [test][sym_difference] Replace BOOST_ASSERT with BOOST_CHECK_MESSAGE. Adam Wulkiewicz 2015-02-14 01:19:43 +01:00
  • a5043f96ad [test][disjoint] Add/enable test cases for L/L. Adam Wulkiewicz 2015-02-13 21:34:41 +01:00
  • 195e2d4ad5 [test][get_turns] Add/enable test cases for L/L. Adam Wulkiewicz 2015-02-13 21:34:18 +01:00
  • 076d1077c5 [strategies][policies] Increase robustness of collinear segments intersection. Adam Wulkiewicz 2015-02-13 21:25:30 +01:00
  • a459a0831c Merge branch 'develop' into feature/buffer Barend Gehrels 2015-02-13 17:04:50 +01:00
  • d9d14ce71b Merge pull request #224 from mkaravel/fix/buffer_accessing_front_element_of_rings Barend Gehrels 2015-02-13 16:21:45 +01:00
  • 2f5d497885 [algorithms][buffer] replace call to .empty() method by call to boost::empty(); replace call to .back() method by call to range::back(); Menelaos Karavelas 2015-02-13 16:18:26 +02:00
  • d942d49114 Merge pull request #223 from mkaravel/fix/qualify_mpl_namespace_by_boost Adam Wulkiewicz 2015-02-13 14:31:43 +01:00
  • a2d1365326 [algorithms][buffer] replace access of front range element using the .front() method by the range::front BG utility function Menelaos Karavelas 2015-02-13 15:18:02 +02:00
  • 729c5d2c37 Minor: fix spacing according to conventions Barend Gehrels 2015-02-13 13:25:59 +01:00
  • 3afb29f41e [buffer][fix] Assure first point of next piece equals last point of previous piece Barend Gehrels 2015-02-13 12:59:14 +01:00
  • f24b4a24fb [buffer] some minor code layout changes Barend Gehrels 2015-02-13 12:26:55 +01:00
  • d21145952f [buffer][fix] make sure that, per ring, closing point is the starting point. It can be off due to numerical instability Barend Gehrels 2015-02-13 12:23:58 +01:00
  • 8b12ba92b6 [geometry] qualify mpl:: namespace by boost:: (namespace external to the Boost.Geometry library); fix long lines produced by the addition of "boost::" Menelaos Karavelas 2015-02-13 11:41:16 +02:00
  • 1b2fda7436 Merge pull request #222 from mkaravel/fix/re-factor_code_for_get_rescale_policy Barend Gehrels 2015-02-13 09:50:43 +01:00
  • 4097d8e74b [policies][robustness][get_rescale_policy] fix wrong name of free function Menelaos Karavelas 2015-02-13 10:12:03 +02:00
  • 75e3115708 [policies][robustness][get_rescale_policy] factor-out common code Menelaos Karavelas 2015-02-13 09:48:29 +02:00
  • 703b37fc21 [test][disjoint] Add failing L/L test case, assertion failure in get_turn_info (commented out). Adam Wulkiewicz 2015-02-13 02:27:51 +01:00
  • e73e9486ab Add boost:: namespace for variant, mpl Samuel Debionne 2015-02-12 09:32:13 +01:00
  • 28ca5355e2 [doc] Update 1.58 release notes (ticket fixed). Adam Wulkiewicz 2015-02-11 20:47:06 +01:00
  • 91b80a94c1 Merge pull request #218 from awulkiew/fix/warnings Adam Wulkiewicz 2015-02-11 20:41:58 +01:00
  • cff2ee9d6c [util] Add comments about the BOOST_GEOMETRY_CONDITION() implementation. Adam Wulkiewicz 2015-02-11 20:29:47 +01:00
  • b3b3687426 [algorithms] Remove unwanted spaces from condition statements. Adam Wulkiewicz 2015-02-11 20:20:35 +01:00
  • 1a5a1fa661 [test][algorithms][relate] Fix ommited constant condition warning. Adam Wulkiewicz 2015-02-11 19:28:17 +01:00
  • 88d67541a8 [util] Fix the macro name in an #endif comment. Adam Wulkiewicz 2015-02-11 19:26:48 +01:00
  • 2758ef31da Merge pull request #221 from mkaravel/fix/MSVC_warning_about_unused_argument Adam Wulkiewicz 2015-02-11 19:20:54 +01:00
  • 433c510ffc Merge pull request #220 from mkaravel/fix/make_unit_test_for_douglas_peucker_platform_portable Adam Wulkiewicz 2015-02-11 19:19:14 +01:00
  • 218044919a [test][algorithms][distance] fix MSVC warning C4100 complaining about an unreferenced formal parameter Menelaos Karavelas 2015-02-11 19:51:36 +02:00