On Thu, May 7, 2015 at 3:30 AM, Phil Endecott < spam_from_boost_dev@chezphil.org> wrote:
Emil Dotchevski wrote:
For example one of the 3D vector types I use looks like this: struct float3 { float x, y, z; }, so typically I access its elements as v.x, v.y and v.z
THAT is what I believe is needed in a "basic" matrix and vector library, plus operations on those types.
Emil, can you include a collection of such types with the library?
The library does define a basic (or default) vector type: http://www.revergestudios.com/boost-qvm/vec.html.
Me: First, define your own structs. Then define partial specialisations of these two type traits templates. Now #include this, and + and * will just work.
There are independent reasons why people may want to define their own vector types or may already have several different vector types on their hands. QVM can be used to make such types compatible with each other. In addition, QVM itself emits many different vector types, e.g. see http://www.revergestudios.com/boost-qvm/view_proxy.html. Emil