pbpt
|
Defines a generic, N-dimensional, constexpr-friendly vector class. More...
#include <algorithm>
#include <array>
#include <concepts>
#include <stdexcept>
#include <type_traits>
#include <iostream>
#include <functional>
#include <vector>
#include "global.hpp"
#include "function.hpp"
Go to the source code of this file.
Classes | |
class | pbpt::math::Vector< T, N > |
A template class for N-dimensional mathematical vectors. More... | |
class | pbpt::math::Normal< T, N > |
Namespaces | |
namespace | pbpt::math |
The namespace for math library implementation. |
Typedefs | |
using | pbpt::math::Vec2 = Vector<Float, 2> |
A 2-dimensional vector of type Float. | |
using | pbpt::math::Vec3 = Vector<Float, 3> |
A 3-dimensional vector of type Float. | |
using | pbpt::math::Vec4 = Vector<Float, 4> |
A 4-dimensional vector of type Float. | |
using | pbpt::math::Normal2 = Normal<Float, 2> |
A 2-dimensional vector of type Float. | |
using | pbpt::math::Normal3 = Normal<Float, 3> |
A 3-dimensional vector of type Float. | |
using | pbpt::math::Normal4 = Normal<Float, 4> |
A 4-dimensional vector of type Float. |
Functions | |
template<typename T, int N> | |
constexpr std::vector< Vector< T, N > > | pbpt::math::get_orthogonal_bases (const Vector< T, N > &base) |
Returns orthogonal bases for a given vector. | |
template<typename T> | |
constexpr std::vector< Vector< T, 2 > > | pbpt::math::get_orthogonal_bases (const Vector< T, 2 > &base) |
Returns orthogonal bases for a given vector when N == 2. | |
template<typename T> | |
constexpr std::vector< Vector< T, 3 > > | pbpt::math::get_orthogonal_bases (const Vector< T, 3 > &base) |
Returns orthogonal bases for a given vector when N == 3. |
Defines a generic, N-dimensional, constexpr-friendly vector class.