description:
Find all points in grid within a given sphere. Note: Not thread-safe to update, remove or insert points during this query.
the number of found points

code: int FindPointsInBall ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & QueryPoint, RealType Radius, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< RealType(const PointDataType &)> DistanceSqFunc, [TArray](API\Runtime\Core\Containers\TArray)< PointDataType > & ResultsOut, [TFunctionRef](API\Runtime\Core\GenericPlatform\TFunctionRef)< bool(const PointDataType &)> IgnoreFunc ) const


description: Insert at given position. This function is thread-safe.

module: GeometryCore

code: void InsertPoint ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description: Insert at given position, without locking / thread-safety

code: void InsertPointUnsafe ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description: Invalid grid value

code: PointDataType GetInvalidValue() const


description:
Test if the whole cell containing Position is empty, without locking / thread-safety Can be used to skip a more expensive range search, in some cases.
true if the cell containing Position is empty

code: bool IsCellEmptyUnsafe ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description:
Remove at given position, without locking / thread-safety
true if the value existed at this position

code: bool RemovePointUnsafe ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description: Reserve space in the underlying hash map

code: void Reserve ( int32 Num )


description: Construct 3D hash grid

code: TPointHashGrid3 ( RealType cellSize, PointDataType InvalidValue )


description:
Remove at given position. This function is thread-safe.
true if the value existed at this position

code: bool RemovePoint ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description: Move value from old to new position, without locking / thread-safety

code: void UpdatePointUnsafe ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OldPosition, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & NewPosition )


description: Move value from old to new position. This function is thread-safe.

code: void UpdatePoint ( const PointDataType & Value, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OldPosition, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & NewPosition )


description:
Test if the cell containing Position is empty. This function is thread-safe. Can be used to skip a more expensive range search, in some cases.
true if the cell containing Position is empty

code: bool IsCellEmpty ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Position )


description: We don't store copies of the 3D points. You provide a point_data type. This could just be the integer index into your list for example, a pointer to something more complex, etc. Insert and Remove functions require you to pass in the 3D point for the point_data. To Update a point you need to know its old and new 3D coordinates.

code: template<typename PointDataType, typename RealType> class TPointHashGrid3


code: typedef [TPointHashGrid3](API\Runtime\GeometryCore\Spatial\TPointHashGrid3)< PointDataType, double > TPointHashGrid3d


code: typedef [TPointHashGrid3](API\Runtime\GeometryCore\Spatial\TPointHashGrid3)< PointDataType, float > TPointHashGrid3f


description:
Sample scalar field with bilinear interpolation at given Position
interpolated value at this position

code: ValueType BilinearSampleClamped ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Position ) const


description:
Sample scalar field gradient with bilinear interpolation at given Position
interpolated value at this position

code: void BilinearSampleGradientClamped ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Position, ValueType & GradXOut, ValueType & GradYOut ) const


code: void CopyConfiguration ( const [TSampledScalarField2](API\Runtime\GeometryCore\Spatial\TSampledScalarField2)< RealType, ValueType > & OtherField )


description: Resize the grid to given Width/Height, and initialize w/ given InitValue

code: void Resize ( int64 Width, int64 Height, const ValueType & InitValue )


description: Set the size of the grid cells to uniform CellSize

code: void SetCellSize ( RealType CellSize )


description: Create empty grid, defaults to 2x2 grid of whatever default value of ValueType is


description: The class is templated on two types: RealType: the real type used for spatial calculations, ie 2D grid origin, cell dimensions, and sample positions ValueType: the type of value stored in the grid. Could be real or vector-typed, needs to support multiplication by RealType (for interpolation)

code: template<typename RealType, typename ValueType> class TSampledScalarField2

CellDimensions

type: TVector2< RealT...

GridValues

type: TDenseGrid2< Va...


description: Set the 2D origin of the grid

code: void SetPosition ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Origin )


description: Iterate over existing elements and apply ElementFunc(ElementType) to each of them

code: template<typename Func> void AllocatedIteration ( Func ElementFunc ) const


code: ElemType * Allocate ( const [FVector3i](API\Runtime\GeometryCore\FVector3i) & index )


description:
Delete an element in the grid
true if the element existed, false if it did not

code: bool Free ( const [FVector3i](API\Runtime\GeometryCore\FVector3i) & Index )


description:
Get the grid element at this index
pointer to ElemType instance, or nullptr if element doesn't exist

code: const ElemType * Get ( const [FVector3i](API\Runtime\GeometryCore\FVector3i) & Index ) const


description:
Get the grid element at this index, and optionally allocate it if it doesn't exist
pointer to ElemType instance, or nullptr if element doesn't exist

code: ElemType * Get ( const [FVector3i](API\Runtime\GeometryCore\FVector3i) & Index, bool bAllocateIfMissing )


description: Delete all elements in the grid

code: void FreeAll()


description: integer range of valid grid indices [min,max] (inclusive)


description: ratio of allocated elements to total number of possible cells for current bounds

code: float GetDensity() const


description: number of allocated elements in the grid

code: int GetCount() const


description: dimensions of grid along each axis


description: true if there is an allocated element at this index

code: bool Has ( const [FVector3i](API\Runtime\GeometryCore\FVector3i) & Index ) const


code: [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) & operator= ( const [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) & Other )


code: [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) & operator= ( [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) && Other )


description: Iterate over existing allocated elements within the integer bounds defined by Min and Max (inclusive), and apply ElementFunc(ElementType) to each of them

code: template<typename Func> void RangeIteration ( [FVector3i](API\Runtime\GeometryCore\FVector3i) MinIndex, [FVector3i](API\Runtime\GeometryCore\FVector3i) MaxIndex, Func ElementFunc ) const


description: Create empty grid


code: TSparseGrid3 ( const [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) & Other )


code: TSparseGrid3 ( [TSparseGrid3](API\Runtime\GeometryCore\Spatial\TSparseGrid3) && Other )


description: Dynamic sparse 3D grid. Useful in cases where we have grid of some type of non-trivial object and we don't want to pre-allocate full grid of them. So we allocate on-demand. This can be used to implement multi-grid schemes, eg for example the ElemType could be sub-grid of fixed dimension.

code: template<typename ElemType> class TSparseGrid3

Bounds

type: FAxisAlignedBox...

description: Accumulated bounds of all indices inserted into Elements. Not currently used internally.

Elements

description: Sparse grid of allocated elements


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicDecrement ( [FDenseGrid2i](API\Runtime\GeometryCore\Spatial\FDenseGrid2i) & Grid, int32 i, int32 j ) } } }


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicDecrement ( [FDenseGrid3i](API\Runtime\GeometryCore\Spatial\FDenseGrid3i) & Grid, int i, int j, int k ) } } }


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicIncrement ( [FDenseGrid2i](API\Runtime\GeometryCore\Spatial\FDenseGrid2i) & Grid, int32 i, int32 j ) } } }


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicIncrement ( [FDenseGrid3i](API\Runtime\GeometryCore\Spatial\FDenseGrid3i) & Grid, int i, int j, int k ) } } }


description: Deletes all grid elements


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicIncDec ( [FDenseGrid2i](API\Runtime\GeometryCore\Spatial\FDenseGrid2i) & Grid, int32 i, int32 j, bool bDecrement ) } } }


code: namespace UE { namespace Geometry { namespace DenseGrid { void UE::Geometry::DenseGrid::AtomicIncDec ( [FDenseGrid3i](API\Runtime\GeometryCore\Spatial\FDenseGrid3i) & Grid, int i, int j, int k, bool bDecrement ) } } }


description: Area Weighted Add

code: void Add ( RealType w, const [TAttrBasedQuadricError](API\Runtime\GeometryCore\TAttrBasedQuadricError) & other )


className: BaseClass

code: typedef [TVolPresQuadricError](API\Runtime\GeometryCore\TVolPresQuadricError)< RealType > BaseClass


className: BaseStruct

code: typedef [TQuadricError](API\Runtime\GeometryCore\TQuadricError)< RealType > BaseStruct


description: The optimal point minimizing the quadric error with respect to a volume conserving constraint

code: bool OptimalPoint ( [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & OptPoint, RealType minThresh ) const


code: RealType Evaluate ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & point ) const


code: RealType Evaluate ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & point, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & InAttr ) const


code: void ComputeAttributes ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & point, [TVector](API\Runtime\Core\Math\TVector)< RealType > & attr ) const


className: ScalarType

code: typedef RealType ScalarType


description: Triangle Quadric constructor. Take vertex locations, vertex normals, face normal, and center of face.

code: TAttrBasedQuadricError ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & P0, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & P1, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & P2, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & N0, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & N1, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & N2, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & NFace, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & CenterPoint, RealType AttrWeight )


code: TAttrBasedQuadricError ( const [TAttrBasedQuadricError](API\Runtime\GeometryCore\TAttrBasedQuadricError) & Aother, const [TAttrBasedQuadricError](API\Runtime\GeometryCore\TAttrBasedQuadricError) & Bother )


className: TAttrBasedQuadricError

description: Quadric Error type for use in volume memory-less simplification with volume preservation constraints. using the normal as three additional attributes to contribute to the quadric error. See:http://hhoppe.com/newqem.pdf

code: template<typename RealType> class TAttrBasedQuadricError : public [UE::Geometry::TVolPresQuadricError< RealType >](API\Runtime\GeometryCore\TVolPresQuadricError)

a

type: RealType

description: Accumulated area

attrweight

description: Weight used to internally scale the attribute/ used to increase or decrease the importance of the normal in computing the optimal position

grad

type: TVector< RealTy...

