|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools. More...
#include <algorithm>#include <array>#include <cstddef>#include <limits>#include <ostream>#include <type_traits>#include "EBGeometry_Macros.hpp"#include "EBGeometry_VecImplem.hpp"

Go to the source code of this file.
Classes | |
| class | EBGeometry::Vec2T< T > |
| Two-dimensional vector class with arithmetic operators. More... | |
| class | EBGeometry::Vec3T< T > |
| Three-dimensional vector class with arithmetic operators. More... | |
Namespaces | |
| namespace | EBGeometry |
| Namespace containing all of EBGeometry's functionality. | |
Functions | |
| template<typename T > | |
| constexpr Vec2T< T > | EBGeometry::operator* (const T &s, const Vec2T< T > &a_other) noexcept |
| Scalar-left multiplication: s * vec. | |
| template<typename T > | |
| constexpr Vec2T< T > | EBGeometry::operator/ (const T &s, const Vec2T< T > &a_other) noexcept |
| Component-wise scalar-left division: s / vec. | |
| template<typename T > | |
| Vec2T< T > | EBGeometry::min (const Vec2T< T > &u, const Vec2T< T > &v) noexcept |
| Component-wise minimum of two vectors. | |
| template<typename T > | |
| Vec2T< T > | EBGeometry::max (const Vec2T< T > &u, const Vec2T< T > &v) noexcept |
| Component-wise maximum of two vectors. | |
| template<typename T > | |
| T | EBGeometry::dot (const Vec2T< T > &u, const Vec2T< T > &v) noexcept |
| Dot product of two 2D vectors. | |
| template<typename T > | |
| T | EBGeometry::length (const Vec2T< T > &v) noexcept |
| Euclidean length of a 2D vector. | |
| template<class R , typename T > | |
| constexpr Vec3T< T > | EBGeometry::operator* (const R &s, const Vec3T< T > &u) noexcept |
| Scalar-left multiplication: s * vec. | |
| template<typename T > | |
| constexpr Vec3T< T > | EBGeometry::operator* (const Vec3T< T > &u, const Vec3T< T > &v) noexcept |
| Component-wise multiplication of two vectors. | |
| template<class R , typename T > | |
| constexpr Vec3T< T > | EBGeometry::operator/ (const R &s, const Vec3T< T > &u) noexcept |
| Component-wise scalar-left division: s / vec. | |
| template<typename T > | |
| constexpr Vec3T< T > | EBGeometry::min (const Vec3T< T > &u, const Vec3T< T > &v) noexcept |
| Component-wise minimum of two 3D vectors. | |
| template<typename T > | |
| constexpr Vec3T< T > | EBGeometry::max (const Vec3T< T > &u, const Vec3T< T > &v) noexcept |
| Component-wise maximum of two 3D vectors. | |
| template<typename T > | |
| constexpr Vec3T< T > | EBGeometry::clamp (const Vec3T< T > &v, const Vec3T< T > &lo, const Vec3T< T > &hi) noexcept |
| Component-wise clamp of a 3D vector. | |
| template<typename T > | |
| constexpr T | EBGeometry::dot (const Vec3T< T > &u, const Vec3T< T > &v) noexcept |
| Dot product of two 3D vectors. | |
| template<typename T > | |
| constexpr Vec3T< T > | EBGeometry::cross (const Vec3T< T > &u, const Vec3T< T > &v) noexcept |
| Cross product of two 3D vectors. | |
| template<typename T > | |
| constexpr T | EBGeometry::length (const Vec3T< T > &v) noexcept |
| Euclidean length of a 3D vector. | |
Declaration of 2D and 3D point/vector classes with templated precision. Used with DCEL tools.