#include <math/matrix.h>
Go to the source code of this file.
Data Structures | |
class | Literal< Value > |
class | ScalarDivided< First, Second > |
class | SquareRoot< First > |
class | BasicVector3Literal< Element > |
class | BasicVector3Identity< Element > |
class | VectorScalar< Operation, First, Second > |
class | VectorVector< Operation, First, Second > |
class | Added< First, Second > |
class | Multiplied< First, Second > |
class | Negated< First > |
class | VectorUnary< First, Operation > |
class | VectorCross< First, Second > |
class | VectorDot< First, Second > |
struct | VectorDot< First, Second >::eval_dot< Index > |
struct | VectorDot< First, Second >::eval_dot< IntegralConstant< 0 > > |
class | VectorLengthSquared< First > |
struct | VectorLengthSquared< First >::eval_squared< Index > |
struct | VectorLengthSquared< First >::eval_squared< IntegralConstant< 0 > > |
class | Matrix4Literal |
class | Matrix4Identity |
class | PointMultiplied< First, Second > |
class | Matrix4Multiplied< First, Second > |
class | MatrixTransposed< First > |
Defines | |
#define | INCLUDED_EXPRESSION_H |
Typedefs | |
typedef BasicVector3Literal < float > | Vector3Literal |
typedef BasicVector3Identity < float > | Vector3Identity |
Functions | |
template<typename Value > | |
Literal< Value > | float_literal (const Value &value) |
template<typename Expression > | |
float | float_for_expression (const Expression &expression) |
template<typename First , typename Second > | |
ScalarDivided< First, Second > | float_divided (const First &first, const Second &second) |
template<typename First > | |
ScalarDivided< Literal < typename First::value_type > , First > | float_reciprocal (const First &first) |
template<typename First > | |
SquareRoot< First > | float_square_root (const First &first) |
template<typename Element > | |
BasicVector3Literal< Element > | vector3_literal (const BasicVector3< Element > &value) |
template<typename Element > | |
BasicVector3Identity< Element > | vector3_identity (const BasicVector3< Element > &value) |
template<typename Expression > | |
BasicVector3< typename Expression::value_type > | vector3_for_expression (const Expression &expression) |
template<typename First , typename Second > | |
VectorVector< Added< typename First::value_type, typename Second::value_type >, First, Second > | vector_added (const First &first, const Second &second) |
template<typename First , typename Second > | |
VectorVector< Multiplied < typename First::value_type, typename Second::value_type > , First, Second > | vector_multiplied (const First &first, const Second &second) |
template<typename First , typename Second > | |
VectorScalar< Multiplied < typename First::value_type, typename Second::value_type > , First, Second > | vector_scaled (const First &first, const Second &second) |
template<typename First > | |
VectorUnary< First, Negated < typename First::value_type > > | vector_negated (const First &first) |
template<typename First , typename Second > | |
VectorCross< First, Second > | vector_cross (const First &first, const Second &second) |
template<typename First , typename Second > | |
VectorDot< First, Second > | vector_dot (const First &first, const Second &second) |
template<typename First > | |
VectorLengthSquared< First > | vector_length_squared (const First &first) |
template<typename First > | |
SquareRoot < VectorLengthSquared< First > > | vector_length (const First &first) |
template<typename First > | |
VectorScalar< Multiplied < typename First::value_type, typename First::value_type > , First, ScalarDivided < Literal< typename First::value_type > , SquareRoot < VectorLengthSquared< First > > > > | vector_normalised (const First &first) |
Matrix4Literal | matrix4_literal (const Matrix4 &value) |
Matrix4Identity | matrix4_identity (const Matrix4 &value) |
template<typename Expression > | |
Matrix4 | matrix4_for_expression (const Expression &expression) |
template<typename Expression > | |
Matrix4 | matrix4_affine_for_expression (const Expression &expression) |
template<typename First , typename Second > | |
PointMultiplied< First, Second > | point_multiplied (const First &point, const Second &matrix) |
template<typename First , typename Second > | |
Matrix4Multiplied< First, Second > | matrix4_multiplied (const First &first, const Second &second) |
template<typename First > | |
MatrixTransposed< First > | matrix_transposed (const First &first) |
#define INCLUDED_EXPRESSION_H |
Definition at line 23 of file expression.h.
typedef BasicVector3Identity<float> Vector3Identity |
Definition at line 160 of file expression.h.
typedef BasicVector3Literal<float> Vector3Literal |
Definition at line 134 of file expression.h.
ScalarDivided<First, Second> float_divided | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 75 of file expression.h.
float float_for_expression | ( | const Expression & | expression | ) | [inline] |
Definition at line 51 of file expression.h.
Definition at line 45 of file expression.h.
Referenced by float_reciprocal().
ScalarDivided<Literal<typename First::value_type> , First> float_reciprocal | ( | const First & | first | ) | [inline] |
Definition at line 81 of file expression.h.
References float_literal().
Referenced by vector_normalised().
SquareRoot<First> float_square_root | ( | const First & | first | ) | [inline] |
Definition at line 105 of file expression.h.
Referenced by vector_length().
Matrix4 matrix4_affine_for_expression | ( | const Expression & | expression | ) | [inline] |
Definition at line 484 of file expression.h.
Matrix4 matrix4_for_expression | ( | const Expression & | expression | ) | [inline] |
Definition at line 475 of file expression.h.
Matrix4Identity matrix4_identity | ( | const Matrix4 & | value | ) | [inline] |
Definition at line 469 of file expression.h.
Matrix4Literal matrix4_literal | ( | const Matrix4 & | value | ) | [inline] |
Definition at line 446 of file expression.h.
Matrix4Multiplied<First, Second> matrix4_multiplied | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 540 of file expression.h.
MatrixTransposed<First> matrix_transposed | ( | const First & | first | ) | [inline] |
Definition at line 566 of file expression.h.
PointMultiplied<First, Second> point_multiplied | ( | const First & | point, | |
const Second & | matrix | |||
) | [inline] |
Definition at line 512 of file expression.h.
BasicVector3<typename Expression::value_type> vector3_for_expression | ( | const Expression & | expression | ) | [inline] |
Definition at line 163 of file expression.h.
BasicVector3Identity<Element> vector3_identity | ( | const BasicVector3< Element > & | value | ) | [inline] |
Definition at line 155 of file expression.h.
BasicVector3Literal<Element> vector3_literal | ( | const BasicVector3< Element > & | value | ) | [inline] |
Definition at line 129 of file expression.h.
VectorVector<Added<typename First::value_type, typename Second::value_type> , First, Second> vector_added | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 219 of file expression.h.
VectorCross<First, Second> vector_cross | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 315 of file expression.h.
VectorDot<First, Second> vector_dot | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 360 of file expression.h.
SquareRoot<VectorLengthSquared<First> > vector_length | ( | const First & | first | ) | [inline] |
Definition at line 415 of file expression.h.
References float_square_root(), and vector_length_squared().
Referenced by vector_normalised().
VectorLengthSquared<First> vector_length_squared | ( | const First & | first | ) | [inline] |
Definition at line 409 of file expression.h.
Referenced by vector_length().
VectorVector<Multiplied<typename First::value_type, typename Second::value_type> , First, Second> vector_multiplied | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 240 of file expression.h.
VectorUnary<First, Negated<typename First::value_type> > vector_negated | ( | const First & | first | ) | [inline] |
Definition at line 288 of file expression.h.
VectorScalar<Multiplied<typename First::value_type, typename First::value_type>,First,ScalarDivided <Literal<typename First::value_type>,SquareRoot <VectorLengthSquared<First> > > > vector_normalised | ( | const First & | first | ) | [inline] |
Definition at line 423 of file expression.h.
References float_reciprocal(), vector_length(), and vector_scaled().
VectorScalar<Multiplied<typename First::value_type, typename Second::value_type> , First, Second> vector_scaled | ( | const First & | first, | |
const Second & | second | |||
) | [inline] |
Definition at line 249 of file expression.h.
Referenced by vector_normalised().