clan::Pointx< Type > Class Template Reference - ClanLib SDK
Description: clan::Pointx< Type > Class Template Reference

Public Member Functions | List of all members
clan::Pointx< Type > Class Template Reference
clanCore Math

2D (x,y) point structure. More...

`#include <point.h>`

Inheritance diagram for clan::Pointx< Type >:

## Public Member Functions
| Pointx ()
| Pointx (const Pointx< Type > &p)
| Pointx (const Vec2< Type > &p)
| Pointx (Type x, Type y)
Public Member Functions inherited from clan::Vec2< Type >
| 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 > &copy)
template<typename OtherType, typename std::enable_if_t< std::is_integral< Type >::value &&!std::is_integral< OtherType >::value, int > = 0>
| Vec2 (const Vec2< OtherType > &copy)
| Vec2 (const Vec2< Type > &copy)=default
| Vec2 (const Vec3< Type > &copy)
| Vec2 (const Vec4< Type > &copy)
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.
float | length () const
double | length () const
Type | length () const
| Returns the length (magnitude) of this vector.
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
| 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.
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.

## Additional Inherited Members
Public Types inherited from clan::Vec2< Type >
typedef Type | datatype
Static Public Member Functions inherited from clan::Vec2< Type >
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.
Public Attributes inherited from clan::Vec2< Type >
union { |
Type g |
Type t |
Type y |
}; |
union { |
Type r |
Type s |
Type x |
}; |

## Detailed Description

template<typename Type>
class clan::Pointx< Type >

2D (x,y) point structure.

These point templates are defined for: int (Point), float (Pointf), double (Pointd)

## Constructor & Destructor Documentation

## ◆ Pointx() [1/4]

template<typename Type>

clan::Pointx< Type >::Pointx | ( |  | ) |
| inline

References clan::Vec2< Type >::Vec2().

Referenced by Pointx().

## ◆ Pointx() [2/4]

template<typename Type>

clan::Pointx< Type >::Pointx | ( | Type | x,
|  | Type | y )
| inline

References clan::Vec2< Type >::Vec2(), clan::Vec2< Type >::x, and clan::Vec2< Type >::y.

## ◆ Pointx() [3/4]

template<typename Type>

clan::Pointx< Type >::Pointx | ( | const Pointx< Type > & | p | ) |
| inline

References Pointx(), clan::Vec2< Type >::Vec2(), clan::Vec2< Type >::x, and clan::Vec2< Type >::y.

## ◆ Pointx() [4/4]

template<typename Type>

clan::Pointx< Type >::Pointx | ( | const Vec2< Type > & | p | ) |
| inline

References clan::Vec2< Type >::Vec2(), clan::Vec2< Type >::x, and clan::Vec2< Type >::y.

The documentation for this class was generated from the following file:

- point.h