description: Additional planes for the attributes.


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > Center() const


code: void Contain ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V )


code: void Contain ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > & Other )


code: void Contain ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< RealType >> & Pts )


code: void Contain ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TVector2](API\Runtime\Core\Math\TVector2)< RealType >> Pts )


code: bool Contains ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > & Box ) const


code: bool Contains ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V ) const


code: RealType DistanceSquared ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V ) const


code: RealType DiagonalLength() const


code: static [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > Empty()


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > Extents() const


code: void Expand ( RealType Radius )


description:
Corners are ordered to follow the perimeter of the bounding rectangle, starting from the (Min.X, Min.Y) corner and ending at (Min.X, Max.Y)
Corner of the bounding rectangle

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetCorner ( int Index ) const


code: [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > Intersect ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > & Box ) const


code: bool Intersects ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > & Box ) const


className: TAxisAlignedBox2::operator FBox2D

code: operator FBox2D() const


code: template<typename OtherRealType> TAxisAlignedBox2 ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< OtherRealType > & OtherBox )


code: TAxisAlignedBox2 ( RealType SquareSize )


code: TAxisAlignedBox2 ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< RealType >> & Pts )


code: TAxisAlignedBox2 ( const FBox2D & Box )


code: TAxisAlignedBox2 ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TVector2](API\Runtime\Core\Math\TVector2)< RealType >> Pts )


code: TAxisAlignedBox2 ( RealType Width, RealType Height )


code: TAxisAlignedBox2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Min, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Max )


code: TAxisAlignedBox2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Center, RealType HalfWidth )


code: template<typename RealType> struct TAxisAlignedBox2


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Center() const


code: void Contain ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & V )


code: void Contain ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TVector](API\Runtime\Core\Math\TVector)< RealType >> Pts )


code: void Contain ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< RealType >> & Pts )


code: bool Contains ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & V ) const


code: bool Contains ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Box ) const


code: void Contain ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Other )


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Diagonal() const


code: RealType DiagonalLength() const


code: RealType DistanceSquared ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Box ) const


code: RealType Dimension ( int32 Index ) const


code: RealType DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & V ) const


code: static [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > Empty()


code: [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > Intersect ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Box ) const


description: Corner point on the box identified by the given index. See diagram in OrientedBoxTypes.h for index/corner mapping.

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetCorner ( int Index ) const


code: void Expand ( RealType Radius )


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Extents() const


code: static [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > Infinite()


code: bool Intersects ( [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3) Box ) const


description: Compute bounding box of 3D points returned by GetPoint(Index) for indices in range for_each(IndexEnumerable)

code: template<typename EnumerableIntType, typename PointFunc> static [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > MakeBoundsFromIndices ( EnumerableIntType IndexEnumerable, PointFunc GetPoint )


description: Compute bounding box of 3D points returned by GetPoint(Index) for indices in range [0...MaxIndex)

code: template<typename PointFunc> static [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > MakeBoundsFromIndices ( int32 MaxIndex, PointFunc GetPoint )


className: TAxisAlignedBox3::operator FBox

code: operator FBox() const


code: bool operator!= ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Other ) const


code: RealType SurfaceArea() const


code: TAxisAlignedBox3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & A, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & B, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & C )


code: template<typename OtherRealType> TAxisAlignedBox3 ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< OtherRealType > & OtherBox )


code: bool operator== ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & Other ) const


code: TAxisAlignedBox3 ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TVector](API\Runtime\Core\Math\TVector)< RealType >> Pts )


code: TAxisAlignedBox3 ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< RealType >> & Pts )


code: TAxisAlignedBox3 ( const FBox & Box )


code: TAxisAlignedBox3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Min, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Max )


code: TAxisAlignedBox3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Center, RealType HalfWidth )


code: TAxisAlignedBox3 ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3) & Box, const [FTransformSRT3d](API\Runtime\GeometryCore\FTransformSRT3d) & Transform )


code: TAxisAlignedBox3 ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3) & Box, const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [TVector](API\Runtime\Core\Math\TVector)< RealType >(const [TVector](API\Runtime\Core\Math\TVector)< RealType > &)> TransformF )


code: template<typename RealType> struct TAxisAlignedBox3


className: Value

code: enum &123; Value = true &125;


code: namespace TCanBulkSerialize< UE { namespace Geometry { template<> struct TCanBulkSerialize< UE::Geometry::FIndex2i > } }


code: namespace TCanBulkSerialize< UE { namespace Geometry { template<> struct TCanBulkSerialize< UE::Geometry::FIndex3i > } }


code: namespace TCanBulkSerialize< UE { namespace Geometry { template<> struct TCanBulkSerialize< UE::Geometry::FIndex4i > } }


description: Center of capsule line segment

code: const [TVector](API\Runtime\Core\Math\TVector)< T > & Center() const


description: true if Capsule contains the given Point

code: bool Contains ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point ) const


description: Direction of capsule line segment

code: const [TVector](API\Runtime\Core\Math\TVector)< T > & Direction() const


description: minimum squared distance from Point to Capsule surface for points outside capsule, 0 for points inside

code: T DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point ) const


description: Extent (half-length) of capsule line segment

code: T Extent() const


description: signed distance from Point to Capsule surface. Points inside capsule return negative distance.

code: T SignedDistance ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point ) const


description: Bounding Box of Capsule

code: [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< T > GetBounds() const


description: Length of capsule line segment

code: T Length() const


description: Oriented Bounding Box of Capsule (orthogonal axes are arbitrary)

code: [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< T > GetOrientedBounds() const


description: Volume of Capsule

code: T Volume() const


description:
Sphere utility functions
Volume of Capsule with given Radius and Extent (half-length)

code: static T Volume ( T Radius, T Extent )


code: TCapsule3 ( const [TSegment3](API\Runtime\GeometryCore\TSegment3)< T > & SegmentIn, T RadiusIn )


code: TCapsule3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & StartPoint, const [TVector](API\Runtime\Core\Math\TVector)< T > & EndPoint, T RadiusIn )


description: 3D Capsule stored as Line Segment and Radius

code: template<typename T> struct TCapsule3

Radius

type: T

description: Radius of the capsule

Segment

type: TSegment3< T >

description: Line segment of the capsule


code: RealType Distance ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


code: [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > GetBoundingBox() const


code: RealType GetBoundingPolygonRadius ( int NumSides ) const


code: RealType GetCircumference() const


code: RealType GetCurvature() const


code: RealType GetDiameter() const


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetPointFromAngleD ( RealType AngleDeg ) const


code: RealType GetSignedCurvature() const


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetPointFromAngleR ( RealType AngleRad ) const


code: bool IsInsideOrOn ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetPointFromUnitParameter ( RealType UnitParam ) const


code: void SetArea ( RealType NewArea )


code: bool IsInside ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


code: void SetDiameter ( RealType NewDiameter )


code: void SetCircumference ( RealType NewCircumference )


code: RealType SignedDistance ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


code: TCircle2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & CenterIn, const RealType & RadiusIn )


code: TCircle2 ( const RealType & RadiusIn )


code: RealType Distance ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


code: template<typename RealType> struct TCircle2

bIsReversed

type: bool


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > ClosestPoint ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & QueryPoint ) const


code: [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< RealType > GetBoundingBox() const


code: RealType DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


code: const [TVector](API\Runtime\Core\Math\TVector)< RealType > & GetCenter() const


code: RealType GetCurvature() const


code: RealType GetDiameter() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetNormal() const


code: RealType GetCircumference() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetPointFromAngleD ( RealType AngleDeg ) const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetPointFromUnitParameter ( RealType UnitParam ) const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetPointFromAngleR ( RealType AngleRad ) const


code: RealType GetSignedCurvature() const


code: void SetArea ( RealType NewArea )


code: TCircle3 ( const RealType & RadiusIn )


code: void SetCircumference ( RealType NewCircumference )


code: void SetDiameter ( RealType NewDiameter )


code: TCircle3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & CenterIn, const RealType & RadiusIn )


code: TCircle3 ( const [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > & FrameIn, const RealType & RadiusIn )


code: template<typename RealType> struct TCircle3

Frame

type: TFrame3< RealTy...


description: Compute rotation around vector that best-aligns axis of frame with target direction

code: void ConstrainedAlignAxis ( int AxisIndex, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & ToDirection, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & AroundVector )


description: Align an axis of this frame with a target direction

code: void AlignAxis ( int AxisIndex, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & ToDirection )


description: 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.

code: void ConstrainedAlignPerpAxes ( int PerpAxis1, int PerpAxis2, int NormalAxis, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & UpAxis, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & FallbackAxis, RealType UpDotTolerance )


description: input Ray transformed from local coordinate system of Frame into "World" coordinate system

code: [TRay](API\Runtime\Core\Math\TRay)< RealType > FromFrame ( const [TRay](API\Runtime\Core\Math\TRay)< RealType > & Ray ) const


description: input Quaternion transformed from local coordinate system of Frame into "World" coordinate system

code: [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > FromFrame ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & Quat ) const


description: input Frame transformed from local coordinate system of this Frame into "World" coordinate system

code: [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > FromFrame ( const [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > & Frame ) const


description: input Point transformed from local coordinate system of Frame into "World" coordinate system

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > FromFramePoint ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


description:
Map a point from local UV plane coordinates to the corresponding 3D point in one of the planes of the frame
3D coordinates in frame's plane (including Origin translation)

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > FromPlaneUV ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & PosUV, int PlaneNormalAxis ) const


description: X/Y/Z axes of frame. This is more efficient than calculating each axis separately.

code: void GetAxes ( [TVector](API\Runtime\Core\Math\TVector)< RealType > & X, [TVector](API\Runtime\Core\Math\TVector)< RealType > & Y, [TVector](API\Runtime\Core\Math\TVector)< RealType > & Z ) const


description: input Vector transformed from local coordinate system of Frame into "World" coordinate system

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > FromFrameVector ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Vector ) const


description: axis vector

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetAxis ( int AxisIndex ) const


description: point at distances along frame axes

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > PointAt ( RealType X, RealType Y, RealType Z ) const


description: point at distances along frame axes

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > PointAt ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


description:
Compute intersection of ray with plane defined by frame origin and axis as normal
true if ray intersects plane and HitPointOut is valid

code: bool RayPlaneIntersection ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & RayOrigin, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & RayDirection, int PlaneNormalAxis, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & HitPointOut ) const


description: conversion of this Frame to FPlane

code: FPlane ToFPlane() const


description: Rotate this frame by given quaternion

code: void Rotate ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & Quat )


description: input Quaternion transformed into local coordinate system of Frame

code: [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > ToFrame ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & Quat ) const


description: input Ray transformed into local coordinate system of Frame

code: [TRay](API\Runtime\Core\Math\TRay)< RealType > ToFrame ( const [TRay](API\Runtime\Core\Math\TRay)< RealType > & Ray ) const


description: input Point transformed into local coordinate system of Frame

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > ToFramePoint ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


description: conversion of this Frame to FTransform

code: FTransform ToFTransform() const


description: input Frame transformed into local coordinate system of this Frame

code: [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > ToFrame ( const [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > & Frame ) const


description: conversion of this Frame to an inverse FTransform

code: FTransform ToInverseFTransform() const


description: input Vector transformed into local coordinate system of Frame

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > ToFrameVector ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Vector ) const


description: conversion of this Frame to an inverse TTransform

code: [TTransformSRT3](API\Runtime\GeometryCore\TTransformSRT3)< RealType > ToInverseTransform() const


description:
Project a point onto one of the planes of the frame
3D coordinate in the plane

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > ToPlane ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Pos, int PlaneNormalAxis ) const


description:
Project 3D point into plane and convert to UV coordinates in that plane
2D coordinates in UV plane, relative to origin

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > ToPlaneUV ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Pos, int PlaneNormalAxis ) const


description: conversion of this Frame to TTransform

code: [TTransformSRT3](API\Runtime\GeometryCore\TTransformSRT3)< RealType > ToTransform() const


description: Transform this frame by the given transform. Note: Ignores scale, asTFrame3does not support scaling

code: void Transform ( const [TTransformSRT3](API\Runtime\GeometryCore\TTransformSRT3)< RealType > & XForm )


description: X axis of frame (axis 0)

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > X() const


code: void Transform ( const FTransform & XForm )


description: Z axis of frame (axis 2)

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Z() const


description: Y axis of frame (axis 1)

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Y() const


description: Construct a frame positioned at (0,0,0) aligned to the unit axes


description: Construct a frame at the given Origin aligned to the unit axes

code: TFrame3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OriginIn )


description: Construct a Frame from an FPlane

code: TFrame3 ( const FPlane & Plane )


description: Construct a Frame from an FTransform

code: TFrame3 ( const FTransform & Transform )


description: Construct a Frame from an FVector and FQuat

code: TFrame3 ( const FVector & OriginIn, const FQuat & RotationIn )


description: Construct a Frame from the given Origin and Rotation

code: TFrame3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OriginIn, const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > RotationIn )


description: Convert between TFrame of different types

code: template<typename RealType2> TFrame3 ( const [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType2 > & OtherFrame )


description: Construct Frame from X/Y/Z axis vectors. Vectors must be mutually orthogonal.

code: TFrame3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OriginIn, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & X, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Y, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Z )


description: Construct a frame with the Z axis aligned to a target axis

code: TFrame3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & OriginIn, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & SetZ )


description: Internally the representation is the same as an FTransform, except a Frame has no Scale.

code: template<typename RealType> struct TFrame3

Origin

description: Origin of the frame

Rotation

type: TQuaternion< Re...

description: Rotation of the frame. Think of this as the rotation of the unit X/Y/Z axes to the 3D frame axes.


description: true if Halfspace contains given Point

code: bool Contains ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point ) const


code: THalfspace3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & PlaneNormalIn, T ConstantIn )


description: Construct a Halfspace from the plane Normal and a Point lying on the plane

code: THalfspace3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & PlaneNormalIn, const [TVector](API\Runtime\Core\Math\TVector)< T > & PlanePoint )


code: THalfspace3 ( T NormalX, T NormalY, T NormalZ, T ConstantIn )


description: Construct a Halfspace from three points

code: THalfspace3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & P0, const [TVector](API\Runtime\Core\Math\TVector)< T > & P1, const [TVector](API\Runtime\Core\Math\TVector)< T > & P2 )


code: RealType GetInterpValue ( const [FIndex3i](API\Runtime\GeometryCore\FIndex3i) & Indices, const FVector3d & BaryCoords ) const


description: 3D Halfspace stored as parameters to Plane Equation (Normal, Normal.Dot(PointOnPlane)) The Normal points "into" the halfspace, ie X is inside if (Normal.Dot(X) - Constant) >= 0

code: template<typename T> struct THalfspace3

Constant

description: Distance along Normal that defines position of Halfspace

Normal

type: TVector< T >

description: Normal vector of 3D plane that defines Halfspace


code: RealType GetValue ( int32 Index ) const


code: RealType GetInterpValueUnsafe ( const [FIndex3i](API\Runtime\GeometryCore\FIndex3i) & Indices, const FVector3d & BaryCoords ) const


code: RealType GetValueUnsafe ( int32 Index ) const


code: void InvertWeightMap ( [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > Range )


code: void SetNum ( int32 NewNum )


className: TIndexedWeightMap

description: FIndexedWeightMap stores an array of values, the intention is that these are "weights" on indices, for example per-vertex weights.

code: template<typename RealType> class TIndexedWeightMap

Values

type: TArray< RealTyp...


description: true if we can map forward from this value

code: bool ContainsFrom ( IntType FromID ) const


description: Add mapping from one index to another

code: void Add ( IntType FromID, IntType ToID )


description: reverse-map of input value or null if not found

code: const IntType * FindFrom ( IntType ToID ) const


description: true if we can reverse-map from this value

code: bool ContainsTo ( IntType ToID ) const


description: forward-map of input value or null if not found

code: const IntType * FindTo ( IntType FromID ) const


code: [TMap](API\Runtime\Core\Containers\TMap)< IntType, IntType > & GetForwardMap()


code: const [TMap](API\Runtime\Core\Containers\TMap)< IntType, IntType > & GetForwardMap() const


description: reverse-map of input value

code: IntType GetFrom ( IntType ToID ) const


code: [TMap](API\Runtime\Core\Containers\TMap)< IntType, IntType > & GetReverseMap()


description: forward-map of input value

code: IntType GetTo ( IntType FromID ) const


code: void Reserve ( int NumElements )


description: the value used to indicate an ID is not present in the mapping

code: constexpr IntType UnmappedID() const


code: const [TMap](API\Runtime\Core\Containers\TMap)< IntType, IntType > & GetReverseMap() const


code: uint64 GetChangeStamp() const


className: TIndexMap

description: TIndexMapstores mappings between indices, which are assumed to be an integer type. Both forward and backward mapping are stored

code: template<typename IntType> struct TIndexMap

ForwardMap

type: TMap< IntType, ...


code: [FIndex3i](API\Runtime\GeometryCore\FIndex3i) GetTriangle ( int32 Index ) const


code: void GetTriVertices ( int32 TriIndex, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< OutRealType > & V0, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< OutRealType > & V1, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< OutRealType > & V2 ) const


code: [TVector](API\Runtime\Core\Math\TVector)< OutRealType > GetVertex ( int32 Index ) const


code: bool IsTriangle ( int32 Index ) const


code: bool IsVertex ( int32 Index ) const


code: void SetSources ( const [TArray](API\Runtime\Core\Containers\TArray)< InVectorType > * SourceVerticesIn, const [TArray](API\Runtime\Core\Containers\TArray)< IndexType > * SourceTrianglesIn )


description: Counts are same as MaxIDs, because these are compact meshes.

code: int32 TriangleCount() const


code: TIndexMeshArrayAdapter ( const [TArray](API\Runtime\Core\Containers\TArray)< InVectorType > * SourceVerticesIn, const [TArray](API\Runtime\Core\Containers\TArray)< IndexType > * SourceTrianglesIn )


className: TIndexMeshArrayAdapter

description: Faster adapter specifically for the common index mesh case

code: template<typename IndexType, typename OutRealType, typename InVectorType> struct TIndexMeshArrayAdapter

SourceTriangles

type: constTArray< I...


code: void SetSources ( const [TArray](API\Runtime\Core\Containers\TArray)< InVectorType > * SourceVerticesIn, const [TArray](API\Runtime\Core\Containers\TArray)< IndexVectorType > * SourceTrianglesIn )


code: TIndexVectorMeshArrayAdapter()


code: TIndexVectorMeshArrayAdapter ( const [TArray](API\Runtime\Core\Containers\TArray)< InVectorType > * SourceVerticesIn, const [TArray](API\Runtime\Core\Containers\TArray)< IndexVectorType > * SourceTrianglesIn )


className: TIndexVectorMeshArrayAdapter

description: Second version of the above faster adapter  for the case where triangle indices are packed into an integer vector type instead of flat

code: template<typename IndexVectorType, typename OutRealType, typename InVectorType> struct TIndexVectorMeshArrayAdapter


code: void Contain ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O )


