$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Proposal/InterestCheck: Boost.Geom
From: Barend Gehrels (barend_at_[hidden])
Date: 2009-01-28 11:02:13
Hi Anis,
> Wrapping is not needed when you want to pass agruments to the library.
>
> POINT pt1;
> geom::point<POINT> pt2; pt2=pt1; // Assign geom::point = POINT works
>
> Wrapping is needed when you have a POINT a you need to work with it behind a
> geom::point<>. It is of course possible to copy to a geom::point and then copy
> the results back...
>
We currently use concepts, and have a set of metafunctions to enable any
geometry object being used or modified by the library.
So we say now, internally:
geometry::set<0>(p, 3) and its x-value will get an 3
geometry::set_indexed<min_corner,0>(b, 3) and the x-vale of the
lowerleft corner of the box will get a 3
The point or box involved can have any structure, for example:
struct pnt {double x,y; }
struct box1 {int left,top,right,bottom; }
struct box2 {pnt lowerleft, pnt upperright; }
This is internally. Of course the user can use the point directly, so
can state:
pnt p; p.x = 3;
box1 b; b.left = 3;
But the library uses an indirect way to be independant on the types
choosen by the user.
> PS. I hear lots of people in this thread talking about their own ideas in this
> domain but I find it hard to find each person's proposition/code (latest
> versions, and documentation when available), if everyone could provide links to
> their work it would be great.
>
>
>
>
Currently our library can be found at: http://geometrylibrary.geodan.nl
We will post a new, substantially revised, version in one or two weeks
and use Boost SVN as its new repository then.
Regards, Barend