目录

Vector3

Class Info

class Vector3

三维向量类。包括三维向量的取负、加法、减法、乘法、除法、点乘、叉乘计算。

Public Field Summary

Qualifier and Type

Field and Description

Value

f32

x

三维向量的X分量

-

f32

y

三维向量的Y分量

-

f32

z

三维向量的Z分量

-

const Vector3

ZERO

零向量,记为ZERO

(0, 0, 0)

const Vector3

ONE

X、Y、Z分量都为1,记为ONE

(1, 1, 1)

const Vector3

UNIT_X

X轴上单位向量,记为UNIT_X

(1, 0, 0)

const Vector3

UNIT_Y

Y轴上单位向量,记为UNIT_Y

(0, 1, 0)

const Vector3

UNIT_Z

Z轴上单位向量,记为UNIT_Z

(0, 0, 1)

const Vector3

NEGATIVE_UNIT_X

X轴负方向上单位向量,记为NEGATIVE_UNIT_X

(-1, 0, 0)

const Vector3

NEGATIVE_UNIT_Y

Y轴负方向上单位向量,记为NEGATIVE_UNIT_Y

(0, -1, 0)

const Vector3

NEGATIVE_UNIT_Z

Z轴负方向上单位向量,记为NEGATIVE_UNIT_Z

(0, 0, -1)

Public Constructor Summary

Constructor Name

Vector3()

构造函数,初始化三维向量的X、Y、Z分量为0。

Vector3(f32 nx, f32 ny, f32 nz)

构造函数,使用nx、ny、nz初始化三维向量的X、Y、Z分量。

Public Destructor Summary

Destructor Name

~Vector3()

析构函数。

Public Method Summary

Qualifier and Type

Method Name and Description

Vector3

operator-() const

重载-(取负)运算符,对当前对象的X、Y、Z分量取负。

Vector3&

operator=(const Vector3& other)

重载赋值运算符,使用Vector3类对象给当前对象赋值。

Vector3

operator+(const Vector3& other) const

重载+运算符,用于当前对象和指定Vector3类对象间的加法运算。

Vector3&

operator+=(const Vector3& other)

重载+=运算符,用于当前对象和指定Vector3类对象间的加法运算。

Vector3

operator-(const Vector3& other) const

重载-运算符,用于当前对象和指定Vector3类对象间的减法运算。

Vector3&

operator-=(const Vector3& other)

重载-=运算符,用于当前对象和指定Vector3类对象间的减法运算。

Vector3

operator*(const f32 v) const

重载*运算符,用于当前对象和指定浮点类型对象间的乘法运算。

Vector3&

operator*=(const f32 v)

重载*=运算符,用于当前对象和指定浮点类型对象间的乘法运算。

Vector3

operator/(const f32 v) const

重载/运算符,用于当前对象和指定浮点类型对象间的除法运算。

Vector3&

operator/=(const f32 v)

重载/=运算符,用于当前对象和指定浮点类型对象间的除法运算。

bool

operator==(const Vector3& other) const

重载==运算符,比较当前对象和指定Vector3类对象是否相等,相等返回true,不相等返回false。

bool

operator!=(const Vector3& other) const

重载!=运算符,比较当前对象和指定Vector3类对象是否不相等,不相等返回true,相等返回false。

bool

operator>=(const Vector3& other) const

重载>=运算符,当前对象是否大于或等于指定Vector3类对象,大于或等于则返回true,否则返回false。

f32

Length() const

计算当前三维向量的模。

f32

Dot(const Vector3& other) const

三维向量的点乘运算。

Vector3

Cross(const Vector3& p) const

三维向量的叉乘运算。

Vector3&

Normalize()

三维向量归一化计算,返回归一化后的当前三维向量的引用。

Vector3

Normalized() const

三维向量归一化计算,返回记录归一化结果的三维向量。

String

ToString() const

三维向量转字符串类型,形如“(x, y, z)”。

Public Constructors

[h2]Vector3

Constructor

Vector3()

构造函数,初始化三维向量的X、Y、Z分量为0。

[h2]Vector3(f32 nx, f32 ny, f32 nz)

Constructor

Vector3(f32 nx, f32 ny, f32 nz)

构造函数,使用nx、ny、nz初始化三维向量的X、Y、Z分量。

Parameters

Name

Description

nx

初始化X分量的值。

ny

初始化Y分量的值。

nz

初始化Z分量的值。

Public Destructors

[h2]~Vector3

Destructor

~Vector3()

析构函数。

Public Methods

[h2]operator-

Method

Vector3 operator-() const

重载-(取负)运算符,对当前对象的X、Y、Z分量取负。

Returns

Type

Description

Vector3

给当前对象赋值的Vector3类对象。

[h2]operator=

Method

Vector3& operator=(const Vector3& other)

重载赋值运算符,使用Vector3类对象给当前对象赋值。

Parameters

Name

Description

other

给当前对象赋值的Vector3类对象。

Returns

Type

Description

Vector3&

返回赋值后对当前对象的引用。

[h2]operator+

Method

Vector3 operator+(const Vector3& other) const

重载+运算符,用于当前对象和指定Vector3类对象间的加法运算。

Parameters

Name

Description

other

与当前对象进行加法运算的Vector3类对象。

Returns

Type

Description

Vector3

返回记录加法结果的Vector3类对象。

[h2]operator+=

Method

Vector3& operator+=(const Vector3& other)

重载+=运算符,用于当前对象和指定Vector3类对象间的加法运算。

Parameters

Name

Description

other

与当前对象进行加法运算的Vector3类对象。

Returns

Type

Description

Vector3&

返回记录加法结果的当前对象的引用。

[h2]operator-(const Vector3& other)

Method

Vector3operator-(const Vector3& other) const

重载-运算符,用于当前对象和指定Vector3类对象间的减法运算。

Parameters

Name

Description

other

与当前对象进行减法运算并作为减数的Vector3类对象。

Returns

Type

Description

Vector3

返回记录加法结果的Vector3类对象。

[h2]operator-=

Method

Vector3& operator-=(const Vector3& other)

重载-=运算符,用于当前对象和指定Vector3类对象间的减法运算。

Parameters

Name

Description

other

与当前对象进行减法运算并作为减数的Vector3类对象。

Returns

Type

Description

Vector3&

返回记录减法结果的当前对象的引用。

[h2]operator*

Method

Vector3 operator*(const f32 v) const

重载*运算符,用于当前对象和指定浮点类型对象间的乘法运算。

Parameters

Name

Description

v

与当前对象进行乘法运算的浮点类型对象。

Returns

Type

Description

Vector3

返回记录乘法结果的Vector3类对象。

[h2]operator*=

Method

Vector3& operator*=(const f32 v)

重载*=运算符,用于当前对象和指定浮点类型对象间的乘法运算。

Parameters

Name

Description

v

与当前对象进行乘法运算的浮点类型对象。

Returns

Type

Description

Vector3&

返回记录乘法结果的当前对象的引用。

[h2]operator/

Method

Vector3 operator/(const f32 v) const

重载/运算符,用于当前对象和指定浮点类型对象间的除法运算。

Parameters

Name

Description

v

与当前对象进行除法运算并作为除数的浮点类型对象。

Returns

Type

Description

Vector3

返回记录除法结果的Vector3类对象。

[h2]operator/=

Method

Vector3& operator/=(const f32 v)

重载/=运算符,用于当前对象和指定浮点类型对象间的除法运算。

Parameters

Name

Description

v

与当前对象进行除法运算并作为除数的浮点类型对象。

Returns

Type

Description

Vector3&

返回记录除法结果的当前对象的引用。

[h2]operator==

Method

bool operator==(const Vector3& other) const

重载==运算符,比较当前对象和指定Vector3类对象是否相等,相等返回true,不相等返回false。

Parameters

Name

Description

other

与当前对象进行比较的Vector3类对象。

Returns

Type

Description

bool

  • true:相等。
  • false:不相等。

[h2]operator!=

Method

bool operator!=(const Vector3& other) const

重载!=运算符,比较当前对象和指定Vector3类对象是否不相等,不相等返回true,相等返回false。

Parameters

Name

Description

other

与当前对象进行比较的Vector3类对象。

Returns

Type

Description

bool

  • true:不相等。
  • false:相等。

[h2]operator>=

Method

bool operator>=(const Vector3& other) const

重载>=运算符,比较当前对象是否大于或等于指定的Vector3类对象。大于或等于返回true,否则返回false。

Parameters

Name

Description

other

与当前对象进行比较的Vector3类对象。

Returns

Type

Description

bool

大于或等于指定对象返回true,否则返回false。

[h2]Length

Method

f32 Length() const

计算当前三维向量的模。

Returns

Type

Description

f32

返回浮点类型的三维向量的模。

[h2]Dot

Method

f32 Dot(const Vector3& other) const

三维向量的点乘运算。

Parameters

Name

Description

other

与当前对象进行点乘运算的三维向量。

Returns

Type

Description

f32

返回浮点类型点乘运算结果。

[h2]Cross

Method

Vector3 Cross(const Vector3& p) const

三维向量的叉乘运算。

Parameters

Name

Description

p

与当前对象进行叉乘运算的三维向量。

Returns

Type

Description

Vector3

返回T类型叉乘运算结果。

[h2]Normalize

Method

Vector3& Normalize()

三维向量归一化计算,返回归一化后的当前三维向量的引用。

Returns

Type

Description

Vector3&

返回归一化后的当前三维向量的引用。

[h2]Normalized

Method

Vector3 Normalized() const

三维向量归一化计算,返回记录归一化结果的三维向量。

Returns

Type

Description

Vector3

返回记录归一化结果的三维向量。

[h2]ToString

Method

String ToString() const

三维向量转字符串类型,形如“(x, y, z)”。

Returns

Type

Description

String

返回三维向量转换成的字符串,返回值形如“(x, y, z)”。