description: Clamp Value f to interval [Min,Max]

code: RealType Clamp ( RealType f ) const


code: void Contain ( const RealType & V )


code: bool Contains ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O ) const


code: bool Contains ( RealType D ) const


code: RealType Dist ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O ) const


code: void Expand ( RealType Radius )


description: Interpolate between Min and Max using Value T in range [0,1]

code: RealType Interpolate ( RealType T ) const


description: Convert Value into (clamped) T Value in range [0,1]

code: RealType GetT ( RealType Value ) const


code: [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > IntersectionWith ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O ) const


code: static [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > MakeFromUnordered ( const RealType & A, const RealType & B )


code: static [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > Empty()


code: RealType MaxAbsExtrema() const


code: [TInterval1](API\Runtime\GeometryCore\TInterval1) operator+ ( RealType f ) const


code: [TInterval1](API\Runtime\GeometryCore\TInterval1) operator- ( RealType f ) const


code: [TInterval1](API\Runtime\GeometryCore\TInterval1) operator- ( [TInterval1](API\Runtime\GeometryCore\TInterval1) V ) const


code: [TInterval1](API\Runtime\GeometryCore\TInterval1) operator* ( RealType f ) const


code: bool Overlaps ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O ) const


code: void Set ( RealType A, RealType B )


code: RealType SquaredDist ( const [TInterval1](API\Runtime\GeometryCore\TInterval1)< RealType > & O ) const


code: TInterval1 ( const RealType & Min, const RealType & Max )


code: void Set ( [TInterval1](API\Runtime\GeometryCore\TInterval1) O )


code: template<typename RealType> struct TInterval1


description: line between two points

code: static [TLine2](API\Runtime\GeometryCore\TLine2)< T > FromPoints ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Point0, const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Point1 )


description:
Calculate intersection point between this line and another one
true if lines intersect and IntersectionPointOut was computed

code: bool IntersectionPoint ( const [TLine2](API\Runtime\GeometryCore\TLine2)< T > & OtherLine, [TVector2](API\Runtime\Core\Math\TVector2)< T > & IntersectionPointOut, T ParallelDotTolerance ) const


description: nearest point on line to QueryPoint

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > NearestPoint ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


description: point on line at given line parameter value (distance along line from origin)

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > PointAt ( T LineParameter ) const


description: line parameter (ie distance from Origin) at nearest point on line to QueryPoint

code: T Project ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


description: +1 if QueryPoint is "right" of line, -1 if "left" or 0 if "on" line (up to given tolerance)

code: int WhichSide ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint, T OnLineTolerance ) const


description: smallest squared distance from line to QueryPoint

code: T DistanceSquared ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


description: Construct default line along X axis


description: Construct line with given Origin and Direction

code: TLine2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & OriginIn, const [TVector2](API\Runtime\Core\Math\TVector2)< T > & DirectionIn )


description: TLine2is a two-dimensional infinite line. The line is stored in (Center,Direction) form.

code: template<typename T> struct TLine2

Direction

type: TVector2< T >

description: Direction of Line, Normalized

Origin

description: Origin / Center Point of Line


code: T DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< T > & QueryPoint ) const


description: nearest point on line to QueryPoint

code: [TVector](API\Runtime\Core\Math\TVector)< T > NearestPoint ( const [TVector](API\Runtime\Core\Math\TVector)< T > & QueryPoint ) const


code: [TVector](API\Runtime\Core\Math\TVector)< T > PointAt ( T LineParameter ) const


description: line between two points

code: static [TLine3](API\Runtime\GeometryCore\TLine3)< T > FromPoints ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point0, const [TVector](API\Runtime\Core\Math\TVector)< T > & Point1 )


code: T Project ( const [TVector](API\Runtime\Core\Math\TVector)< T > & QueryPoint ) const


code: TLine3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & OriginIn, const [TVector](API\Runtime\Core\Math\TVector)< T > & DirectionIn )


description: TLine3is a three-dimensional infinite line. The line is stored in (Center,Direction) form.

code: template<typename T> struct TLine3

Direction

description: Direction of Line, Normalized

description: Origin / Center Point of Line


code: static RealType Abs ( const RealType Value )


code: static RealType ACos ( const RealType Value )


code: static RealType Atan2 ( const RealType ValueY, const RealType ValueX )


description: result of Atan2 shifted to [0,2pi] (normal ATan2 returns in range [-pi,pi])

code: static RealType Atan2Positive ( const RealType Y, const RealType X )


code: static RealType Ceil ( const RealType Value )


code: static RealType Clamp ( const RealType Value, const RealType ClampMin, const RealType ClampMax )


code: static RealType Exp ( const RealType Power )


code: static RealType Cos ( const RealType Value )


code: static bool IsFinite ( const RealType Value )


code: static RealType Floor ( const RealType Value )


code: static bool IsNaN ( const RealType Value )


code: static RealType Lerp ( const RealType A, const RealType B, RealType Alpha )


code: static RealType Log ( const RealType Value )


code: static RealType Max3 ( const RealType A, const RealType B, const RealType C )


code: static int32 Max3Index ( const RealType A, const RealType B, const RealType C )


code: static RealType Min ( const RealType A, const RealType B )


code: static RealType Max ( const RealType A, const RealType B )


code: static RealType Min3 ( const RealType A, const RealType B, const RealType C )


code: static int32 Min3Index ( const RealType A, const RealType B, const RealType C )


description: Compute min and max of a,b,c with max 3 comparisons (sometimes 2)

code: static void MinMax ( RealType A, RealType B, RealType C, RealType & MinOut, RealType & MaxOut )


code: static RealType Pow ( const RealType Value, const RealType Power )


code: static RealType Sign ( const RealType Value )


code: static int32 SignAsInt ( const RealType Value )


code: static RealType SignNonZero ( const RealType Value )


code: static RealType Round ( const RealType Value )


code: static RealType Sin ( const RealType Value )


code: static RealType Sqrt ( const RealType Value )


code: static RealType Tan ( const RealType Value )


className: TMathUtil

description: No constructors are accessible with public or protected access.

code: template<typename RealType> class TMathUtil : public [TMathUtilConstants< RealType >](API\Runtime\GeometryCore\TMathUtilConstants)


className: DegToRad

description: Pi / 180

code: static DegToRad = Pi / 180.0;


className: TMathUtilConstants

code: template<typename RealType> struct TMathUtilConstants


className: Epsilon

description: Machine Epsilon - float approx 1e-7, double approx 2e-16

code: static Epsilon = DBL_EPSILON;


className: FourPi

code: static FourPi = 4.0 Pi;


className: HalfPi

code: static HalfPi = 0.5 Pi;


className: InvPi

description: 1.0 / Pi

code: static InvPi = 1.0 / Pi;


className: InvTwoPi

description: 1.0 / (2*Pi)

code: static InvTwoPi = 1.0 / TwoPi;


code: static InvSqrt3 = 1.0 / Sqrt3;


className: MaxReal

description: Largest possible number for type

code: static MaxReal = DBL_MAX;


className: RadToDeg

description: 180 / pi

code: static RadToDeg = 180.0 / Pi;


description: Static constexpr double LN_2; static constexpr double LN_10; static constexpr double INV_LN_2; static constexpr double INV_LN_10;


code: static InvSqrt2 = 1.0 / Sqrt2;


className: ZeroTolerance

description: Zero tolerance for math operations (eg like parallel tests) - float 1e-6, double 1e-8

code: static ZeroTolerance = 1e-08;


className: TMathUtilConstants< double >

code: template<> struct TMathUtilConstants< double >


description: Pi / 180

code: static DegToRad = Pi / 180.0f;


code: static FourPi = 4.0f Pi;


code: static Epsilon = FLT_EPSILON;


code: static HalfPi = 0.5fPi;


description: 1.0 / Pi

code: static InvPi = 1.0f / Pi;


code: static InvSqrt2 = 1.0f / Sqrt2;


description: 1.0 / (2*Pi)

code: static InvTwoPi = 1.0f / TwoPi;


code: static InvSqrt3 = 1.0f / Sqrt3;


description: Largest possible number for type

code: static MaxReal = FLT_MAX;


description: 180 / pi

code: static RadToDeg = 180.0f / Pi;


description: Static constexpr float LN_2; static constexpr float LN_10; static constexpr float INV_LN_2; static constexpr float INV_LN_10;


code: static ZeroTolerance = 1e-06f;


code: static DegToRad = 1;


code: static InvTwoPi = 1;


className: TMathUtilConstants< float >

code: template<> struct TMathUtilConstants< float >


code: static MaxReal = ((int32)0x7fffffff);


code: static RadToDeg = 1;


code: static ZeroTolerance = 0;


className: TMathUtilConstants< int32 >

description: We use TMathUtilso we need to define these nonsense constants

code: template<> struct TMathUtilConstants< int32 >


code: static MaxReal = ((int64)0x7fffffffffffffff);


className: TMathUtilConstants< int64 >

code: template<> struct TMathUtilConstants< int64 >


code: RealType Determinant() const


code: bool EpsilonEqual ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2, RealType Epsilon ) const


code: static [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > Identity()


description: Assumes we have a rotation matrix (uniform scale ok)

code: RealType GetAngleRad()


code: RealType InnerProduct ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2 ) const


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > Inverse() const


code: RealType operator() ( int Row, int Col ) const


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & operator+= ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2 )


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > operator+ ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2 )


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > operator* ( RealType Scale ) const


