A vector of form (x,y,z).
float3 | A vector of form (x,y,z). |
x | The x component. |
y | The y component. |
z | The z component. |
zero[static][const] | Specifies a compile-time constant float3 with value (0, 0, 0). |
one[static][const] | Specifies a compile-time constant float3 with value (1, 1, 1). |
unitX[static][const] | Specifies a compile-time constant float3 with value (1, 0, 0). |
unitY[static][const] | Specifies a compile-time constant float3 with value (0, 1, 0). |
unitZ[static][const] | Specifies a compile-time constant float3 with value (0, 0, 1). |
nan[static][const] | A compile-time constant float3 with value (NaN, NaN, NaN). |
inf[static][const] | A compile-time constant float3 with value (+infinity, +infinity, +infinity). |
ctor (+4 overloads) | The default constructor does not initialize any members of this class. |
ptr() (+1 overload) | Casts this float3 to a C array. |
operator[](index) (+1 overload) | Accesses an element of this vector using array notation. |
At(index) (+1 overload) | Accesses an element of this vector. |
operators +,-,*,/(v)[const] (+1 overload) | Adds two vectors. |
operators +=,-=,*=,/=(v) | Adds a vector to this vector, in-place. |
Add/Sub/Mul/Div(v)[const] (+1 overload) | Adds a vector to this vector. |
xx/xy/xz/..()[const] | Performs a 2D swizzled access to this vector. |
xyz/xzy/yzx/..()[const] | Performs a 3D swizzled access to this vector. |
Swizzled(i,j,k,l)[const] (+2 overloads) | Performs a swizzled access to this vector. |
SetFromScalar(scalar) | Fills each entry of this float3 by the given scalar. |
Set(x,y,z) | Sets all elements of this vector. |
SetFromSphericalCoordinates(...) (+2 overloads) | Converts the given vector represented in spherical coordinates to an euclidean float3 (x,y,z) triplet. |
ToPos4()[const] | Returns float4(x,y,z,1). |
ToDir4()[const] | Returns float4(x,y,z,0). [similarOverload: ToPos4] |
ToSphericalCoordinates()[const] | Converts this euclidean (x,y,z) float3 to spherical coordinates representation in the form (azimuth, inclination, radius). |
ToSphericalCoordinatesNormalized()[const] | Converts this normalized euclidean (x,y,z) float3 to spherical coordinates representation in the form (azimuth, inclination) |
Length()[const] | Computes the length of this vector. |
LengthSq()[const] | Computes the squared length of this vector. |
Normalize() | Normalizes this float3. |
Normalized()[const] | Returns a normalized copy of this vector. |
ScaleToLength(newLength) | Scales this vector so that its new length is as given. |
ScaledToLength(newLength)[const] | Returns a scaled copy of this vector which has its new length as given. |
IsNormalized(epsilonSq)[const] | Tests if the length of this vector is one, up to the given epsilon. |
IsZero(epsilonSq)[const] | Tests if this is the null vector, up to the given epsilon. |
IsFinite()[const] | Tests if this vector contains valid finite elements. |
IsPerpendicular(other,epsilonSq)[const] | Tests if two vectors are perpendicular to each other. |
Equals(other,epsilon)[const] (+1 overload) | Tests if two vectors are equal, up to the given epsilon. |
BitEquals(other)[const] | Compares whether this float3 and the given float3 are identical bit-by-bit in the underlying representation. |
ToString()[const] | Returns "(x, y, z)". |
SerializeToString()[const] | Returns "x,y,z". This is the preferred format for the float3 if it has to be serialized to a string for machine transfer. |
SerializeToCodeString()[const] | Returns a string of C++ code that can be used to construct this object. Useful for generating test cases from badly behaving objects. |
SumOfElements()[const] | Returns x + y + z. |
ProductOfElements()[const] | Returns x * y * z. |
AverageOfElements()[const] | Returns (x+y+z)/3. |
MinElement()[const] | Returns min(x, y, z). |
MinElementIndex()[const] | Returns the index that has the smallest value in this vector. |
MaxElement()[const] | Returns max(x, y, z). |
MaxElementIndex()[const] | Returns the index that has the smallest value in this vector. |
Abs()[const] | Takes the element-wise absolute value of this vector. |
Neg()[const] | Returns a copy of this vector with each element negated. |
Recip()[const] | Computes the element-wise reciprocal of this vector. |
Min(ceil)[const] (+1 overload) | Returns an element-wise minimum of this and the vector (ceil, ceil, ceil). |
Max(floor)[const] (+1 overload) | Returns an element-wise maximum of this and the vector (floor, floor, floor). |
Clamp(floor,ceil)[const] (+1 overload) | Returns a vector that has floor <= this[i] <= ceil for each element. |
Clamp01()[const] | Limits each element of this vector in the range [0, 1]. |
ClampLength(maxLength)[const] (+1 overload) | Returns a copy of this vector, with its length scaled down to maxLength. |
Distance(point)[const] (+9 overloads) | Computes the distance between this point and the given object. |
DistanceSq(point)[const] | Computes the squared distance between this and the given point. |
Dot(v)[const] | Computes the dot product of this and the given vector. |
Cross(v)[const] | Computes the cross product of this and the given vector. |
OuterProduct(rhs)[const] | Computes the outer product of this and the given vector. |
Perpendicular(hint,hint2)[const] | Computes a new normalized direction vector that is perpendicular to this vector and the specified hint vector. |
AnotherPerpendicular(hint,hint2)[const] | Returns another vector that is perpendicular to this vector and the vector returned by Perpendicular(). |
PerpendicularBasis(outB,outC)[const] | This function computes two new vectors b and c which are both orthogonal to this vector and to each other. |
RandomPerpendicular(rng)[const] | Generates a random vector that is perpendicular to this vector. |
Reflect(normal)[const] | Returns this vector reflected about a plane with the given normal. |
Refract(...)[const] | Refracts this vector about a plane with the given normal. |
ProjectTo(direction)[const] | Projects this vector onto the given unnormalized direction vector. |
ProjectToNorm(direction)[const] | Projects this vector onto the given normalized direction vector. |
AngleBetween(other)[const] | Returns the angle between this vector and the specified vector, in radians. |
AngleBetweenNorm(normalizedVector)[const] | Returns the angle between this vector and the specified normalized vector, in radians. |
Decompose(...)[const] | Breaks this vector down into parallel and perpendicular components with respect to the given direction. |
Lerp(b,t)[const] | Linearly interpolates between this and the vector b. |
FromScalar(scalar)[static] | Generates a new float3 by filling its entries by the given scalar. |
FromSphericalCoordinates(...)[static] (+2 overloads) | |
AreCollinear(p1,p2,p3,epsilonSq)[static] | Tests if the points p1, p2 and p3 lie on a straight line, up to the given epsilon. |
FromString(str,outEndStr)[static] (+1 overload) | Parses a string that is of form "x,y,z" or "(x,y,z)" or "(x;y;z)" or "x y z" to a new float3. |
ScalarTripleProduct(u,v,w)[static] | Computes the scalar triple product of the given three vectors. |
Lerp(a,b,t)[static] | This function is the same as calling a.Lerp(b, t). |
Orthogonalize(a,b)[static] (+1 overload) | Makes the given vectors linearly independent. |
AreOrthogonal(a,b,epsilon)[static] (+1 overload) | Returns true if the given vectors are orthogonal to each other. |
Orthonormalize(a,b)[static] (+1 overload) | Makes the given vectors linearly independent and normalized in length. |
AreOrthonormal(a,b,epsilon)[static] (+1 overload) | Returns true if the given vectors are orthogonal to each other and all of length 1. |
RandomDir(lcg,length)[static] | Generates a direction vector of the given length. |
RandomSphere(lcg,center,radius)[static] | Generates a random point inside a sphere. |
RandomBox(...)[static] (+2 overloads) | Generates a random point inside an axis-aligned box. |
RandomGeneral(...)[static] |