GeometricObjects

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public class

FGeometricObjectsModule

Public struct

FIndex2i

2-index tuple.

Public struct

FIndex3i

3-index tuple.

Public struct

FIndex4i

4-index tuple.

Public struct

FVector2

Templated 2D Vector.

Public struct

FVector3

Templated 3D Vector.

Public class

TAttrBasedQuadricError

Quadric Error type for use in volume memory-less simplification with volume preservation constraints.

Public struct

TAxisAlignedBox2

Public struct

TAxisAlignedBox3

Public struct

TCapsule3

3D Capsule stored as Line Segment and Radius

Public struct

TCircle2

Public struct

TCircle3

Public struct

TFrame3

TFrame3 is an object that represents an oriented 3D coordinate frame, ie orthogonal X/Y/Z axes at a point in space.

Public struct

THalfspace3

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

Public class

TIndexedWeightMap

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

Public struct

TIndexMap

TIndexMap stores mappings between indices, which are assumed to be an integer type.

Public struct

TIndexMeshArrayAdapter

Faster adapter specifically for the common index mesh case

Public struct

TIndexVectorMeshArrayAdapter

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

Public struct

TInterval1

Public struct

TLine2

TLine2 is a two-dimensional infinite line.

Public struct

TLine3

TLine3 is a three-dimensional infinite line.

Public class

TMathUtil

Public struct

TMathUtilConstants

Math constants and utility functions, templated on float/double type

Public struct

TMatrix2

Public struct

TMatrix3

Public class

TMeshQueries

Public struct

TOrientedBox3

TOrientedBox3 is 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.

Public struct

TPlane3

Public struct

TPointSetAdapter

TPointSetAdapter provides a very generic interface to an indexable list of points.

Public class

TPolygon2

TPolygon2 is a 2D polygon represented as a list of Vertices.

Public class

TPolyline3

TPolyline3 represents a 3D polyline stored as a list of Vertices.

Public struct

TQuadricError

QuadricError represents a quadratic function that evaluates distance to plane.

Public struct

TQuaternion

Public class

TRay3

3D Ray stored as Origin point and normalized Direction vector

Public struct

TSegment2

2D Line Segment stored as Center point, normalized Direction vector, and scalar Extent

Public struct

TSegment3

3D Line Segment stored as Center point, normalized Direction vector, and scalar Extent

Public struct

TSphere3

3D Sphere stored as Center point and Radius

Public class

TTransform3

TTransform3 is a double/float templated version of standard UEFTransform.

Public struct

TTriangle2

Public struct

TTriangle3

Public struct

TTriangleMeshAdapter

Most generic / lazy example of a triangle mesh adapter; possibly useful for prototyping / building on top of (but slower than making a more specific-case adapter)

Public struct

TVector4

Public class

TVolPresQuadricError

Quadric Error type for use in memory-less simplification with volume preservation constraints.

Typedefs

Enums

Name

Description

Public enum

EIntersectionResult

Public enum

EIntersectionType

Public enum

EMeshResult

EMeshResult is returned by various mesh/graph operations to either indicate success, or communicate which type of error ocurred (some errors are recoverable, and some not).

Public enum

EOperationValidationResult

EOperationValidationResult is meant to be returned by Validate() functions of Operation classes (eg like ExtrudeMesh, etc) to indicate whether the operation can be successfully applied.

Public enum

EValidityCheckFailMode

EValidityCheckFailMode is passed to CheckValidity() functions of various classes to specify how validity checks should fail.

Functions

Name Description

Public function

TQuadricErro...

 

CreateSeamQuadric

(
    const FVector3< RealType >& p0,
    const FVector3< RealType >& p1,
    FVector3< RealType > AdjFaceNormal
)

A "Seam Quadric" is a quadric defined with respect to the plane passing through the edge p1-p0, but perpendicular to the adjacent face.

Public function Static

TMatrix3< Re...

 

CrossProductMatrix

(
    const FVector3< RealType >& A
)

Skew-Symmetric matrix such that A X B = CrossProductMatrix(A) * B;.

Public function

FTriangleMes...

 

GetArrayMesh

(
    TArray< FVector >& Vertices,
    TArray< FIntVector >& Triangles
)

Example function to generate a generic mesh adapter from arrays

Public function

uint32

 

GetTypeHash

(
    const FIndex2i& Index
)

