Choose your operating system:
Windows
macOS
Linux
Module |
|
Header |
/Engine/Source/Runtime/GeometryCore/Public/FrameTypes.h |
Include |
#include "FrameTypes.h" |
template<typename RealType>
struct TFrame3
TFrame3 is an object that represents an oriented 3D coordinate frame, ie orthogonal X/Y/Z axes at a point in space. One can think of this Frame as a local coordinate space measured along these axes. Functions are provided to map geometric objects to/from the Frame coordinate space.
Internally the representation is the same as an FTransform, except a Frame has no Scale.
Name | Description | ||
---|---|---|---|
|
TVector< RealTy... |
Origin |
Origin of the frame |
|
TQuaternion< Re... |
Rotation |
Rotation of the frame. Think of this as the rotation of the unit X/Y/Z axes to the 3D frame axes. |
Name | Description | |
---|---|---|
|
TFrame3() |
Construct a frame positioned at (0,0,0) aligned to the unit axes |
|
TFrame3 ( |
Construct a frame at the given Origin aligned to the unit axes |
|
TFrame3 ( |
Construct a Frame from an FTransform |
|
TFrame3 ( |
Construct a Frame from an FPlane |
|
TFrame3 ( |
Convert between TFrame of different types |
|
TFrame3 ( |
Construct a Frame from the given Origin and Rotation |
|
TFrame3 |
Construct a frame with the Z axis aligned to a target axis |
|
TFrame3 |
Construct a Frame from an FVector and FQuat |
|
TFrame3 |
Construct Frame from X/Y/Z axis vectors. Vectors must be mutually orthogonal. |
Name | Description | ||
---|---|---|---|
|
AlignAxis ( |
Align an axis of this frame with a target direction |
|
|
ConstrainedAlignAxis |
Compute rotation around vector that best-aligns axis of frame with target direction |
|
|
ConstrainedAlignPerpAxes |
Compute rotation around NormalAxis that best-aligns one of the other two frame axes with either given UpAxis or FallbackAxis (FallbackAxis is required if Dot(NormalAxis,UpAxis) > UpDotTolerance, ie if the Normal and Up directions are too closely aligned. Basically this divides direction-sphere into three regions - polar caps with size defined by UpDotTolerance, and a wide equator band covering the rest. When crossing between these regions the alignment has a discontinuity. It is impossible to avoid this discontinuity because it is impossible to comb a sphere. |
|
|
TFrame3< Rea... |
FromFrame ( |
|
|
TQuaternion<... |
FromFrame ( |
|
|
TRay< RealTy... |
FromFrame ( |
|
|
TVector< Rea... |
FromFramePoint ( |
|
|
TVector< Rea... |
FromFrameVector ( |
|
|
TVector< Rea... |
FromPlaneUV ( |
Map a point from local UV plane coordinates to the corresponding 3D point in one of the planes of the frame |
|
GetAxes |
||
|
TVector< Rea... |
GetAxis ( |
|
|
TVector< Rea... |
PointAt ( |
|
|
TVector< Rea... |
PointAt ( |
|
|
RayPlaneIntersection ( |
Compute intersection of ray with plane defined by frame origin and axis as normal |
|
|
Rotate ( |
Rotate this frame by given quaternion |
|
|
ToFPlane() |
||
|
TRay< RealTy... |
ToFrame ( |
|
|
TFrame3< Rea... |
ToFrame ( |
|
|
TQuaternion<... |
ToFrame ( |
|
|
TVector< Rea... |
ToFramePoint ( |
|
|
TVector< Rea... |
ToFrameVector ( |
|
|
ToFTransform() |
||
|
TVector< Rea... |
ToPlane ( |
Project a point onto one of the planes of the frame |
|
TVector2< Re... |
ToPlaneUV ( |
Project 3D point into plane and convert to UV coordinates in that plane |
|
TTransform3<... |
ToTransform() |
|
|
Transform ( |
Transform this frame by the given transform |
|
|
Transform ( |
Transform this frame by the given transform |
|
|
TVector< Rea... |
X() |
|
|
TVector< Rea... |
Y() |
|
|
TVector< Rea... |
Z() |