mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-13 00:04:19 +00:00
add extra operators and multiply/multiplied method to Vector3D
This commit is contained in:
parent
ed80adb3c7
commit
9bc7227784
1 changed files with 14 additions and 4 deletions
|
|
@ -57,17 +57,27 @@ public:
|
|||
/** Returns a vector that lies along the Z axis. */
|
||||
static Vector3D zAxis() noexcept { return { 0, 0, (Type) 1 }; }
|
||||
|
||||
Vector3D& operator+= (Vector3D other) noexcept { x += other.x; y += other.y; z += other.z; return *this; }
|
||||
Vector3D& operator-= (Vector3D other) noexcept { x -= other.x; y -= other.y; z -= other.z; return *this; }
|
||||
Vector3D& operator+= (Type value) noexcept { x += value; y += value; z += value; return *this; }
|
||||
Vector3D& operator-= (Type value) noexcept { x -= value; y -= value; z -= scaleFactor; return *this; }
|
||||
Vector3D& operator*= (Type scaleFactor) noexcept { x *= scaleFactor; y *= scaleFactor; z *= scaleFactor; return *this; }
|
||||
Vector3D& operator/= (Type scaleFactor) noexcept { x /= scaleFactor; y /= scaleFactor; z /= scaleFactor; return *this; }
|
||||
Vector3D& operator+= (Vector3D other) noexcept { x += other.x; y += other.y; z += other.z; return *this; }
|
||||
Vector3D& operator-= (Vector3D other) noexcept { x -= other.x; y -= other.y; z -= other.z; return *this; }
|
||||
Vector3D& operator/= (Vector3D other) noexcept { x /= other.x; y /= other.y; z /= other.z; return *this; }
|
||||
|
||||
Vector3D operator+ (Vector3D other) const noexcept { return { x + other.x, y + other.y, z + other.z }; }
|
||||
Vector3D operator- (Vector3D other) const noexcept { return { x - other.x, y - other.y, z - other.z }; }
|
||||
Vector3D operator+ (Type value) const noexcept { return { x + value, y + value, z + value }; }
|
||||
Vector3D operator- (Type value) const noexcept { return { x - value, y - value, z - value }; }
|
||||
Vector3D operator* (Type scaleFactor) const noexcept { return { x * scaleFactor, y * scaleFactor, z * scaleFactor }; }
|
||||
Vector3D operator/ (Type scaleFactor) const noexcept { return { x / scaleFactor, y / scaleFactor, z / scaleFactor }; }
|
||||
Vector3D operator+ (Vector3D other) const noexcept { return { x + other.x, y + other.y, z + other.z }; }
|
||||
Vector3D operator- (Vector3D other) const noexcept { return { x - other.x, y - other.y, z - other.z }; }
|
||||
Vector3D operator/ (Vector3D other) const noexcept { return { x / other.x, y / other.y, z / other.z }; }
|
||||
Vector3D operator-() const noexcept { return { -x, -y, -z }; }
|
||||
|
||||
|
||||
Vector3D multiplied (Vector3D other) const noexcept { return { x * other.x, y * other.y, z * other.z }; }
|
||||
void multiply(Vector3D other) const noexcept { x *= other.x; y *= other.y; z *= other.z }
|
||||
|
||||
/** Returns the dot-product of these two vectors. */
|
||||
Type operator* (Vector3D other) const noexcept { return x * other.x + y * other.y + z * other.z; }
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue