N-dimensional vector class. More...
#include <VectorN.h>
Public Member Functions | |
AZ_TYPE_INFO (VectorN, "{3C5A461A-3412-4D97-9CBC-856EE737B6DB}") | |
VectorN (AZStd::size_t numElements) | |
VectorN (AZStd::size_t numElements, float x) | |
VectorN (const VectorN &v)=default | |
VectorN (VectorN &&v) | |
VectorN & | operator= (VectorN &&)=default |
VectorN & | operator= (const VectorN &)=default |
AZStd::size_t | GetDimensionality () const |
Returns the dimensionality of the vector. | |
void | Resize (AZStd::size_t size) |
Changes the dimensionality of the vector. | |
float | GetElement (AZStd::size_t index) const |
Returns the value at the requested index. | |
void | SetElement (AZStd::size_t index, float value) |
Returns the value at the requested index. | |
bool | IsClose (const VectorN &v, float tolerance=0.001f) const |
Checks whether two vectors of equal dimensionality are equal to each other within a floating point tolerance. | |
bool | IsZero (float tolerance=AZ::Constants::FloatEpsilon) const |
Checks if the vector is a zero vector, within the provided tolerance for zero. | |
float | L1Norm () const |
Returns L1 norm (Manhattan distance) of the vector, full accuracy. | |
float | L2Norm () const |
Returns L2 norm (Euclidean distance) of the vector, full accuracy. | |
VectorN | GetNormalized () const |
Returns normalized vector, full accuracy. | |
void | Normalize () |
Normalizes the vector in-place, full accuracy. | |
VectorN | GetAbs () const |
Returns a new VectorN containing the absolute value of all elements in the source VectorN. | |
void | Absolute () |
Absolute value in-place. | |
VectorN | GetSquare () const |
Returns a new VectorN containing the square of all elements in the source VectorN. | |
void | Square () |
Square value in-place. | |
float | Dot (const VectorN &rhs) const |
Returns the dot product of two vectors of equal dimension. | |
void | SetZero () |
Quickly zeros all elements of the vector to create a zero vector. | |
VectorN & | operator+= (const VectorN &rhs) |
VectorN & | operator-= (const VectorN &rhs) |
VectorN & | operator*= (const VectorN &rhs) |
VectorN & | operator/= (const VectorN &rhs) |
Hadamard product, not dot product. | |
VectorN & | operator+= (float sum) |
VectorN & | operator-= (float difference) |
VectorN & | operator*= (float multiplier) |
VectorN & | operator/= (float divisor) |
VectorN | operator- () const |
VectorN | operator+ (const VectorN &rhs) const |
VectorN | operator- (const VectorN &rhs) const |
VectorN | operator* (const VectorN &rhs) const |
VectorN | operator/ (const VectorN &rhs) const |
Hadamard product, not dot product. | |
VectorN | operator* (float multiplier) const |
VectorN | operator/ (float divisor) const |
const AZStd::vector< Vector4 > & | GetVectorValues () const |
Returns the raw Vector4's that represent this vector instance. | |
AZStd::vector< Vector4 > & | GetVectorValues () |
void | FixLastVectorElement () |
Zeros out unused components of the last vector element. | |
bool | IsLessThan (const VectorN &v) const |
bool | IsLessEqualThan (const VectorN &v) const |
bool | IsGreaterThan (const VectorN &v) const |
bool | IsGreaterEqualThan (const VectorN &v) const |
VectorN | GetFloor () const |
VectorN | GetCeil () const |
VectorN | GetRound () const |
VectorN | GetMin (const VectorN &v) const |
VectorN | GetMax (const VectorN &v) const |
VectorN | GetClamp (const VectorN &min, const VectorN &max) const |
Static Public Member Functions | |
static void | Reflect (ReflectContext *context) |
static VectorN | CreateZero (AZStd::size_t numElements) |
Creates a vector with all components set to zero, more efficient than calling VectorN(0.0f). | |
static VectorN | CreateOne (AZStd::size_t numElements) |
Creates a vector with all components set to one. | |
static VectorN | CreateFromFloats (AZStd::size_t numElements, const float *inputs) |
Creates a vector with all components set to the provided input values. | |
static VectorN | CreateRandom (AZStd::size_t numElements) |
Creates a vector with all elements set to random numbers in the range [0, 1). | |
N-dimensional vector class.
AZ_MATH_INLINE VectorN AZ::VectorN::GetFloor | ( | ) | const |
Floor/Ceil/Round functions, operate on each component individually, result will be stored in output.
Min/Max functions, operate on each component individually, result will be stored in output.
AZ_MATH_INLINE bool AZ::VectorN::IsLessThan | ( | const VectorN & | v | ) | const |
Comparison functions, not implemented as operators since that would probably be a little dangerous. These functions return true only if all components pass the comparison test.
|
static |
AzCore Reflection.
context | reflection context |