code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > operator* ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V ) const


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > operator* ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2 ) const


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & operator*= ( const RealType & Scalar )


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > operator- ( const [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > & Mat2 )


code: static [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > RotationDeg ( RealType AngleDeg )


code: static [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > RotationRad ( RealType AngleRad )


code: [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > Transpose() const


code: static [TMatrix2](API\Runtime\GeometryCore\TMatrix2)< RealType > Zero()


code: TMatrix2 ( RealType ConstantValue )


code: TMatrix2 ( RealType Diag0, RealType Diag1 )


description: Construct outer-product of U*transpose(V) of U and V result is that Mij = u_i * v_j

code: TMatrix2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & U, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V )


code: TMatrix2 ( RealType M00, RealType M01, RealType M10, RealType M11 )


code: TMatrix2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V1, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & V2, bool bRows )


code: static [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > AxisAngleD ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Axis, RealType AngleDeg )


code: template<typename RealType> struct TMatrix2


code: RealType Determinant() const


code: static [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > AxisAngleR ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Axis, RealType AngleRad )


code: static [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > Identity()


code: RealType InnerProduct ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2 ) const


code: bool EpsilonEqual ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2, RealType Epsilon ) const


description: Computes |A|(A^-1)^T. This value is sometimes useful for computing rotated surface normals from a continuous deformation. Since computing the 3x3 inverse using Cramer's rule divides by the 3x3 determinant in the final step, this function avoids computing the determinant at all, since it would just cancel out.

code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > DeterminantTimesInverseTranspose() const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > Inverse() const


code: RealType operator() ( int Row, int Col ) const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > operator+ ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2 ) const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & operator+= ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2 )


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > operator* ( RealType Scale ) const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > operator* ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V ) const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & operator*= ( const RealType & Scalar )


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > operator* ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2 ) const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > operator- ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & Mat2 ) const


code: [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > TransformByTranspose ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V ) const


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > Transpose() const


code: static [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > Zero()


code: TMatrix3 ( RealType ConstantValue )


code: template<typename RealType2> constexpr TMatrix3 ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType2 > & Mat )


code: TMatrix3 ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & U, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V )


code: TMatrix3 ( RealType Diag0, RealType Diag1, RealType Diag2 )


code: TMatrix3 ( RealType M00, RealType M01, RealType M02, RealType M10, RealType M11, RealType M12, RealType M20, RealType M21, RealType M22 )


code: TMatrix3 ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V1, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V2, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & V3, bool bRows )


description: Compute the mean edge length for the given mesh.

code: static double AverageEdgeLength ( const TriangleMeshType & Mesh )


code: template<typename RealType> struct TMatrix3


description: Compute the min, max, and mean edge lengths for the given mesh. Optionally, choose a subest of size NumSamples and compute stats of that subset.

code: static void EdgeLengthStats ( const TriangleMeshType & Mesh, double & MinEdgeLength, double & MaxEdgeLength, double & AverageEdgeLength, int NumSamples )


description: Given a mesh and a subset of mesh edges, compute the min, max, and mean edge lengths.

code: static void EdgeLengthStatsFromEdges ( const TriangleMeshType & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int > & Edges, double & MinEdgeLength, double & MaxEdgeLength, double & AverageEdgeLength )


description: Expand selection of vertices with one-ring neighbors.

code: static void ExpandVertexSelectionToNeighbors ( const TriangleMeshType & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Selection, [TArray](API\Runtime\Core\Containers\TArray)< int32 > & ExpandedSelection, [TMap](API\Runtime\Core\Containers\TMap)< int32, int32 > & VIDToExpandedSelectionIdx )


description: Brute force search for all triangle intersections, sorted

code: static void FindHitTriangles_LinearSearch ( const TriangleMeshType & Mesh, const FRay3d & Ray, [TArray](API\Runtime\Core\Containers\TArray)< TPair< float, int >> & SortedHitTriangles )


description: nearest point on Mesh to P, or P if nearest point was not found

code: static FVector3d FindNearestPoint_LinearSearch ( const TriangleMeshType & Mesh, const FVector3d & P )


description: Brute force search for nearest triangle intersection

code: static int FindHitTriangle_LinearSearch ( const TriangleMeshType & Mesh, const FRay3d & Ray )


description: Brute force search for nearest triangle to Point

code: static int FindNearestTriangle_LinearSearch ( const TriangleMeshType & Mesh, const FVector3d & P )


description: Compute the length for each edge and return the result as an array of Mesh.MaxEdgeID() size. When mesh is not compact, the length of the missing edges is set to -1.0

code: static void GetAllEdgeLengths ( const TriangleMeshType & Mesh, [TArray](API\Runtime\Core\Containers\TArray)< double > & Lengths, double & TotalLength )


code: static [FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) GetBounds ( const TriangleMeshType & Mesh )


description: Brute force search for any intersecting triangles on two meshesIndexpair of IDs of first intersecting triangles found, or InvalidID if no intersection found

code: static [FIndex2i](API\Runtime\GeometryCore\FIndex2i) FindIntersectingTriangles_LinearSearch ( const TriangleMeshType & Mesh1, const TriangleMeshType & Mesh2 )


description: Get the average of the mesh vertices.

code: static FVector3d GetMeshVerticesCentroid ( const TriangleMeshType & Mesh )


description: bounding box of subset of triangles of Mesh

code: template<typename EnumerableTriListType> static [FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) GetTrianglesBounds ( const TriangleMeshType & Mesh, const EnumerableTriListType & Triangles, const FTransform & Transform )


code: static [FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) GetTriBounds ( const TriangleMeshType & Mesh, int TID )


description:
Compute triangle centroid
Computed centroid

code: static FVector3d GetTriCentroid ( const TriangleMeshType & Mesh, int TriIdx )


description: Get triangles that contain at least on vertex in the Vertices array.

code: static [TArray](API\Runtime\Core\Containers\TArray)< int32 > GetVertexSelectedTriangles ( const TriangleMeshType & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int32 > & Vertices )


description: Retrieve the area and/or angle weights for each vertex of a triangle.

code: static FVector3d GetVertexWeightsOnTriangle ( const TriangleMeshType & Mesh, int TriID, double TriArea, bool bWeightByArea, bool bWeightByAngle )


description: Compute the normal, area, and centroid of a triangle all together

code: static void GetTriNormalAreaCentroid ( const TriangleMeshType & Mesh, int TriIdx, FVector3d & Normal, double & Area, FVector3d & Centroid )


description: bounding box of subset of vertices of Mesh

code: template<typename EnumerableTriListType> static [FAxisAlignedBox3d](API\Runtime\GeometryCore\FAxisAlignedBox3d) GetVerticesBounds ( const TriangleMeshType & Mesh, const EnumerableTriListType & Vertices, const FTransform & Transform )


code: static FVector2d GetVolumeArea ( const TriangleMeshType & Mesh )


code: static FVector2d GetVolumeArea ( const TriangleMeshType & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int > & TriIndices )


code: static FVector2d GetVolumeAreaCenter ( const TriangleMeshType & Mesh, FVector3d & OutCenterOfMass )


description:
Get the volume of a mesh using a method that is more robust to inputs with holes
Mesh volume (scaled by DimScaleFactor^3)

code: static double GetVolumeNonWatertight ( const TriangleMeshType & Mesh, double DimScaleFactor )


description:
Compute all vertex-to-surface distances in parallel. Serial raw loop to find max element (usingAlgo::MaxElementwas never faster in initial benchmarking.)
The maximum distance to the surface contained in SpatialB over all vertices in MeshA.

code: template<typename MeshSpatialType> static double HausdorffDistance ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialB )


description: Compute all distances in serial, then a serial raw loop to find max. Should only be used for debugging the parallel version above!

code: template<typename MeshSpatialType> static double HausdorffDistanceSerial ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialB )


description: Compute the longest edge length for the given mesh.

code: static double MaxEdgeLength ( const TriangleMeshType & Mesh )


description: Compute the shortest edge length for the given mesh.

code: static double MinEdgeLength ( const TriangleMeshType & Mesh )


description: Compute various statistics on distances between two meshes

code: template<typename MeshSpatialType> static void MeshDistanceStatistics ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialB, const TriangleMeshType * MeshB, const MeshSpatialType * SpatialA, bool bSymmetric, double & MaxDistance, double & MinDistance, double & AverageDistance, double & RootMeanSqrDeviation )


description: Convenience function to construct a IntrRay3Triangle3 object for a Mesh triangle

code: static [FIntrRay3Triangle3d](API\Runtime\GeometryCore\Intersection\FIntrRay3Triangle3d) RayTriangleIntersection ( const TriangleMeshType & Mesh, int TriIdx, const FRay3d & Ray )


description: Given a mesh and a subset of mesh edges, compute the total length of all the edges.

code: static double TotalEdgeLength ( const TriangleMeshType & Mesh, const [TArray](API\Runtime\Core\Containers\TArray)< int > & Edges )


description: Construct a DistPoint3Triangle3 object for a Mesh triangle

code: static [FDistPoint3Triangle3d](API\Runtime\GeometryCore\Distance\FDistPoint3Triangle3d) TriangleDistance ( const TriangleMeshType & Mesh, int TriIdx, FVector3d Point )


code: static [FIntrRay3Triangle3d](API\Runtime\GeometryCore\Intersection\FIntrRay3Triangle3d) TriangleIntersection ( const TriangleMeshType & Mesh, int TriIdx, const FRay3d & Ray )


description: Because Hausdorff distance is not symmetric, we compute the maximum of the distances between two surfaces.

