|
Boost : |
Subject: Re: [boost] Review Request: QVM (generic Quaternion, Vector and Matrix operations library)
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2015-05-05 10:41:17
Hi Emil,
Emil Dotchevski wrote:
> Boost QVM defines a set of generic functions and operator overloads for
> working with quaternions, vectors and matrices of static size. The library
> also defines vector and matrix data types, however it allows users to
> introduce their own types by specializing the q_traits, v_traits and
> m_traits templates.
>
> Online documentation and a link to download the source code under the Boost
> license is available at http://www.revergestudios.com/boost-qvm/.
Echoing the previous comments about the docs, while they look very
comprehensive you really do need to start with a "hello world" tutorial
that shows the basic usage with the built-in types i.e. declaring a
few vectors and matrices, multiplying them etc.
(You should also explicitly point out the performance advantage of
these statically-sized objects compared to dynamically-sized objects
as provided by other libraries. Personally I think that statically-
sized vectors and matrices with basic arithmetic operations would be
very welcome in std C++ and/or Boost.)
In my view, the main thing that reviewers should learn quickly in a
"hello world" tutorial should be your choice to not use operator() or
operator[] for operator access, but instead to use operator%. In my
view, this is simply the wrong trade-off for a std or Boost matrix
library.
See also the way that the two geometry libraries handle point types.
Regards, Phil.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk