Hi all.

On 15/05/2014 12:48 μμ, Bruno Lalande wrote:
Hi Samuel,

Before I go further into this, there are 2 things I'd like you to consider:
- Could you please use the transform_variant and compress_variant helper functions I've put in place instead of the heavy MPL manipulations you're doing? I think that's exactly what you were trying to do (and I agree it's the right thing to do). You have an example in the perimeter algorithm.
- Could you detach the handling of default strategies into an actual resolve_strategy step? You can take examples from various algos, it basically uses an instance of default_strategy class in the no-strategy free function, which is then passed along to resolve_strategy since it can only be resolved when variants are resolved.

I suspect those 2 things will make the code clearer.

FYI, the distance code file structure has changed a bit: the free function definition is now in boost/geometry/algorithms/detail/distance/interface.hpp,
and the implementation details are all collected in boost/geometry/algorithms/detail/distance/implementation.hpp

The main file (boost/geometry/algorithms/distance.hpp) now contains includes to the above two files.
The code is not merged yet into BG develop, but you may find it in: https://github.com/mkaravel/geometry/tree/feature/distance

Best regards,

- m.


Geometry mailing list