From: Andy Little (andy_at_[hidden])
Date: 2006-06-17 09:25:50
> Geoffrey Irving said: (by the date of Wed, 14 Jun 2006 14:19:39 -0700)
>> I suppose no one said it explicitly, but I'm pretty sure everyone
>> who's been talking about vector<3> was actually talking about a
>> general vector<d> template.
I have been following the geometry debate with interest. It probably doesnt need
to be stated that geometry on numeric types is a sophisticated field. Geometry
on strongly typed quantities in C++ is I think a relatively unexplored field.
I thought I should say where I am planning to go with PQS library, especially to
Janek , as he has experimented with using the library in his own work.
First a lot depends on the outcome of the review. If accepted into boost, I can
put the library into Boosts CVS. If not I will have to look around and put it
elsewhere, possibly on sourceforge. I'm basing that on the high level of
interest in the subject of quantities brought up by the PQS review.
Either way I am planning a major upheaval of the code (including possibly a
change of the library name etc), which will break the current interface. Its
also clear that I need to redo the documentation, which is a time consuming
process. Regarding the geometry end, it seems to me that the geometry doesnt
need to be tied to the particular pqs type. Using Boost.Typeof it should be
possible to implement geometric entities that will work with the types in pqs or
others if written in terms of Concepts. I can however see some issues with using
Typeof (mainly related to gcc), which I will bring up in another thread.
The whole area of geometry on quantities is extremely interesting ( In a similar
way to the question, Why climb Mount Everest, to which the reply was given,
"Because its there"), however I think it is also a relatively unknown field(
though Leland Brown seems to have done a fair amount of work on the subject) and
with that in mind and with my skill level I reckon that my best bet is to try to
implement vectors, quaternions and matrices in the absolute simplest way
possible within PQS (This is actually the same philosophy I have used in PQS
till now).I dont see PQS as being able to cover the field with authority or high
performance etc to start with, but I currently view the work more as an
experiment to start to answer the question. What happens if we try to implement
geometry on strongly typed quantities? From following comments re pqs it is
obvious that there is a real potential benefit, namely helping with debugging,
code review etc, however it is only in trying to implement such a library fully
that the problems will reveal themselves. I dont know what the answer to the
above question is yet of course and I think it is quite important to those
interested in the subject to point that out! At the moment I am not making the
assumption that using quantities for geometry is beneficial over using floats
( Although what Leland has said is very encouraging). I guess the only way to
find out is to try to implement the functionality...
Of course, whether a half finished experiment in strongly typed quantities is a
suitable candidate for a Boost library, luckily I can leave that to my Review
Manager to answer!
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk