TouchVG framework
Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 友元 | 所有成员列表
Vector2d类 参考

二维矢量类 更多...

#include <mgvec.h>

Public 成员函数

 Vector2d ()
 构造为零矢量 更多...
 
 Vector2d (float xx, float yy)
 构造为矢量(xx, yy) 更多...
 
 Vector2d (const Vector2d &src)
 拷贝构造函数 更多...
 
Vector2d transform (const Matrix2d &m) const
 矩阵变换, 矢量 * 矩阵 更多...
 
Vector2d operator* (const Matrix2d &m) const
 矩阵变换, 矢量 * 矩阵 更多...
 
Vector2doperator*= (const Matrix2d &m)
 矩阵变换, 矢量 *= 矩阵 更多...
 
Vector2d operator+ (const Vector2d &v) const
 矢量加法 更多...
 
Vector2doperator+= (const Vector2d &v)
 矢量加法 更多...
 
Vector2d operator- (const Vector2d &v) const
 矢量减法 更多...
 
Vector2doperator-= (const Vector2d &v)
 矢量减法 更多...
 
Vector2d operator- () const
 返回负矢量 更多...
 
Vector2d add (const Vector2d &v) const
 矢量加法 更多...
 
Vector2d subtract (const Vector2d &v) const
 矢量减法 更多...
 
Vector2dnegate ()
 矢量反向,即将该矢量设置为(-x, -y) 更多...
 
Vector2d perpVector () const
 返回正交矢量, 即逆时针旋转90度,为(-y, x) 更多...
 
Vector2d operator* (float s) const
 标量积, 矢量 * 数 更多...
 
Vector2doperator*= (float s)
 标量积, 矢量 *= 数 更多...
 
Vector2d operator/ (float s) const
 标量积, 矢量 / 数 更多...
 
Vector2doperator/= (float s)
 标量积, 矢量 /= 数 更多...
 
Vector2dscaleBy (float sx, float sy)
 比例放缩 更多...
 
Vector2dscaleBy (float s)
 比例放缩 更多...
 
float dotProduct (const Vector2d &v) const
 矢量点积, A·B 更多...
 
float crossProduct (const Vector2d &v) const
 矢量叉积(0,0,z)中的z, |A×B| 更多...
 
float operator/ (const Vector2d &v) const
 矢量点积, A·B 更多...
 
float operator* (const Vector2d &v) const
 矢量叉积(0,0,z)中的z, |A×B| 更多...
 
float angle () const
 矢量与X轴的夹角, [0, PI) 更多...
 
float angle2 () const
 矢量角度, [-PI, PI), 从X轴逆时针方向为正, 顺时针为负 更多...
 
float angleTo (const Vector2d &v) const
 矢量夹角, [0, PI) 更多...
 
float angleTo2 (const Vector2d &v) const
 沿逆时针方向到指定矢量的转角, [-PI, PI) 更多...
 
float length () const
 矢量长度 更多...
 
float lengthSquare () const
 矢量长度的平方 更多...
 
Vector2d unitVector () const
 返回单位矢量 更多...
 
bool normalize (const Tol &tol=Tol::gTol())
 矢量单位化 更多...
 
bool isUnitVector (const Tol &tol=Tol::gTol()) const
 判断是否是单位矢量 更多...
 
bool isZeroVector (const Tol &tol=Tol::gTol()) const
 判断是否是零矢量 更多...
 
bool isDegenerate () const
 返回某个分量是为NAN越界值 更多...
 
bool operator== (const Vector2d &v) const
 判断两个矢量是否相等 更多...
 
bool operator!= (const Vector2d &v) const
 判断两个矢量是否不相等 更多...
 
bool isEqualTo (const Vector2d &v, const Tol &tol=Tol::gTol()) const
 用欧拉规则判断两个矢量是否相等 更多...
 
Vector2dset (float xx, float yy)
 设置为矢量(xx, yy) 更多...
 
Vector2dset (const Vector2d &v)
 设置为新的矢量 更多...
 
Vector2dsetAngleLength (float angle, float len)
 设置矢量的角度和长度 更多...
 
Vector2dsetLength (float newLength)
 设置矢量的长度 更多...
 
Vector2d scaledVector (float newLength) const
 返回新长度的矢量 更多...
 
void get (long &cx, long &cy) const
 得到四舍五入后的整数大小 更多...
 
bool isRightOf (const Vector2d &vec) const
 判断是否在指定矢量的右侧,即沿逆时针方向转到指定矢量时最近 更多...
 
bool isLeftOf (const Vector2d &vec) const
 判断是否在指定矢量的左侧,即沿顺时针方向转到指定矢量时最近 更多...
 
bool isParallelTo (const Vector2d &vec, const Tol &tol=Tol::gTol()) const
 判断两个矢量是否平行 更多...
 
bool isCodirectionalTo (const Vector2d &vec, const Tol &tol=Tol::gTol()) const
 判断两个矢量是否同向 更多...
 
bool isOppositeTo (const Vector2d &vec, const Tol &tol=Tol::gTol()) const
 判断两个矢量是否反向 更多...
 
bool isPerpendicularTo (const Vector2d &vec, const Tol &tol=Tol::gTol()) const
 判断两个矢量是否垂直 更多...
 
bool isParallelTo (const Vector2d &vec, const Tol &tol, bool &nonzero) const
 判断两个矢量是否平行 更多...
 
bool isCodirectionalTo (const Vector2d &vec, const Tol &tol, bool &nonzero) const
 判断两个矢量是否同向 更多...
 
bool isOppositeTo (const Vector2d &vec, const Tol &tol, bool &nonzero) const
 判断两个矢量是否反向 更多...
 
bool isPerpendicularTo (const Vector2d &vec, const Tol &tol, bool &nonzero) const
 判断两个矢量是否垂直 更多...
 
float distanceToVector (const Vector2d &xAxis) const
 求本矢量投影到矢量xAxis上的垂直距离 更多...
 
float projectScaleToVector (const Vector2d &xAxis) const
 求本矢量在矢量xAxis上的投影比例 更多...
 
float projectResolveVector (const Vector2d &xAxis, Vector2d &proj, Vector2d &perp) const
 求本矢量在矢量xAxis上的投影矢量和垂直矢量 更多...
 
bool resolveVector (const Vector2d &uAxis, const Vector2d &vAxis, Vector2d &uv) const
 矢量分解 更多...
 
bool resolveVector (const Vector2d &uAxis, const Vector2d &vAxis)
 矢量分解 更多...
 

静态 Public 成员函数

static const Vector2d kIdentity ()
 零矢量(0,0) 更多...
 
static const Vector2d kXAxis ()
 X轴单位矢量(1,0) 更多...
 
static const Vector2d kYAxis ()
 Y轴单位矢量(0,1) 更多...
 
static Vector2d angledVector (float angle, float len)
 返回指定角度和长度的矢量 更多...
 

Public 属性

float x
 X坐标分量 更多...
 
float y
 Y坐标分量 更多...
 

友元

Vector2d operator* (const Matrix2d &m, const Vector2d &v)
 矩阵变换, 矩阵 * 矢量 更多...
 
Vector2d operator* (float s, const Vector2d &v)
 标量积, 数 * 矢量 更多...
 

详细描述

二维矢量类

本类用于描述二维平面上具有方向和长度的矢量,具有x和y两个坐标分量


该类的文档由以下文件生成:

通用矢量图形框架, 版权所有 (C) 张云贵 2004-2017,BSD 开源许可证