From: Huseyin Akcan (huseyinakcan_at_[hidden])
Date: 2007-04-13 16:04:47
Due to time limitation, the summer work will be based on 2D meshes
(half-edge data structures). Representing multi-dimensional point sets
and algorithms over these
collections is out of this projects scope, sorry about that.
On 4/13/07, Phil Endecott <spam_from_boost_dev_at_[hidden]> wrote:
> Neal Becker wrote:
> > I have been using boost::range heavily, and find it useful for generic
> > interfaces. I think it is also useful to have a multi-dimensional
> > extension to range. In particular, a 2-d extension would help in creating
> > algorithms that can accept a variety of 2-d structures.
> > For example, range has size, begin, end.
> > range2d would have size1, size2, begin1, begin2.
> > Other useful members might include row, col.
> Yes, I have been thinking along the same lines. In fact I thought
> about this earlier today after Janek Kozicki posted asking what the
> focus of the proposed SoC geometry library is. I would very much like
> to see some 2D containers, e.g. set<point2d> and map<point2d,T>,
> implemented using R-trees or similar. For Boost, I presume that any
> such code will be expected to be "standard library like", and I was
> wondering how similar a set<point2d> can be to a set<int>. In
> particular, when I want to iterate over all the points within a
> rectangle, I would love to be able to write:
> for(set<point2d>::const_iterator i = points.lower_bound(point2d(x0,y0));
> i != points.upper_bound(point2d(x1,y1)); ++i)
> Unfortunately it can't be quite that similar to the 1D case. Currently
> I have some very crude code where I define what I call a "window" into
> the set of points:
> window w(points,point(x0,y0),point(x1,y1));
> for(set<point2d>::const_iterator i = w.begin();
> i != w.end(); ++i)
> Of course, having seen Neal's message, I realise that my "window" is
> just a 2D range.
> Clearly, it would be a good plan to get basics like this (and things
> like a point type) thought about before Huseyin Akcan starts on his SoC
> work. (Huseyin, I hope you're reading this! Do please let us know
> what exactly you intend to do.)
> I have been considering writing something to implement set<point> using
> space filling curves. I haven't thought about it much yet and would
> value any suggestions. My hope is that using this technique I can
> adapt the standard associative containers to work with 2D points, and
> thereby avoid having to implement any tree stuff.
> In my case I'm dealing with latitude/longitude values and I think that
> the first thing I need is a fixed-point type, so that I can do the bit
> interleaving that the space filling curves need. That could make a
> simple self-contained Boost library - is anyone interested?
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost