Boost Quaternions, Vectors, Matrices library
Go to file
Emil Dotchevski 68f960dc43 Added signed/unsigned long long specializations for is_scalar 2024-02-27 00:36:08 -08:00
.drone Drone, GHA update 2023-01-19 21:49:50 -08:00
.github/workflows gha update 2023-11-06 19:35:07 -08:00
.vscode Added meson build testing for c++11 2023-10-09 00:04:03 -07:00
doc Doc change: clarification about order of operations in rot_mat_XXX functions 2024-02-03 15:54:06 -08:00
gen Optional support for write_element definitions that take the value to write as an argument, instead of returning a reference to the element. 2022-03-14 20:20:49 -07:00
include/boost Added signed/unsigned long long specializations for is_scalar 2024-02-27 00:36:08 -08:00
meta Updated meta/libraries.json 2021-08-22 22:50:39 -07:00
test Added signed/unsigned long long specializations for is_scalar 2024-02-27 00:36:08 -08:00
.drone.jsonnet Drone testing 2023-01-23 09:59:13 -08:00
.gitattributes new .gitattributes to hopefully deal with inconsistent cr/lf. 2018-12-17 15:17:06 -08:00
.gitignore Generating qvm.hpp and qvm_lite.hpp on GitHub Actions 2020-12-19 23:46:20 -08:00
CMakeLists.txt Add CMakeLists.txt 2021-05-28 00:12:46 +03:00
LICENSE_1_0.txt Major refactor: single header support, deduce_quat2/deduce_vec2/deduce_mat2 used in all binary operations, cross product for 2D vectors, Meson build 2020-12-16 00:05:15 -08:00
README.md Updated copyright message in docs 2023-01-23 09:59:03 -08:00
index.html Fixed redirection 2019-03-21 23:05:48 +03:00
meson.build Optional support for write_element definitions that take the value to write as an argument, instead of returning a reference to the element. 2022-03-14 20:20:49 -07:00
meson_options.txt Major refactor: single header support, deduce_quat2/deduce_vec2/deduce_mat2 used in all binary operations, cross product for 2D vectors, Meson build 2020-12-16 00:05:15 -08:00

README.md

QVM

A generic C++ library for working with Quaternions, Vectors and Matrices.

Documentation

https://boostorg.github.io/qvm/

Features

  • Emphasis on 2, 3 and 4-dimensional operations needed in graphics, video games and simulation applications.
  • Free function templates operate on any compatible user-defined Quaternion, Vector or Matrix type.
  • Enables Quaternion, Vector and Matrix types from different libraries to be safely mixed in the same expression.
  • Type-safe mapping between compatible lvalue types with no temporary objects; f.ex. transpose remaps the access to the elements, rather than transforming the matrix.
  • Requires only {CPP}03.
  • Zero dependencies.

Support

Distribution

Besides GitHub, there are two other distribution channels:

  • QVM is included in official Boost releases.
  • For maximum portability, the library is also available in single-header format, in two variants (direct download links):
    • qvm.hpp: single header containing the complete QVM source, including the complete set of swizzling overloads.
    • qvm_lite.hpp: single header containing everything except for the swizzling overloads.

Copyright 2008-2023 Emil Dotchevski and Reverge Studios, Inc. Distributed under the Boost Software License, Version 1.0.