
On Wed, May 23, 2012 at 9:12 PM, Simonson, Lucanus J < lucanus.j.simonson@intel.com> wrote:
I'm fine with it being an index. This is how my own algorithms work. For example the connectivity graph extraction and the map overlay are index based. Below is the implementation of the interface for the general polygon connectivity extraction algorithm. You construct the connectivity_extraction object, insert into it with its insert member function, which returns an int, which is the index of your inserted object. The output data structure passed into the extract() function is required to be indexable with [] operators using the indexes returned. In the case of voronoi diagram you can return an index for each site inserted into the voronoi builder and write that index to a member of the voronoi cell at the output. If the user wants to index to a vector of altitude that is pretty easy, they just push the altitude back onto a vector at the time they insert the site into the voronoi builder.
That sounds good to me. Such implementation allows to build inplace output data structure around user provided input. As a side note, we would probably need to have two counters: one for points and one for segments. Additional point sites (segment endpoints) that are not actually part of the input could have the same index as related input segment and its up to the output data structure to decide how to treat them for the inplace implementation. Regards, Andrii _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost