泛型点类 更多...
#include <Point.hpp>
Public 成员函数 | |
| constexpr | Point (const Point &p)=default |
| constexpr | Point (Point &&p)=default |
| constexpr | Point (T x=static_cast< T >(0), T y=static_cast< T >(0)) |
| 构造函数 | |
| constexpr auto | angle () const |
| 计算相角(弧度制) | |
| constexpr auto | norm () const |
| 计算模长 | |
| constexpr | operator bool () const |
| 将点转换到 bool 值 | |
| template<typename U > requires std::is_arithmetic_v<U> | |
| constexpr | operator Point< U > () const |
| Point 类型转换函数 | |
| constexpr | operator Vec2< T > () const |
| Vec2<T> 类型转换函数 | |
| constexpr bool | operator! () const |
| 逻辑非操作符重载 | |
| constexpr bool | operator!= (const Point &p) const |
| 不等于判断操作符重载 | |
| constexpr T | operator* (const Point &p) const |
| 乘法操作符重载(点积) | |
| constexpr Point | operator* (T k) const |
| 乘法操作符重载 | |
| constexpr Point & | operator*= (T k) |
| 乘且赋值操作符重载 | |
| constexpr Point | operator+ (const Point &p) const |
| 加法操作符重载 | |
| constexpr Point & | operator+= (const Point &p) |
| 加且赋值操作符重载 | |
| constexpr Point | operator- (const Point &p) const |
| 减法操作符重载 | |
| constexpr Point & | operator-= (const Point &p) |
| 减且赋值操作符重载 | |
| constexpr Point | operator/ (T k) const |
| 除法操作符重载 | |
| constexpr Point & | operator/= (T k) |
| 除且赋值操作符重载 | |
| constexpr Point & | operator= (const Point &p)=default |
| constexpr Point & | operator= (Point &&p)=default |
| constexpr bool | operator== (const Point &p) const |
| 等于判断操作符重载 | |
| constexpr T & | x () |
| 点的 x 坐标 | |
| constexpr const T & | x () const |
| 函数 x() 的 const 版本 | |
| constexpr T & | y () |
| 点的 y 坐标 | |
| constexpr const T & | y () const |
| 函数 y() 的 const 版本 | |
友元 | |
| constexpr friend auto | distance (const Point &p1, const Point &p2) |
| 计算点之间的距离 | |
| std::ostream & | operator<< (std::ostream &os, const Point &p) |
| 流操作符重载 | |
泛型点类
此类用于表示一个二维坐标点的几何信息,并提供了常用的几何操作
此类是 基础设施库 => 复合数据类型 的一部分
| T | 点的坐标类型,要求为算术类型 |
|
inlineexplicitconstexpr |
构造函数
| x | x 坐标 |
| y | y 坐标 |
|
constexprdefault |
|
constexprdefault |
|
inlineconstexpr |
计算相角(弧度制)
这相当于复数 z=x+iy 的辐角主值 arg(z) (弧度制)
|
inlineconstexpr |
计算模长
这相当于二维向量的模长(即|p|)
|
inlineexplicitconstexpr |
将点转换到 bool 值
若 x 和 y 坐标不全为 0,则返回 true,否则返回 false
|
inlineconstexpr |
|
inlineconstexpr |
Vec2<T> 类型转换函数
用于将 Point<T> 类型转换为 Vec2<T> 类型
| T | 坐标转换的目标类型,要求为算术类型 |
|
inlineconstexpr |
逻辑非操作符重载
若 x 和 y 坐标不全为 0,则返回 false,否则返回 true
|
inlineconstexpr |
不等于判断操作符重载
此函数对于浮点数比较是安全的
| p | 另一个点对象 |
乘法操作符重载(点积)
这相当于两个二维向量的点积
| p | 另一个点对象 |
|
inlineconstexpr |
乘法操作符重载
这相当于二维向量的数乘
| k | 一个标量 |
|
inlineconstexpr |
乘且赋值操作符重载
如同 this = this * k
| k | 一个标量 |
|
inlineconstexpr |
加法操作符重载
这相当于两个二维向量的加法
| p | 另一个点对象 |
加且赋值操作符重载
如同 this = this + p
| p | 另一个点对象 |
|
inlineconstexpr |
减法操作符重载
这相当于两个二维向量的减法
| p | 另一个点对象 |
减且赋值操作符重载
如同 this = this - p
| p | 另一个点对象 |
|
inlineconstexpr |
除法操作符重载
这相当于二维向量的数乘
| k | 一个标量 |
|
inlineconstexpr |
除且赋值操作符重载
如同 this = this / k
| k | 一个标量 |
|
inlineconstexpr |
等于判断操作符重载
此函数对于浮点数比较是安全的
| p | 另一个点对象 |
|
inlineconstexpr |
点的 x 坐标
|
inlineconstexpr |
|
inlineconstexpr |
点的 y 坐标
|
inlineconstexpr |
计算点之间的距离
此函数求得两个点之间的欧氏距离
| p1 | 第一个点对象 |
| p2 | 第二个点对象 |