KiCad PCB EDA Suite
|
#include <limits>
#include <iostream>
#include <sstream>
#include <type_traits>
#include <math/util.h>
Go to the source code of this file.
Classes | |
struct | VECTOR2_TRAITS< T > |
Traits class for VECTOR2. More... | |
struct | VECTOR2_TRAITS< int > |
class | VECTOR2< T > |
Define a general 2D-vector/point. More... | |
struct | std::hash< VECTOR2I > |
struct | std::less< VECTOR2I > |
Namespaces | |
namespace | std |
STL namespace. | |
Typedefs | |
typedef VECTOR2< double > | VECTOR2D |
typedef VECTOR2< int32_t > | VECTOR2I |
typedef VECTOR2< int64_t > | VECTOR2L |
Functions | |
template<class T > | |
std::ostream & | operator<< (std::ostream &aStream, const VECTOR2< T > &aVector) |
template<class T , class U > | |
VECTOR2< std::common_type_t< T, U > > | operator+ (const VECTOR2< T > &aLHS, const VECTOR2< U > &aRHS) |
template<FloatingPoint T, class U > | |
VECTOR2< T > | operator+ (const VECTOR2< T > &aLHS, const U &aScalar) |
template<class T , class U > | |
VECTOR2< std::common_type_t< T, U > > | operator- (const VECTOR2< T > &aLHS, const VECTOR2< U > &aRHS) |
template<FloatingPoint T, class U > | |
VECTOR2< T > | operator- (const VECTOR2< T > &aLHS, U aScalar) |
template<Integral T, FloatingPoint U> | |
VECTOR2< T > | operator- (const VECTOR2< T > &aLHS, const U &aScalar) |
template<class T , class U > | |
auto | operator* (const VECTOR2< T > &aLHS, const VECTOR2< U > &aRHS) |
template<class T , class U > | |
VECTOR2< std::common_type_t< T, U > > | operator* (const VECTOR2< T > &aLHS, const U &aScalar) |
template<class T , class U > | |
VECTOR2< std::common_type_t< T, U > > | operator* (const T &aScalar, const VECTOR2< U > &aVector) |
template<class T > | |
const VECTOR2< T > | LexicographicalMax (const VECTOR2< T > &aA, const VECTOR2< T > &aB) |
template<class T > | |
const VECTOR2< T > | LexicographicalMin (const VECTOR2< T > &aA, const VECTOR2< T > &aB) |
template<class T > | |
int | LexicographicalCompare (const VECTOR2< T > &aA, const VECTOR2< T > &aB) |
template<class T > | |
std::enable_if<!std::numeric_limits< T >::is_integer, bool >::type | equals (VECTOR2< T > const &aFirst, VECTOR2< T > const &aSecond, T aEpsilon=std::numeric_limits< T >::epsilon()) |
Template to compare two VECTOR2<T> values for equality within a required epsilon. | |
VECTOR2I | KiROUND (const VECTOR2D &vec) |
Definition at line 672 of file vector2d.h.
Definition at line 673 of file vector2d.h.
Definition at line 674 of file vector2d.h.
std::enable_if<!std::numeric_limits< T >::is_integer, bool >::type equals | ( | VECTOR2< T > const & | aFirst, |
VECTOR2< T > const & | aSecond, | ||
T | aEpsilon = std::numeric_limits<T>::epsilon() |
||
) |
Template to compare two VECTOR2<T> values for equality within a required epsilon.
aFirst | value to compare. |
aSecond | value to compare. |
aEpsilon | allowed error. |
Definition at line 652 of file vector2d.h.
References equals(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by equals().
Definition at line 677 of file vector2d.h.
References KiROUND(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by KiROUND(), operator-(), VECTOR2< T >::operator/(), and VECTOR2< T >::Resize().
Definition at line 624 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by CADSTAR_SCH_ARCHIVE_LOADER::fixUpLibraryPins().
const VECTOR2< T > LexicographicalMax | ( | const VECTOR2< T > & | aA, |
const VECTOR2< T > & | aB | ||
) |
Definition at line 600 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
const VECTOR2< T > LexicographicalMin | ( | const VECTOR2< T > & | aA, |
const VECTOR2< T > & | aB | ||
) |
Definition at line 612 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< std::common_type_t< T, U > > operator* | ( | const T & | aScalar, |
const VECTOR2< U > & | aVector | ||
) |
Definition at line 518 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< std::common_type_t< T, U > > operator* | ( | const VECTOR2< T > & | aLHS, |
const U & | aScalar | ||
) |
Definition at line 511 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
auto operator* | ( | const VECTOR2< T > & | aLHS, |
const VECTOR2< U > & | aRHS | ||
) |
Definition at line 502 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< T > operator+ | ( | const VECTOR2< T > & | aLHS, |
const U & | aScalar | ||
) |
Definition at line 443 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< std::common_type_t< T, U > > operator+ | ( | const VECTOR2< T > & | aLHS, |
const VECTOR2< U > & | aRHS | ||
) |
Definition at line 436 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< T > operator- | ( | const VECTOR2< T > & | aLHS, |
const U & | aScalar | ||
) |
Definition at line 485 of file vector2d.h.
References KiROUND(), VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< std::common_type_t< T, U > > operator- | ( | const VECTOR2< T > & | aLHS, |
const VECTOR2< U > & | aRHS | ||
) |
Definition at line 464 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
VECTOR2< T > operator- | ( | const VECTOR2< T > & | aLHS, |
U | aScalar | ||
) |
Definition at line 471 of file vector2d.h.
References VECTOR2< T >::x, and VECTOR2< T >::y.
std::ostream & operator<< | ( | std::ostream & | aStream, |
const VECTOR2< T > & | aVector | ||
) |
Definition at line 665 of file vector2d.h.
References operator<<(), VECTOR2< T >::x, and VECTOR2< T >::y.