|
| Pointx () |
|
| Pointx (const Pointx< Type > &p) |
|
| Pointx (const Vec2< Type > &p) |
|
| Pointx (Type x, Type y) |
|
| Vec2 () |
|
| Vec2 (const Type &p1, const Type &p2) |
|
| Vec2 (const Type &scalar) |
|
| Vec2 (const Type *array_xy) |
|
template<typename OtherType, typename std::enable_if_t< std::is_integral< Type >::value &&!std::is_integral< OtherType >::value, int > = 0> |
| Vec2 (const Vec2< OtherType > ©) |
|
template<typename OtherType, typename std::enable_if_t<!std::is_integral< Type >::value||std::is_integral< OtherType >::value, int > = 0> |
| Vec2 (const Vec2< OtherType > ©) |
|
| Vec2 (const Vec2< Type > ©)=default |
|
| Vec2 (const Vec3< Type > ©) |
|
| Vec2 (const Vec4< Type > ©) |
|
Angle | angle (const Vec2< Type > &vector) const |
| Calculate the angle between this vector and an other vector.
|
|
Angle | angle_line (const Vec2< Type > &point) const |
| Calculate the angle of the line joining this point and other point.
|
|
Angle | angle_normed (const Vec2< Type > &vector) const |
| Calculate the angle between this vector and an other vector, where the vectors are unit vectors.
|
|
Type | distance (const Vec2< Type > &vector) const |
| Calculate the distance between this vector and an other vector.
|
|
Type | dot (const Vec2< Type > &vector) const |
| Dot products this vector with an other vector.
|
|
bool | is_equal (const Vec2< Type > &other, Type epsilon) const |
| Returns true if equal within the bounds of an epsilon.
|
|
Type | length () const |
| Returns the length (magnitude) of this vector.
|
|
double | length () const |
|
float | length () const |
|
Vec2< Type > & | normalize () |
| Normalizes this vector.
|
|
bool | operator!= (const Vec2< Type > &vector) const |
| != operator.
|
|
void | operator*= (const Vec2< Type > &vector) |
| *= operator.
|
|
void | operator*= (Type value) |
| *= operator.
|
|
void | operator+= (const Vec2< Type > &vector) |
| += operator.
|
|
void | operator+= (Type value) |
| += operator.
|
|
Vec2< Type > | operator- () const |
|
|
|
void | operator-= (const Vec2< Type > &vector) |
| -= operator.
|
|
void | operator-= (Type value) |
| -= operator.
|
|
void | operator/= (const Vec2< Type > &vector) |
| /= operator.
|
|
void | operator/= (Type value) |
| /= operator.
|
|
bool | operator< (const Vec2< Type > &vector) const |
| < operator.
|
|
Vec2< Type > & | operator= (const Vec2< Type > &vector)=default |
| = operator.
|
|
bool | operator== (const Vec2< Type > &vector) const |
| == operator.
|
|
Vec2< Type > & | rotate (const Vec2< Type > &hotspot, const Angle &angle) |
| Rotate this vector around another point.
|
|
Vec2< Type > & | round () |
| Rounds all components of this vector.
|
|
Type | round_value (float value) const |
| Rounds a value for the datatype.
|
|
|
typedef Type | datatype |
|
static Pointx< Type > | calc_origin (Origin origin, const Sizex< Type > &size) |
| Returns the anchor point for the origin within the dimensions of the size structure.
|
|
static Type | dot (const Vec2< Type > &vector_1, const Vec2< Type > &vector_2) |
| Dot products a vector with an other vector.
|
|
static bool | is_equal (const Vec2< Type > &first, const Vec2< Type > &second, Type epsilon) |
| Returns true if equal within the bounds of an epsilon.
|
|
static Vec2< Type > | normalize (const Vec2< Type > &vector) |
| Normalizes a vector.
|
|
static Vec2< Type > | rotate (const Vec2< Type > &vector, const Vec2< Type > &hotspot, const Angle &angle) |
| Rotate a vector around another point.
|
|
static Vec2< Type > | round (const Vec2< Type > &vector) |
| Rounds all components on a vector.
|
|
union { | |
|
Type g | |
|
Type t | |
|
Type y | |
|
}; | | |
|
union { | |
|
Type r | |
|
Type s | |
|
Type x | |
|
}; | | |
|
template<typename Type>
class clan::Pointx< Type >
2D (x,y) point structure.
These point templates are defined for: int (Point), float (Pointf), double (Pointd)