Loading...
Searching...
No Matches
Vec3.h File Reference
`#include <openvdb/Exceptions.h>`
`#include "Math.h"`
`#include "Tuple.h"`
`#include <algorithm>`
`#include <cmath>`
`#include <type_traits>`

Go to the source code of this file.

## Classes

class | Vec3< T >

## Namespaces

namespace | openvdb
namespace | openvdb::v11_0
namespace | openvdb::v11_0::math

## Typedefs

using | Vec3i = Vec3<int32_t>
using | Vec3ui = Vec3<uint32_t>
using | Vec3s = Vec3<float>
using | Vec3d = Vec3<double>

## Functions

template<typename T0, typename T1>
bool | operator== (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Equality operator, does exact floating point comparisons.
template<typename T0, typename T1>
bool | operator!= (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Inequality operator, does exact floating point comparisons.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator* (S scalar, const Vec3< T > &v)
| Multiply each element of the given vector by scalar and return the result.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator* (const Vec3< T > &v, S scalar)
| Multiply each element of the given vector by scalar and return the result.
template<typename T0, typename T1>
Vec3< typename promote< T0, T1 >::type > | operator* (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Multiply corresponding elements of v0 and v1 and return the result.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator/ (S scalar, const Vec3< T > &v)
| Divide scalar by each element of the given vector and return the result.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator/ (const Vec3< T > &v, S scalar)
| Divide each element of the given vector by scalar and return the result.
template<typename T0, typename T1>
Vec3< typename promote< T0, T1 >::type > | operator/ (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Divide corresponding elements of v0 and v1 and return the result.
template<typename T0, typename T1>
Vec3< typename promote< T0, T1 >::type > | operator+ (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Add corresponding elements of v0 and v1 and return the result.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator+ (const Vec3< T > &v, S scalar)
| Add scalar to each element of the given vector and return the result.
template<typename T0, typename T1>
Vec3< typename promote< T0, T1 >::type > | operator- (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
| Subtract corresponding elements of v0 and v1 and return the result.
template<typename S, typename T>
Vec3< typename promote< S, T >::type > | operator- (const Vec3< T > &v, S scalar)
| Subtract scalar from each element of the given vector and return the result.
template<typename T>
T | angle (const Vec3< T > &v1, const Vec3< T > &v2)
template<typename T>
bool | isApproxEqual (const Vec3< T > &a, const Vec3< T > &b)
template<typename T>
bool | isApproxEqual (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &eps)
template<typename T>
Vec3< T > | Abs (const Vec3< T > &v)
template<typename T>
void | orthonormalize (Vec3< T > &v1, Vec3< T > &v2, Vec3< T > &v3)
template<typename T>
Vec3< T > | minComponent (const Vec3< T > &v1, const Vec3< T > &v2)
| Return component-wise minimum of the two vectors.
template<typename T>
Vec3< T > | maxComponent (const Vec3< T > &v1, const Vec3< T > &v2)
| Return component-wise maximum of the two vectors.
template<typename T>
Vec3< T > | Exp (Vec3< T > v)
| Return a vector with the exponent applied to each of the components of the input vector.
template<typename T>
Vec3< T > | Log (Vec3< T > v)
| Return a vector with log applied to each of the components of the input vector.