Public function

uint32

 

GetTypeHash

(
    const FIndex3i& Index
)

Public function

uint32

 

GetTypeHash

(
    const FIndex4i& Index
)

Public function

uint32

 

GetTypeHash

(
    const FVector3< T >& Vector
)

Public function

uint32

 

GetTypeHash

(
    const FVector2< T >& Vector
)

Public function

uint32

 

GetTypeHash

(
    const TVector4< T >& Vector
)

Public function

void

 

MeshAdapterTransforms::ApplyTransform

(
    TriangleMeshType& Mesh,
    const FTransform3d& Transform
)

Apply given Transform to a Mesh.

Public function

void

 

MeshAdapterTransforms::ApplyTransform

(
    TriangleMeshType& Mesh,
    TFunctionRef< FVector3d...,
    TFunctionRef< FVector3f...
)

Apply given Transform to a Mesh.

Public function

void

 

MeshAdapterTransforms::ApplyTransformInverse

(
    TriangleMeshType& Mesh,
    const FTransform3d& Transform
)

Apply inverse of given Transform to a Mesh.

Public function

void

 

MeshAdapterTransforms::FrameCoordsToWorld

(
    TriangleMeshType& Mesh,
    const FFrame3d& Frame
)

Transform Mesh out of local coordinates of Frame

Public function

void

 

MeshAdapterTransforms::Translate

(
    TriangleMeshType& Mesh,
    const FVector3d& Translation
)

Apply Translation to vertex positions of Mesh. Does not modify any other attributes.

Public function

void

 

MeshAdapterTransforms::WorldToFrameCoords

(
    TriangleMeshType& Mesh,
    const FFrame3d& Frame
)

Transform Mesh into local coordinates of Frame

Public function

TQuaternion<...

 

operator-

(
    const TQuaternion< RealType >& A,
    const TQuaternion< RealType >& B
)

Public function

FVector2< Re...

 

operator*

(
    RealType Scalar,
    const FVector2< RealType >& V
)

Public function

TMatrix3< Re...

 

operator*

(
    RealType Scale,
    const TMatrix3< RealType >& Mat
)

Public function

FVector3< Re...

 

operator*

(
    const TQuaternion< RealType >& Q,
    const FVector3< RealType >& V
)

Public function

FVector3< Re...

 

operator*

(
    RealType Scalar,
    const FVector3< RealType >& V
)

Public function

FVector3< Re...

 

operator*

(
    RealType2 Scalar,
    const FVector3< RealType >& V
)

Allow float*Vector3 and double*Vector3

Public function

FVector2< Re...

 

operator*

(
    RealType2 Scalar,
    const FVector2< RealType >& V
)

Allow float*Vector2 and double*Vector2

Public function

TQuaternion<...

 

operator*

(
    const TQuaternion< RealType >& A,
    const TQuaternion< RealType >& B
)

Public function

TVector4< Re...

 

operator*

(
    RealType2 Scalar,
    const TVector4< RealType >& V
)

Allow float*Vector4 and double*Vector4

Public function

TMatrix2< Re...

 

operator*

(
    RealType Scale,
    const TMatrix2< RealType >& Mat
)

Public function

TVector4< Re...

 

operator*

(
    RealType Scalar,
    const TVector4< RealType >& V
)

Public function

RealType

 

TriangleUtil::EquilateralEdgeLengthForArea

(
    RealType TriArea
)

Public function

RealType

 

VectorUtil::Area

(
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2
)

Public function

RealType

 

VectorUtil::Area

(
    const FVector2< RealType >& V0,
    const FVector2< RealType >& V1,
    const FVector2< RealType >& V2
)

Public function

double

 

VectorUtil::AspectRatio

(
    const FVector3d& v1,
    const FVector3d& v2,
    const FVector3d& v3
)

Public function

FVector3< Re...

 

VectorUtil::BarycentricCoords

(
    const FVector3< RealType >& Point,
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2
)

Compute barycentric coordinates/weights of vPoint inside 3D triangle (V0,V1,V2).

Public function

FVector3< Re...

 

VectorUtil::BarycentricCoords

(
    const FVector2< RealType >& Point,
    const FVector2< RealType >& V0,
    const FVector2< RealType >& V1,
    const FVector2< RealType >& V2
)

Compute barycentric coordinates/weights of vPoint inside 2D triangle (V0,V1,V2).

Public function

FVector3< Re...

 

VectorUtil::Bitangent

(
    const FVector3< RealType >& Normal...,
    const FVector3< RealType >& Tangen...,
    RealType BitangentSign
)

Public function

FVector3< Re...

 

VectorUtil::BitangentFromTangent

(
    const FVector3< RealType >& Normal...,
    const FVector3< RealType >& Tangen...
)

Public function

RealType

 

VectorUtil::BitangentSign

(
    const FVector3< RealType >& Normal...,
    const FVector3< RealType >& Tangen...,
    const FVector3< RealType >& Bitang...
)

Public function

RealType

 

VectorUtil::Clamp

(
    RealType Value,
    RealType MinValue,
    RealType MaxValue
)

Public function

bool

 

VectorUtil::EpsilonEqual

(
    RealType A,
    RealType B,
    RealType Epsilon
)

Public function

bool

 

VectorUtil::EpsilonEqual

(
    const FVector2< RealType >& V0,
    const FVector2< RealType >& V1,
    RealType Epsilon
)

Public function

bool

 

VectorUtil::EpsilonEqual

(
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    RealType Epsilon
)

Public function

bool

 

VectorUtil::IsFinite

(
    const FVector3< RealType >& V
)

Public function

bool

 

VectorUtil::IsFinite

(
    const FVector2< RealType >& V
)

Public function

bool

 

VectorUtil::IsObtuse

(
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2,
    const FVector3< RealType >& V3
)

Public function

void

 

VectorUtil::MakePerpVector

(
    const FVector3< RealType >& Normal,
    FVector3< RealType >& OutPerp1
)

Calculates one vector perpendicular to input Normal, as efficiently as possible.

Public function

void

 

VectorUtil::MakePerpVectors

(
    const FVector3< RealType >& Normal,
    FVector3< RealType >& OutPerp1,
    FVector3< RealType >& OutPerp2
)

Calculates two vectors perpendicular to input Normal, as efficiently as possible.

Public function

int

 

VectorUtil::Min3Index

(
    const ValueVecType& Vector3
)

Public function

FVector3< Re...

 

VectorUtil::Normal

(
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2
)

Public function

FVector3< Re...

 

VectorUtil::NormalArea

(
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2,
    RealType& AreaOut
)

Calculate Normal and Area of triangle V0,V1,V2

Public function

FVector3< Re...

 

VectorUtil::NormalDirection

(
    const FVector3< RealType >& V0,
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2
)

Public function

RealType

 

VectorUtil::OpeningAngleD

(
    FVector3< RealType > A,
    FVector3< RealType > B,
    const FVector3< RealType >& P
)

Public function

RealType

 

VectorUtil::PlaneAngleSignedD

(
    const FVector3< RealType >& VFrom,
    const FVector3< RealType >& VTo,
    const FVector3< RealType >& PlaneN
)

Calculates angle between VFrom and VTo after projection onto plane with normal defined by PlaneN

Public function

FVector3< Re...

 

VectorUtil::TangentFromBitangent

(
    const FVector3< RealType >& Normal...,
    const FVector3< RealType >& Bitang...
)

Public function

FVector3< Re...

 

VectorUtil::TriGradient

(
    FVector3< RealType > Vi,
    FVector3< RealType > Vj,
    FVector3< RealType > Vk,
    RealType fi,
    RealType fj,
    RealType fk
)

Calculate gradient of scalar field values fi,fj,fk defined at corners of triangle Vi,Vj,Vk and interpolated across triangle using linear basis functions.

Public function

RealType

 

VectorUtil::TriSolidAngle

(
    FVector3< RealType > A,
    FVector3< RealType > B,
    FVector3< RealType > C,
    const FVector3< RealType >& P
)

Public function

RealType

 

VectorUtil::VectorCot

(
    const FVector3< RealType >& V1,
    const FVector3< RealType >& V2
)

Fast cotangent of angle between two vectors (do not have to be normalized unit vectors).

Public function

RealType

 

VectorUtil::VectorTanHalfAngle

(
    const FVector3< RealType >& A,
    const FVector3< RealType >& B
)

Tan(theta/2) = +/- sqrt( (1-cos(theta)) / (1+cos(theta)) )

Variables

Name Description

Public variable

constexpr int

 

InvalidID

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss