Menge
Modular Pedestrian Simulation Framework for Research and Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Typedefs | Functions | Variables
Vector2.h File Reference

Definition of a vector in R2. More...

#include "CoreConfig.h"
#include <cmath>
#include <ostream>
#include "Logger.h"
#include "Math/consts.h"

Go to the source code of this file.

Classes

class  Menge::Math::Vector2d< Type >
 Templated vector in R2. More...
 

Namespaces

 Menge
 The core namespace. All elements of Menge are contained in this namespace.
 

Typedefs

typedef Vector2d< float > Menge::Math::Vector2
 Declaration of a floating point vector in R2.
 

Functions

MENGE_API float Menge::Math::sqr (float a)
 Computes the square of a float. More...
 
template<class Type >
MENGE_API Vector2d< Type > Menge::Math::operator* (Type s, const Vector2d< Type > &v)
 Computes the left scalar multiplication of a scalar and 2d vector. More...
 
MATHEXTERN template MENGE_API
Vector2d< float > 
Menge::Math::operator* (float s, const Vector2d< float > &v)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Logger & Menge::Math::operator<< (Logger &logger, const Vector2d< Type > &v)
 Inserts the specified two-dimensional vector into the logger. More...
 
template<class Type >
MENGE_API std::ostream & Menge::Math::operator<< (std::ostream &os, const Vector2d< Type > &v)
 Inserts the specified two-dimensional vector into the specified output stream. More...
 
MATHEXTERN template MENGE_API
Logger & 
Menge::Math::operator<< (Logger &os, const Vector2d< float > &v)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Type Menge::Math::abs (const Vector2d< Type > &v)
 Computes the length of a specified two-dimensional vector. More...
 
MATHEXTERN template MENGE_API float Menge::Math::abs (const Vector2d< float > &v)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Type Menge::Math::absSq (const Vector2d< Type > &v)
 Computes the squared length of a specified two-dimensional vector. More...
 
MATHEXTERN template MENGE_API float Menge::Math::absSq (const Vector2d< float > &v)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Type Menge::Math::det (const Vector2d< Type > &v1, const Vector2d< Type > &v2)
 Computes the determinant of a two-dimensional square matrix with rows consisting of the specified two-dimensional vectors. More...
 
MATHEXTERN template MENGE_API float Menge::Math::det (const Vector2d< float > &v1, const Vector2d< float > &v2)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Vector2d< Type > Menge::Math::norm (const Vector2d< Type > &vector)
 Computes the normalization of the specified two-dimensional vector. More...
 
MATHEXTERN template MENGE_API
Vector2d< float > 
Menge::Math::norm (const Vector2d< float > &vector)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API bool Menge::Math::equivalent (const Vector2d< Type > &v1, const Vector2d< Type > &v2, float threshSqd=0.000001f)
 Determines if two vectors are equal to within a threshhold. More...
 
MATHEXTERN template MENGE_API bool Menge::Math::equivalent (const Vector2d< float > &v1, const Vector2d< float > &v2, float threshSqd)
 Explicit specialization for shared library export.
 
template<class Type >
MENGE_API Type Menge::Math::leftOf (const Vector2d< Type > &a, const Vector2d< Type > &b, const Vector2d< Type > &c)
 Computes the signed distance from a line connecting the specified points to a specified point. More...
 
MATHEXTERN template MENGE_API float Menge::Math::leftOf (const Vector2d< float > &a, const Vector2d< float > &b, const Vector2d< float > &c)
 Explicit specialization for shared library export.
 

Variables

MATHEXTERN template class MENGE_API Menge::Math::Vector2d< float >
 Explicit specialization for shared library export.
 

Detailed Description

Definition of a vector in R2.