code: template<typename MeshSpatialType> static double TwoSidedHausdorffDistance ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialA, const TriangleMeshType & MeshB, const MeshSpatialType & SpatialB )


code: template<typename MeshSpatialType> static double TwoSidedHausdorffDistanceSerial ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialA, const TriangleMeshType & MeshB, const MeshSpatialType & SpatialB )


description: For each vertex on MeshA, compute the distance to the nearest point on the surface contained in SpatialB.

code: template<typename MeshSpatialType> static void VertexToSurfaceDistances ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialB, [TArray](API\Runtime\Core\Containers\TArray)< double > & Distances )


description: Compute all vertex-to-surface distances in serial. Should only be used for debugging the parallel version above!

code: template<typename MeshSpatialType> static void VertexToSurfaceDistancesSerial ( const TriangleMeshType & MeshA, const MeshSpatialType & SpatialB, [TArray](API\Runtime\Core\Containers\TArray)< double > & Distances )


description: Compute distance from Point to triangle in Mesh, with minimal extra objects/etc

code: static double TriDistanceSqr ( const TriangleMeshType & Mesh, int TriIdx, const FVector3d & Point )


className: TMeshQueries

code: template<class TriangleMeshType> class TMeshQueries


code: TMeshWrapperAdapterd ( WrappedMeshType * WrappedAdapterIn )


className: TMeshWrapperAdapterd

description: TMeshWrapperAdapterdcan be used to present an arbitrary Mesh / Adapter type as a FTriangleMeshAdapterd. This is useful in cases where it would be difficult or undesirable to write code templated on the standard "Mesh Type" signature. If the code is written for FTriangleMeshAdapterd then this shim can be used to present any compatible mesh type as a FTriangleMeshAdapterd

code: template<class WrappedMeshType> struct TMeshWrapperAdapterd : public [UE::Geometry::TTriangleMeshAdapter< double >](API\Runtime\GeometryCore\TTriangleMeshAdapter)

WrappedAdapter

type: WrappedMeshType...


description: area of box

code: RealType Area() const


description: X axis of the box

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > AxisX() const


description: Y axis of the box (the X axis rotated 90 degrees counter-clockwise)

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > AxisY() const


description: center of the box

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > Center() const


description:
Find closest point on box
Closest point on box. Input point is returned if it is inside box.

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > ClosestPoint ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


description: vector from minimum-corner to maximum-corner of box

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > Diagonal() const


description: true if box contains point

code: bool Contains ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


description:
Find squared distance to box.
Squared distance from point to box, or 0 if point is inside box

code: RealType DistanceSquared ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


description: Call CornerPointFunc(TVector2) for each of the 4 box corners. Order is the same as GetCorner(X).

code: template<typename PointFuncType> void EnumerateCorners ( PointFuncType CornerPointFunc ) const


description: Point transformed from the local space of the box (Origin at box center, Axes aligned to box)

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > FromLocalSpace ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


description: Corner point on the box identified by the given index. Ordering is: [ (-x,-y), (x,-y), (x,y), (-x,y) ]

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetCorner ( int Index ) const


description: an axis of the box

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > GetAxis ( int AxisIndex ) const


description:
Get whether the corner atIndex(see GetCorner documentation comment) is in the negative or positive direction for each axis
Index2i with 0 or 1 for each axis, 0 if corner is in the negative direction for that axis, 1 if in the positive direction

code: static [FIndex2i](API\Runtime\GeometryCore\FIndex2i) GetCornerSide ( int Index )


description: perimeter of box

code: RealType Perimeter() const


description:
Call CornerPointPredicate(TVector2) for each of the 4 box corners, with early-out if any call returns false
true if all tests pass

code: template<typename PointPredicateType> bool TestCorners ( PointPredicateType CornerPointPredicate ) const


code: void SetAngleRadians ( RealType AngleRad )


description: box with unit dimensions where minimum corner is at origin

code: static [TOrientedBox2](API\Runtime\GeometryCore\TOrientedBox2)< RealType > UnitPositive()


description: box with unit dimensions centered at origin

code: static [TOrientedBox2](API\Runtime\GeometryCore\TOrientedBox2)< RealType > UnitZeroCentered()


description: Point transformed to the local space of the box (Origin at box center, Axes aligned to box)

code: [TVector2](API\Runtime\Core\Math\TVector2)< RealType > ToLocalSpace ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & Point ) const


description: Create oriented box from axis-aligned box

code: TOrientedBox2 ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< RealType > & AxisBox )


description: Create axis-aligned box with given Origin and Extents

code: TOrientedBox2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & OriginIn, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & ExtentsIn )


description: Create oriented box with given Origin, X Axis and Extents

code: TOrientedBox2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & OriginIn, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & XAxisIn, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & ExtentsIn )


description: Create oriented box with given Origin, Angle (in radians) and Extents

code: TOrientedBox2 ( const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & OriginIn, RealType AngleRad, const [TVector2](API\Runtime\Core\Math\TVector2)< RealType > & ExtentsIn )


code: template<typename RealType> struct TOrientedBox2

Extents

description: Half-dimensions of box measured along the two axes

Origin

description: Center of the box.

UnitAxisX

description: X Axis of the box  must be normalized.


description: X axis of the box

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisX() const


description: Z axis of the box

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisZ() const


description: Y axis of the box

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisY() const


description: center of the box

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Center() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > ClosestPoint ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


code: RealType DistanceSquared ( [TVector](API\Runtime\Core\Math\TVector)< RealType > Point ) const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > Diagonal() const


description: Call CornerPointFunc(FVector3) for each of the 8 box corners. Order is the same as GetCorner(X). This is more efficient than calling GetCorner(X) because the Rotation matrix is only computed once.

code: template<typename PointFuncType> void EnumerateCorners ( PointFuncType CornerPointFunc ) const


description: an axis of the box

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetAxis ( int AxisIndex ) const


description:
76 +z or 32 -z |\ |\ |\ |\ 4--5 \ 0--1 \ \ 32 \ 76 | | | | 01 -z 45 +z
Corner point on the box identified by the given index. See diagram in OrientedBoxTypes.h for index/corner mapping.

code: [TVector](API\Runtime\Core\Math\TVector)< RealType > GetCorner ( int Index ) const


description: true if box contains point

code: bool Contains ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point ) const


description: Create a merged TOrientedBox, encompassing this box and one other. Uses heuristics to test a few possible orientations and pick the smallest-volume result. Not an optimal fit.

code: [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< RealType > Merge ( const [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< RealType > & Other, bool bOnlyConsiderExistingAxes ) const


description:
Get whether the corner atIndex(see diagram in GetCorner documentation comment) is in the negative or positive direction for each axis
Index3i with 0 or 1 for each axis, 0 if corner is in the negative direction for that axis, 1 if in the positive direction

code: static [FIndex3i](API\Runtime\GeometryCore\FIndex3i) GetCornerSide ( int Index )


description: surface area of box

code: RealType SurfaceArea() const


description:
Call CornerPointPredicate(FVector3) for each of the 8 box corners, with early-out if any call returns false
true if all tests pass

code: template<typename PointPredicateType> bool TestCorners ( PointPredicateType CornerPointPredicate ) const


code: static [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< RealType > UnitPositive()


code: static [TOrientedBox3](API\Runtime\GeometryCore\TOrientedBox3)< RealType > UnitZeroCentered()


description: volume of box

code: RealType Volume() const


code: TOrientedBox3 ( const [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< RealType > & AxisBox )


code: TOrientedBox3 ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Origin, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & ExtentsIn )


description: Create oriented box with given Frame and Extents

code: TOrientedBox3 ( const [TFrame3](API\Runtime\GeometryCore\TFrame3)< RealType > & FrameIn, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & ExtentsIn )


description:
Clip line segment defined by two points against plane. Region of Segment on positive side of Plane is kept.
FullyClipped if the segment lies fully behind or exactly in the plane FirstClipped if Point0 became the intersection point on the plane SecondClipped if Point1 became the intersection point on the plane NotClipped if the segment lies fully in front of the plane

code: [EClipSegmentType](API\Runtime\GeometryCore\TPlane3\EClipSegmentType) ClipSegment ( [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Point0, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Point1 ) const


description: TOrientedBox3is a non-axis-aligned 3D box defined by a 3D frame and extents along the axes of that frame The frame is at the center of the box.

code: template<typename RealType> struct TOrientedBox3

Extents

description: Half-dimensions of box measured along the three axes

Frame

description: 3D position (center) and orientation (axes) of the box


description: Compute d = Dot(N,P)-c where N is the plane normal and c is the plane constant. This is a signed distance. The sign of the return value is positive if the point is on the positive side of the plane, negative if the point is on the negative side, and zero if the point is on the plane.

code: double DistanceTo ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & P ) const


description:
Compute intersection of Line with Plane
true if Line intersects Plane and IntersectionPointOut is valid

code: bool FindLineIntersection ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & LineOrigin, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & LineDirection, [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & IntersectionPointOut ) const


className: EClipSegmentType

code: enum EClipSegmentType { FullyClipped, FirstClipped, SecondClipped, NotClipped, }


description: Transform the plane by the inverse of the given transform

code: void InverseTransform ( const [TTransform](API\Runtime\Core\Math\TTransform)< RealType > & Tr )


className: TPlane3::operator FPlane

code: operator FPlane() const


description: Transform the plane by the given transform

code: void Transform ( const [TTransform](API\Runtime\Core\Math\TTransform)< RealType > & Tr )


description: The "positive side" of the plane is the half space to which the plane normal points. The "negative side" is the other half space. The function returns +1 when P is on the positive side, -1 when P is on the the negative side, or 0 when P is on the plane.

code: int WhichSide ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & P ) const


code: TPlane3 ( const FPlane & Plane )


code: TPlane3 ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Normal, double Constant )


description: N is specified, c = Dot(N,P) where P is a point on the plane.

code: TPlane3 ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Normal, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & Point )


description: N = Cross(P1-P0,P2-P0)/Length(Cross(P1-P0,P2-P0)), c = Dot(N,P0) where P0, P1, P2 are points on the plane.

code: TPlane3 ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & P0, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & P1, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & P2 )


code: template<typename RealType> struct TPlane3


className: TPointSetAdapter

description: TPointSetAdapterprovides a very generic interface to an indexable list of points. The list may be sparse, ie some indices may be invalid.

code: template<typename RealType> struct TPointSetAdapter

GetPoint

type: TFunction<TVec...

description: Get point at this index

GetPointNormal

type: TFunction< FVec...

description: Get the normal at a point index

HasNormals

type: TFunction< bool...

description: Returns true if this point set has per-point normals

IsPoint

description: Returns true if this index valid

MaxPointID

type: TFunction< int3...

description: Maximum point index

PointCount

description: Number of points. If PointCount == MaxPointID, then there are no gaps in the index list


description: Add a vertex to the Polygon

code: void AppendVertex ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Position )


description: Add a list of Vertices to the Polygon

code: void AppendVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< T >> & NewVertices )


description: the unsigned area of the Polygon

code: T Area() const


description: the bounding box of the Polygon Vertices

code: [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< T > Bounds() const


description: Chamfer each vertex corner of the Polygon

code: void Chamfer ( T ChamferDist, T MinConvexAngleDeg, T MinConcaveAngleDeg )


description: average edge length of all the edges of the Polygon

code: T AverageEdgeLength() const


description: Clip polygon to the given bounds. Note that if the polygon is not convex, it may have overlapping edges at the bounds.

code: void ClipConvex ( const [TAxisAlignedBox2](API\Runtime\GeometryCore\TAxisAlignedBox2)< T > & Bounds )


description: true if the Polygon fully contains the OtherPolygon

code: bool Contains ( const [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & OtherPoly ) const


description: true if the given query point is inside the Polygon, based on the winding integral

code: bool Contains ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


description: true if the Segment is fully contained inside the Polygon

code: bool Contains ( const [TSegment2](API\Runtime\GeometryCore\TSegment2)< T > & Segment ) const


description:
Calculate the squared distance from a point to the polygon
squared distance to the polygon

code: T DistanceSquared ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


code: T DistanceSquared ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint, int & NearestSegIndexOut, T & NearestSegParamOut ) const


description:
Find all the points where an edge of the Polygon intersects an edge of the OtherPolygon
true if any intersections were found

code: bool FindIntersections ( const [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & OtherPoly, [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< T >> & OutArray ) const


description: Get the normal vector at a vertex of the polygon, which is perpendicular toGetTangent()Points "inward" for a Clockwise Polygon, and outward for CounterClockwise

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetNormal ( int VertexIndex ) const


description: interpolated normal to the segment at the given parameter value

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetNormal ( int iSeg, T SegmentParam ) const


description: Construct a normal at a vertex of the Polygon by averaging the adjacent face normals. This vector is independent of the lengths of the adjacent segments. Points "inward" for a Clockwise Polygon, and outward for CounterClockwise

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetNormal_FaceAvg ( int VertexIndex ) const


description: point on the segment at the given parameter value

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetSegmentPointUnitParam ( int SegmentIndex, T SegmentParam ) const


description: Get the tangent vector at a vertex of the polygon, which is the normalized vector from the previous vertex to the next vertex

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetTangent ( int VertexIndex ) const


code: [TVector2](API\Runtime\Core\Math\TVector2)< T > GetSegmentPoint ( int SegmentIndex, T SegmentParam ) const


description: list of Vertices of Polygon

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< T > > & GetVertices() const


description: true if the Polygon Vertices have Clockwise winding order / orientation (signed area is negative)

code: bool IsClockwise() const


description: true if polygon is convex

code: bool IsConvex ( T RadiansTolerance, bool bDegenerateIsConvex ) const


description: Construct a circular polygon

code: static [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > MakeCircle ( T Radius, int Steps, T AngleShiftRadians )


description: Construct a four-vertex rectangle polygon

code: static [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > MakeRectangle ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Center, T Width, T Height )


description: Construct a rounded rectangle polygon

code: static [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > MakeRoundedRectangle ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Center, T Width, T Height, T Corner, int CornerSteps )


description: Get the previous and next vertex positions for a given vertex of the Polygon

code: void NeighbourPoints ( int VertexIdx, [TVector2](API\Runtime\Core\Math\TVector2)< T > & OutPrevNbr, [TVector2](API\Runtime\Core\Math\TVector2)< T > & OutNextNbr ) const


description: true if the Segment intersects an edge of the Polygon

code: bool Intersects ( const [TSegment2](API\Runtime\GeometryCore\TSegment2)< T > & Segment ) const


description: true if at least one edge of the OtherPolygon intersects the Polygon

code: bool Intersects ( const [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & OtherPoly ) const


description: Get the vectors from a given vertex to the previous and next Vertices, optionally normalized

code: void NeighbourVectors ( int VertexIdx, [TVector2](API\Runtime\Core\Math\TVector2)< T > & OutToPrev, [TVector2](API\Runtime\Core\Math\TVector2)< T > & OutToNext, bool bNormalize ) const


description: the opening angle in degrees at a vertex of the Polygon

code: T OpeningAngleDeg ( int iVertex ) const


description: Get the vertex at a given index

code: const [TVector2](API\Runtime\Core\Math\TVector2)< T > & operator[] ( int Index ) const


description: Get the vertex at a given index

code: [TVector2](API\Runtime\Core\Math\TVector2)< T > & operator[] ( int Index )


description:
Check for polygon overlap, aka solid intersection. (In contrast, note that the "Intersects" method checks for edge intersection)
true if the Polygon overlaps the OtherPolygon.

code: bool Overlaps ( const [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & OtherPoly ) const


description: the total perimeter length of the Polygon

code: T Perimeter() const


description: Offset polygon by fixed distance, by offsetting and intersecting edges. CounterClockWise Polygon offsets "outwards", ClockWise "inwards".

code: void PolyOffset ( T OffsetDistance )


description: Remove a vertex of the Polygon (existing Vertices are shifted)

code: void RemoveVertex ( int VertexIndex )


description: Reverse the order of the Vertices in the Polygon (ie switch between Clockwise and CounterClockwise)

code: void Reverse()


description:
Scale the Polygon relative to a given point
the Polygon, so that you can chain calls likeTranslate().Scale()

code: [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & Scale ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Scale, const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Origin )


description: edge of the polygon starting at vertex SegmentIndex

code: [TSegment2](API\Runtime\GeometryCore\TSegment2)< T > Segment ( int SegmentIndex ) const


className: SegmentEnumerable

description: Wrapper aroundSegmentIteratorthat hasbegin()andend()suitable for range-based for loop

code: class SegmentEnumerable


code: bool operator&61;&61; &40; const SegmentIterator & i2 &41; const


code: TSegment2< T > operator&42;&40;&41; const


code: bool operator&33;&61; &40; const SegmentIterator & i2 &41; const


code: SegmentIterator operator&43;&43; &40; int &41;


description: Inline TSegment2&operator*();


code: SegmentIterator &40; const TPolygon2 &42; p, int iCur &41;


className: SegmentIterator

description: SegmentIteratoris used to iterate over the TSegment2segments of the polygon

code: class SegmentIterator

i

type: int


code: SegmentEnumerable &40; const TPolygon2< T > &42; p &41;


description: an object that can be used in a range-based for loop to iterate over the Segments of the Polygon


description: Set vertex at given index to a new Position

code: void Set ( int VertexIndex, const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Position )


description: Replace the list of Vertices with a new list

code: void SetVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< T >> & NewVertices )


description: the signed area of the Polygon

code: T SignedArea() const


description: Simplify the Polygon to reduce the vertex count

code: void Simplify ( T ClusterTolerance, T LineDeviationTolerance )


description: first vertex of Polygon

code: const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Start() const


description:
Apply an arbitrary transformation to the Polygon
the Polygon, so that you can chain calls likeTranslate().Scale()

code: [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & Transform ( const [TFunction](API\Runtime\Core\GenericPlatform\TFunction)< [TVector2](API\Runtime\Core\Math\TVector2)< T >(const [TVector2](API\Runtime\Core\Math\TVector2)< T > &)> & TransformFunc )


description:
Translate the polygon
the Polygon, so that you can chain calls likeTranslate().Scale()

code: [TPolygon2](API\Runtime\GeometryCore\TPolygon2)< T > & Translate ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & Translate )


description: number of Vertices in Polygon

code: int VertexCount() const


description: Offset each point by the given Distance along vertex "normal" direction

code: void VtxNormalOffset ( T OffsetDistance, bool bUseFaceAvg )


description: analytic winding integral for this Polygon at an arbitrary point

code: T WindingIntegral ( const [TVector2](API\Runtime\Core\Math\TVector2)< T > & QueryPoint ) const


description: Construct polygon with given list of vertices

code: TPolygon2 ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector2](API\Runtime\Core\Math\TVector2)< T >> & VertexList )


code: template<typename OtherVertexType> TPolygon2 ( const [TArray](API\Runtime\Core\Containers\TArray)< OtherVertexType > & VertexList )


description: Construct polygon with given indices into a vertex array

code: TPolygon2 ( [TArrayView](API\Runtime\Core\Containers\TArrayView)< const [TVector2](API\Runtime\Core\Math\TVector2)< T >> VertexArray, [TArrayView](API\Runtime\Core\Containers\TArrayView)< const int32 > VertexIndices )


description: TPolygon2is a 2D polygon represented as a list of Vertices.

code: template<typename T> class TPolygon2

Vertices

type: TArray<TVector...

description: The list of vertices/corners of the polygon


description: Add a vertex to the polyline

code: void AppendVertex ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Position )


description: Add a list of Vertices to the polyline

code: void AppendVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< T >> & NewVertices )


description: Add a list of Vertices to the polyline

code: template<typename VectorType> void AppendVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< VectorType > & NewVertices )


description: average edge length of all the edges of the Polygon

code: T AverageEdgeLength() const


description: Discard all vertices of polyline

code: void Clear()


description:
Calculate the squared distance from a point to the polyline
squared distance to the polyline

code: T DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< T > & QueryPoint ) const


code: T DistanceSquared ( const [TVector](API\Runtime\Core\Math\TVector)< T > & QueryPoint, int & NearestSegIndexOut, T & NearestSegParamOut ) const


description: last vertex of polyline

code: const [TVector](API\Runtime\Core\Math\TVector)< T > & End() const


description: the bounding box of the polyline Vertices

code: [TAxisAlignedBox3](API\Runtime\GeometryCore\TAxisAlignedBox3)< T > GetBounds() const


description: edge of the polyline starting at vertex SegmentIndex

code: [TSegment3](API\Runtime\GeometryCore\TSegment3)< T > GetSegment ( int SegmentIndex ) const


description: point on the segment at the given parameter value

code: [TVector](API\Runtime\Core\Math\TVector)< T > GetSegmentPoint ( int SegmentIndex, T SegmentParam ) const


code: [TVector](API\Runtime\Core\Math\TVector)< T > GetSegmentPointUnitParam ( int SegmentIndex, T SegmentParam ) const


description: Get the tangent vector at a vertex of the polyline, which is the normalized vector from the previous vertex to the next vertex

code: [TVector](API\Runtime\Core\Math\TVector)< T > GetTangent ( int VertexIndex ) const


description: list of Vertices of polyline

code: const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< T > > & GetVertices() const


description: the total perimeter length of the Polygon

code: T Length() const


description: Get the vertex at a given index

code: const [TVector](API\Runtime\Core\Math\TVector)< T > & operator[] ( int Index ) const


description: Get the vertex at a given index

code: [TVector](API\Runtime\Core\Math\TVector)< T > & operator[] ( int Index )


description: Remove a vertex of the polyline (existing Vertices are shifted)

code: void RemoveVertex ( int VertexIndex )


description: number of segments in polyline

code: int SegmentCount() const


description: Reverse the order of the Vertices in the polyline (ie switch between Clockwise and CounterClockwise)

code: void Reverse()


code: SegmentEnumerable &40; const TPolyline3< T > &42; p &41;


description: Wrapper aroundSegmentIteratorthat hasbegin()andend()suitable for range-based for loop

code: class SegmentEnumerable

Polyline

type: constTPolyline...


code: bool operator&61;&61; &40; const SegmentIterator & i3 &41;


code: bool operator&33;&61; &40; const SegmentIterator & i3 &41;


code: TSegment3< T > operator&42;&40;&41; const


code: SegmentIterator &40; const TPolyline3 &42; p, int iCur &41;


description: SegmentIteratoris used to iterate over the TSegment3segments of the polyline

code: class SegmentIterator


description: an object that can be used in a range-based for loop to iterate over the Segments of the Polyline


description: Set vertex at given index to a new Position

code: void Set ( int VertexIndex, const [TVector](API\Runtime\Core\Math\TVector)< T > & Position )


description: Produce a new polyline that is smoother than this one

code: void SmoothSubdivide ( [TPolyline3](API\Runtime\GeometryCore\TPolyline3)< T > & NewPolyline ) const


code: SegmentIterator operator&43;&43; &40; int &41;


description: first vertex of polyline

code: const [TVector](API\Runtime\Core\Math\TVector)< T > & Start() const


description: number of Vertices in polyline

code: int VertexCount() const


description: Construct polyline with given list of vertices

code: TPolyline3 ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< T >> & VertexList )


description: Construct a single-segment polyline

code: TPolyline3 ( const [TVector](API\Runtime\Core\Math\TVector)< T > & Point0, const [TVector](API\Runtime\Core\Math\TVector)< T > & Point1 )


description: Replace the list of Vertices with a new list

code: void SetVertices ( const [TArray](API\Runtime\Core\Containers\TArray)< [TVector](API\Runtime\Core\Math\TVector)< T >> & NewVertices )


description: TPolyline3represents a 3D polyline stored as a list of Vertices.

code: template<typename T> class TPolyline3

Vertices

description: The list of vertices of the polyline


code: void Add ( const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


description: Add scalar multiple of aTQuadricErrorto thisTQuadricError

code: void Add ( RealType w, const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


code: void AddSeamQuadric ( const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


description: Evaluates p*A*p + 2*dot(p,b) + c

code: RealType Evaluate ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & pt ) const


code: static bool InvertSymmetricMatrix ( const RealType SM, RealType InvSM, RealType minThresh )


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > MultiplyA ( const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & pt ) const


code: static [TVector](API\Runtime\Core\Math\TVector)< RealType > MultiplySymmetricMatrix ( const RealType SM, const RealType vec )


code: static [TVector](API\Runtime\Core\Math\TVector)< RealType > MultiplySymmetricMatrix ( const RealType SM, const [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & vec )


code: bool OptimalPoint ( [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & OutResult, RealType minThresh ) const


className: ScalarType

code: typedef RealType ScalarType


description: Scale this quadric by the weight 'w'

code: void Scale ( RealType w )


code: bool SolveAxEqualsb ( [UE::Math::TVector](API\Runtime\Core\Math\TVector)< RealType > & OutResult, const RealType bvecx, const RealType bvecy, const RealType bvecz, const RealType minThresh ) const


code: void SubtractSeamQuadric ( const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


code: void Subtract ( const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


description: ConstructTQuadricErrora plane with the given normal and a point on plane

code: TQuadricError ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Normal, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Point )


description: ConstructTQuadricErrorthat is the sum of two other TQuadricErrors

code: TQuadricError ( const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & a, const [TQuadricError](API\Runtime\GeometryCore\TQuadricError) & b )


className: TQuadricError

description: QuadricError represents a quadratic function that evaluates distance to plane. Stores minimal 10-coefficient form, followinghttp://mgarland.org/files/papers/qtheory.pdf(symmetric matrix A, vector b, constant c)

code: template<typename RealType> struct TQuadricError

Axx

type: RealType


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisX() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisY() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > AxisZ() const


code: RealType Dot ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & Other ) const


code: bool EpsilonEqual ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & Other, RealType Epsilon ) const


code: void GetAxes ( [TVector](API\Runtime\Core\Math\TVector)< RealType > & X, [TVector](API\Runtime\Core\Math\TVector)< RealType > & Y, [TVector](API\Runtime\Core\Math\TVector)< RealType > & Z ) const


code: static [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > Identity()


code: [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > Inverse() const


code: [TVector](API\Runtime\Core\Math\TVector)< RealType > InverseMultiply ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Other ) const


code: RealType Normalize ( const RealType epsilon )


code: [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > Normalized ( const RealType epsilon ) const


className: TQuaternion::operator FQuat4d

code: operator FQuat4d() const


className: TQuaternion::operator FRotator

code: operator FRotator() const


className: TQuaternion::operator FQuat4f

description: Available for porting: SetFromRotationMatrix(FMatrix3f)

code: operator FQuat4f() const


className: TQuaternion::operator UE::Math::TVector4< RealType >

code: namespace operator UE { namespace Math { operator UE::Math::TVector4< RealType >() const } }


code: [TQuaternion](API\Runtime\GeometryCore\TQuaternion) & operator= ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion) & Copy )


code: constexpr [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > operator-() const


code: RealType & operator[] ( int i )


code: const RealType & operator[] ( int i ) const


code: void SetAxisAngleD ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Axis, RealType AngleDeg )


code: void SetAxisAngleR ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & Axis, RealType AngleRad )


code: void SetFromRotationMatrix ( const [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > & RotationMatrix )


description: This function can take non-normalized vectors vFrom and vTo (normalizes internally)

code: void SetFromTo ( const [TVector](API\Runtime\Core\Math\TVector)< RealType > & From, const [TVector](API\Runtime\Core\Math\TVector)< RealType > & To )


code: RealType SquaredLength() const


code: void SetToSlerp ( [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > From, [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > To, RealType InterpT )


code: [TMatrix3](API\Runtime\GeometryCore\TMatrix3)< RealType > ToRotationMatrix() const


code: static [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > Zero()


code: TQuaternion ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & From, const [TQuaternion](API\Runtime\GeometryCore\TQuaternion)< RealType > & To, RealType InterpT )


code: TQuaternion ( RealType X, RealType Y, RealType Z, RealType W )


code: TQuaternion ( const RealType * Values )


code: [PRAGMA_DISABLE_DEPRECATION_WARNINGS](API\Plugins\ModelingComponents\Baking\PRAGMA_DISABLE_DEPRECATION_WARNI-) TQuaternion ( const [TQuaternion](API\Runtime\GeometryCore\TQuaternion) & Copy )