Boost logo

Boost Users :

Subject: Re: [Boost-users] [geometry] Runtime dimensionality
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2017-09-27 10:56:51


Mateusz Loskot Via Boost-users wrote:
> On 27 September 2017 at 03:57, Florian Lindner <mailinglists_at_[hidden]> wrote:
>> Am 26.09.2017 um 14:40 schrieb Mateusz Loskot:
>>> On 26 September 2017 at 04:02, Florian Lindner via Boost-users
>>> <boost-users_at_[hidden]> wrote:
>>>> We have a Vertex object, with a dimension determined at runtime. T
>>> This is not possible.
>>> Dimension is compile-time trait of any model in the Geometry,
>>> intrinsic or adapted.
>>> Unless my info is outdated.
>> Ok, I expected that. Is there maybe a way to define the rtree's dimensionality upon creation? So that I can do:
>>
>> rtree<3, size_t, RTreeParameters, VertexIndexGetter>;
>>
>> 3 beging the dimension.
>
> The only run-time parameters rtree can take are for balancing configuration.
>
> http://www.boost.org/doc/libs/1_65_1/libs/geometry/doc/html/geometry/spatial_indexes/creation_and_modification.html
>
> Unless, again, something has changed and rtree can swallow-adapt `Value` type
> of any dimension. I'm sure Adam will chime in with further clarifications.
The rtree takes dimension from geometry::dimension of Value's Indexable
Geometry in compile-time.

But I don't fully understand the problem. In the code above the
dimension 3 is compile-time parameter, not run-time. The equivalent of
the code above could therefore be e.g.:

typedef bg::model::box<bg::model::point<3, double, bg::cs::cartesian>>
box_type;
rtree<std::pair<box_type, size_t>, RTreeParameters,
ValueIndexableGetter> rt;

Adam



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net