MakeRotation |
Makes a rotation from Axis and AngleRadians using a left-handed sign convention (e.g. a positive rotation around +Z takes +X to +Y). If Axis.IsAlmostZero[], make the identity rotation. |
MakeRotationFromYawPitchRollDegrees |
Makes a rotation by applying YawRightDegrees, PitchUpDegrees, and RollClockwiseDegrees, in that order: * first a yaw about the Z axis with a positive angle indicating a clockwise rotation when viewed from above, * then a pitch about the new Y axis with a positive angle indicating 'nose up', * followed by a roll about the new X axis axis with a positive angle indicating a clockwise rotation when viewed along +X. Note that these conventions differ from MakeRotation but match ApplyYaw, ApplyPitch, and ApplyRoll. |
IdentityRotation |
Makes the identity rotation. |
Distance |
Returns the 'distance' between Rotation1 and Rotation2. The result will be between: * 0.0, representing equivalent rotations and * 1.0 representing rotations which are 180 degrees apart (i.e., the shortest rotation between them is 180 degrees around some axis). |
AngularDistance |
Returns the 'smallest angular distance' between Rotation1 and Rotation2 in radians. |
MakeShortestRotationBetween |
Makes the smallest angular rotation from InitialRotation to FinalRotation such that: InitialRotation.RotateBy(MakeShortestRotationBetween(InitialRotation, FinalRotation)) = FinalRotation and MakeShortestRotationBetween(InitialRotation, FinalRotation)?.GetAngle() is as small as possible. |
MakeShortestRotationBetween |
Makes the smallest angular rotation from InitialVector to FinalVector such that: InitialVector.RotateBy(MakeShortestRotationBetween(InitialVector, Vector)) = FinalVector and MakeShortestRotationBetween(InitialVector, FinalVector)?.GetAngle() is as small as possible. |
MakeComponentWiseDeltaRotation |
Makes a new rotation from the component wise subtraction of the Euler angle components in RotationA by the Euler angle components in RotationB and ensures the returned value is normalized. |
Slerp |
Used to perform spherical linear interpolation between From (when Parameter = 0.0) and To (when Parameter = 1.0). Expects that 0.0 <= Parameter <= 1.0. |
ToString |
Makes a string representation of rotation in axis/degrees format with a left-handed sign convention. ToString(MakeRotation(vector3{X:=1.0, Y:=0.0, Z:=0.0}, PiFloat/2.0)) produces the string: "Axis: {x=1.000000,y=0.000000,z=0.000000} Angle: 90.000000". |
DegreesToRadians |
Returns radians from Degrees. |
RadiansToDegrees |
Returns degrees from Radians. |
FromVector3 |
Util function for converting a translation/position vector3 from /UnrealEngine.com/Temporary/SpatialMath to a vector3 from /Verse.org/SpatialMath. |
FromScalarVector3 |
Util function for converting a scalar vector3 from /UnrealEngine.com/Temporary/SpatialMath to a vector3 from /Verse.org/SpatialMath. Use this function when your vector indicates a magnitude on each axis but not a direction, such as when you convert a scale measurement rather than a translation or position. |
FromRotation |
Util function for converting a rotation from /UnrealEngine.com/Temporary/SpatialMath to a rotation from /Verse.org/SpatialMath. |
FromTransform |
Util function for converting a transform from /UnrealEngine.com/Temporary/SpatialMath to a transform from /Verse.org/SpatialMath. |
FromVector3 |
Util function for converting a translation/position vector3 from /Verse.org/SpatialMath to a vector3 from /UnrealEngine.com/Temporary/SpatialMath. |
FromScalarVector3 |
Util function for converting a scalar vector3 from /Verse.org/SpatialMath to a vector3 from /UnrealEngine.com/Temporary/SpatialMath. Use this function when your vector indicates a magnitude on each axis but not a direction, such as when you convert a scale measurement rather than a translation or position. |
FromRotation |
Util function for converting a rotation from /Verse.org/SpatialMath to a rotation from /UnrealEngine.com/Temporary/SpatialMath. |
FromTransform |
Util function for converting a transform from /Verse.org/SpatialMath to a transform from /UnrealEngine.com/Temporary/SpatialMath. |
TransformVector |
Makes a vector3 by applying InTransform to InVector. |
TransformVectorNoScale |
Makes a vector3 by applying InTransform to InVector without applying InTransform.Scale. |
ReflectVector |
Makes a vector2 by inverting the SurfaceNormal component of Direction. Fails if not SurfaceNormal.MakeUnitVector[]. |
DotProduct |
Returns the dot product of V1 and V2. |
Distance |
Returns the Euclidean distance between V1 and V2. |
DistanceSquared |
Returns the squared Euclidean distance between V1 and V2. |
Lerp |
Used to linearly interpolate/extrapolate between From (when Parameter = 0.0) and To (when Parameter = 1.0). Expects that all arguments are finite. Returns From*(1 - Parameter) + To*Parameter. |
ToString |
Makes a string representation of V. |
prefix'-' |
Makes a vector2 by inverting the signs of Operand. |
operator'+' |
Makes a vector2 by component-wise addition of Left and Right. |
operator'-' |
Makes a vector2 by component-wise subtraction of Right from Left. |
operator'*' |
Makes a vector2 by component-wise multiplication of Left and Right. |
operator'*' |
Makes a vector2 by multiplying the components of Right by Left. |
operator'/' |
Makes a vector2 by dividing the components of Left by Right. |
operator'/' |
Makes a vector2 by component-wise division of Left by Right. |
ToVector2 |
Makes a vector2 by converting the components of V to floats. |
IsAlmostEqual |
Succeeds when each component of V1 and V2 are within AbsoluteTolerance of each other. |
DotProduct |
Returns the dot product of V1 and V2. |
Equals |
Makes a vector2i that is component-wise equal to V1 and V2. Fails if any component of V1 does not equal the corresponding component of V2. |
ToString |
Makes a string representation of V. |
ToVector2i |
Makes a vector2i by component-wise truncation of V to intss. |
prefix'-' |
Makes a vector2i by inverting the signs of Operand. |
operator'+' |
Makes a vector2i by component-wise addition of Left and Right. |
operator'-' |
Makes a vector2i by component-wise subtraction of Right from Left. |
operator'*' |
Makes a vector2i by multiplying the components of Left by Right. |
operator'*' |
Makes a vector2i by multiplying the components of Right by Left. |
ReflectVector |
Makes a vector3 by inverting the SurfaceNormal component of Direction. Fails if not SurfaceNormal.MakeUnitVector[]. |
DotProduct |
Returns the dot product of V1 and V2. |
CrossProduct |
Returns the cross product of V1 and V2. |
Distance |
Returns the Euclidean distance between V1 and V2. |
DistanceSquared |
Returns the squared Euclidean distance between V1 and V2. |
DistanceXY |
Returns the 2-D Euclidean distance between V1 and V2 by ignoring the difference in Z. |
DistanceSquaredXY |
Returns the squared 2-D Euclidean distance between V1 and V2 by ignoring their difference in Z. |
ToString |
Makes a string representation of V. |
Lerp |
Used to linearly interpolate/extrapolate between From (when Parameter = 0.0) and To (when Parameter = 1.0). Expects that all arguments are finite. Returns From*(1 - Parameter) + To*Parameter. |
prefix'-' |
Makes a vector3 by inverting the signs of Operand. |
operator'+' |
Makes a vector3 by component-wise addition of L and R. |
operator'-' |
Makes a vector3 by component-wise subtraction of R from L. |
operator'*' |
Makes a vector3 by component-wise multiplication of L and R. |
operator'*' |
Makes a vector3 by multiplying the components of L by R. |
operator'*' |
Makes a vector3 by multiplying the components of R by L. |
operator'/' |
Makes a vector3 by dividing the components of L by R. |
operator'/' |
Makes a vector3 by component-wise division of L by R. |
IsAlmostEqual |
Succeeds when each component of V1 and V2 are within AbsoluteTolerance of each other. |