-
Notifications
You must be signed in to change notification settings - Fork 1
Vector extensions
Bas de Reus edited this page Feb 29, 2024
·
4 revisions
Provides versatile extensions for Vector2
and Vector3
, enhancing functionality for various operations.
A importend note, the following examples and explanmations are for both
Vector2
andVector3
except the Z axis.
Writen by - Bas
Every method is public.
When a '*' is added, it means it's only for
Vector3
.
When a '?' is added, it means that it's optional.
Set method | Return | Description |
---|---|---|
SetX(float) |
This Vector3 / Vector2
|
Change the X vector of this Vector3 / Vector2
|
SetY(float) |
This Vector3 / Vector2
|
Change the Y vector of this Vector3 / Vector2
|
SetZ(float) |
This Vector3
|
Change the Z vector of this Vector3
|
Add method | Return | Description |
---|---|---|
Add(Vector3 / Vector2) |
This Vector3 / Vector2
|
Add the Axis of two Vector3 / Vector2 into one. |
AddX(Vector3 / Vector2) |
This Vector3 / Vector2
|
Add the X Axis of two Vector3 / Vector2 into one |
AddY(Vector3 / Vector2) |
This Vector3 / Vector2
|
Add the Y Axis of two Vector3 / Vector2 into one |
AddZ(Vector3) |
This Vector3
|
Add the Z Axis of two Vector3 into one |
Add(float, float, *float) |
This Vector3 / Vector2
|
Add the specified values to the Axis of this Vector3 / Vector2
|
AddX(float) |
This Vector3 / Vector2
|
Add the specified value to the X Axis of this Vector3 / Vector2
|
AddY(float) |
This Vector3 / Vector2
|
Add the specified value to the Y Axis of this Vector3 / Vector2
|
AddZ(float) |
This Vector3
|
Add the specified value to the Z Axis of this Vector3
|
Subtract method | Return | Description |
---|---|---|
Subtract(Vector3 / Vector2) |
This Vector3 / Vector2
|
Subtract the Axis of the second Vector3 / Vector2 from the first Vector3 / Vector2 and return the result |
SubtractX(Vector3 / Vector2) |
This Vector3 / Vector2
|
Subtract the X Axis of the second Vector3 / Vector2 from the first Vector3 and return the result |
SubtractY(Vector3 / Vector2) |
This Vector3 / Vector2
|
Subtract the Y Axis of the second Vector3 / Vector2 from the first Vector3 and return the result |
SubtractZ(Vector3) |
This Vector3
|
Subtract the Z Axis of the second Vector3 from the first Vector3 and return the result |
Subtract(float, float, *float) |
This Vector3 / Vector2
|
Subtract the specified values from the Axis of this Vector3 / Vector2
|
SubtractX(float) |
This Vector3 / Vector2
|
Subtract the specified value from the X Axis of this Vector3 / Vector2
|
SubtractY(float) |
This Vector3 / Vector2
|
Subtract the specified value from the Y Axis of this Vector3 / Vector2
|
SubtractZ(float) |
This Vector3
|
Subtract the specified value from the Z Axis of this Vector3
|
Multiply method | Return | Description |
---|---|---|
Multiply(Vector3 / Vector2) |
This Vector3 / Vector2
|
Multiply the Axis of this Vector3 / Vector2 with the corresponding Axis of another Vector3 / Vector2 and return the result |
MultiplyX(Vector3 / Vector2) |
This Vector3 / Vector2
|
Multiply the X Axis of this Vector3 / Vector2 with the X Axis of another Vector3 and return the result |
MultiplyY(Vector3 / Vector2) |
This Vector3 / Vector2
|
Multiply the Y Axis of this Vector3 / Vector2 with the Y Axis of another Vector3 and return the result |
MultiplyZ(Vector3) |
This Vector3
|
Multiply the Z Axis of this Vector3 with the Z Axis of another Vector3 and return the result |
Multiply(float, float, *float) |
This Vector3 / Vector2
|
Multiply the specified values with the Axis of this Vector3 / Vector2
|
MultiplyX(float) |
This Vector3 / Vector2
|
Multiply the specified value with the X Axis of this Vector3 / Vector2
|
MultiplyY(float) |
This Vector3 / Vector2
|
Multiply the specified value from the Y Axis of this Vector3 / Vector2
|
MultiplyZ(float) |
This Vector3
|
Multiply the specified value from the Z Axis of this Vector3
|
Divide method | Return | Description |
---|---|---|
Divide(Vector3 / Vector2) |
This Vector3 / Vector2
|
Divide the Axis of this Vector3 / Vector2 by the corresponding Axis of another Vector3 / Vector2 and return the result |
DivideX(Vector3 / Vector2) |
This Vector3 / Vector2
|
Divide the X Axis of this Vector3 / Vector2 by the X Axis of another Vector3 / Vector2 and return the result |
DivideY(Vector3 / Vector2) |
This Vector3 / Vector2
|
Divide the X Axis of this Vector3 / Vector2 by the X Axis of another Vector3 / Vector2 and return the result |
DivideZ(Vector3) |
This Vector3
|
Divide the X Axis of this Vector3 by the X Axis of another Vector3 and return the result |
Dividey(float, float, *float) |
This Vector3 / Vector2
|
Divide the specified values by the Axis of this Vector3 / Vector2
|
DivideX(float) |
This Vector3 / Vector2
|
Divide the specified value from the X Axis of this Vector3 / Vector2
|
DivideY(float) |
This Vector3 / Vector2
|
Divide the specified value from the Y Axis of this Vector3 / Vector2
|
DivideZ(float) |
This Vector3
|
Divide the specified value from the Z Axis of this Vector3
|
Compare method | Return | Description |
---|---|---|
Compare(Vector3 / Vector2, ?float) |
Bool |
Compare two Vector3 / Vector2 with an optional margin for floating-point precision |
CompareX(Vector3 / Vector2, ?float) |
Bool |
Compare the X axis of two Vector3 / Vector2 with an optional margin for floating-point precision |
CompareY(Vector3 / Vector2, ?float) |
Bool |
Compare the Y axis of two Vector3 / Vector2 with an optional margin for floating-point precision |
CompareZ(Vector3, ?float) |
Bool |
Compare the Z axis of two Vector3 / Vector2 with an optional margin for floating-point precision |
CompareX(float, ?float) |
Bool |
Compare a float value with the X Axis of this Vector3 / Vector2 with an optional margin for floating-point precision |
CompareY(float, ?float) |
Bool |
Compare a float value with the Y Axis of this Vector3 / Vector2 with an optional margin for floating-point precision |
CompareZ(float, ?float) |
Bool |
Compare a float value with the Z Axis of this Vector3 / Vector2 with an optional margin for floating-point precision |
Randomize method | Return | Description |
---|---|---|
Randomize(Vector2, Vector2, Vector2) |
This Vector3 / Vector2
|
Randomize the X & Y (& Z) axis of this Vector3 / Vector2 within specified ranges |
Randomize(Vector2) |
This Vector3 / Vector2
|
Randomize the X & Y (& Z) axis of this Vector3 / Vector2 within the specified range |
RandomizeUniform(Vector2) |
This Vector3 / Vector2
|
Randomize all axis of this Vector3 / Vector2 with the same random number within the specified range |
RandomizeX(Vector2) |
This Vector3 / Vector2
|
Randomize the X axis of this Vector3 / Vector2 within a specified range |
RandomizeY(Vector2) |
This Vector3 / Vector2
|
Randomize the Y axis of this Vector3 / Vector2 within a specified range |
RandomizeZ(Vector2) |
This Vector3 / Vector2
|
Randomize the Z axis of this Vector3 within a specified range |
Invert method | Return | Description |
---|---|---|
Invert() |
This Vector3 / Vector2
|
Invert all axis of this Vector3 / Vector2
|
InvertX() |
This Vector3 / Vector2
|
Invert the X axis of this Vector3 / Vector2
|
InvertY() |
This Vector3 / Vector2
|
Invert the Y axis of this Vector3 / Vector2
|
InvertZ() |
This Vector3 / Vector2
|
Invert the X axis of this Vector3
|
Midpoint method | Return | Description |
---|---|---|
Midpoint(Vector3 / Vector2) |
New Vector3 / Vector2
|
Calculate the midpoint between two Vector3 / Vector2
|
WeightedAverage(Vector3 / Vector2, float) |
New Vector3 / Vector2
|
Calculate the weighted average of two Vector3 / Vector2 based on specified weight |
IsWithinRange method | Return | Description |
---|---|---|
IsWithinRange(Vector3 / Vector2, float) |
Bool |
Checks if this Vector3 / Vector2 is within the specified range of another Vector3 / Vector2
|
IsXWithinRange(Vector3 / Vector2, float) |
Bool |
Checks if the X Axis of this Vector3 / Vector2 is within the specified range of the X Axis of another Vector3 / Vector2
|
IsYWithinRange(Vector3 / Vector2, float) |
Bool |
Checks if the Y Axis of this Vector3 / Vector2 is within the specified range of the X Axis of another Vector3 / Vector2
|
IsZWithinRange(Vector3, float) |
Bool |
Checks if the Z Axis of this Vector3 is within the specified range of the X Axis of another Vector3
|
You want to see how it works VectorExtensions.cs.