Navigation
Filters
- Async
- Clustering
- CompGeom
- Curve
- Deformers
- Distance
- DynamicMesh
- Generators
- Image
- Implicit
- Intersection
- Operations
- Parameterization
- Sampling
- Selections
- Solvers
- Spatial
- Util
Classes
| Type | Name | Description | |
|---|---|---|---|
| FAxisAlignedBox2i | |||
| FAxisAlignedBox3i | |||
| FDynamicMeshEditor | FDynamicMeshEditor implements low-level mesh editing operations. | ||
| FDynamicMeshEditResult | FDynamicMeshEditResult is used to return information about new mesh elements created by mesh changes, primarily in FDynamicMeshEditor | ||
| FDynamicSubmesh3 | |||
| FEdgeLoop | Sequential lists of vertices/edges in a mesh that form a closed loop | ||
| FEdgeSpan | Sequential lists of vertices/edges in a mesh that is not closed. | ||
| FForceGeometryNamespaceToExist | |||
| FGeometryCoreModule | |||
| FIndex2i | 2-index tuple. | ||
| FIndex3i | 3-index tuple. | ||
| FIndex4i | 4-index tuple. | ||
| FInterval1i | |||
| FMeshBoundaryLoops | |||
| FMeshRegionBoundaryLoops | Extract FEdgeLoops on the boundary of a set of triangles of a mesh. | ||
| FSizedDisjointSet | Disjoint set with additional storage to track the size of each set. | ||
| FVector2i | 2D 32-bit integer Vector | ||
| FVector3i | 3D 32-bit integer Vector | ||
| FVertexConnectedComponents | Vertex-based connected components class can work with any mesh that has vertex IDs Also supports linking spatially-close vertices in the same component | ||
| TAttrBasedQuadricError | Quadric Error type for use in volume memory-less simplification with volume preservation constraints. | ||
| TAxisAlignedBox2 | |||
| TAxisAlignedBox3 | |||
| TCapsule3 | 3D Capsule stored as Line Segment and Radius | ||
| TCircle2 | |||
| TCircle3 | |||
| TFrame3 | TFrame3 is an object that represents an oriented 3D coordinate frame, ie orthogonal X/Y/Z axes at a point in space. | ||
| 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 | ||
| TIndexedWeightMap | FIndexedWeightMap stores an array of values, the intention is that these are "weights" on indices, for example per-vertex weights. | ||
| TIndexMap | TIndexMap stores mappings between indices, which are assumed to be an integer type. | ||
| TIndexMeshArrayAdapter | Faster adapter specifically for the common index mesh case | ||
| TIndexVectorMeshArrayAdapter | Second version of the above faster adapter for the case where triangle indices are packed into an integer vector type instead of flat | ||
| TInterval1 | |||
| TLine2 | TLine2 is a two-dimensional infinite line. | ||
| TLine3 | TLine3 is a three-dimensional infinite line. | ||
| TMathUtil | |||
| TMathUtilConstants | Math constants and utility functions, templated on float/double type | ||
| TMatrix2 | |||
| TMatrix3 | |||
| TMeshQueries | |||
| TMeshWrapperAdapterd | TMeshWrapperAdapterd |
||
| TOrientedBox2 | |||
| 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. | ||
| TPlane3 | |||
| TPointSetAdapter | TPointSetAdapter provides a very generic interface to an indexable list of points. | ||
| TPolygon2 | TPolygon2 is a 2D polygon represented as a list of Vertices. | ||
| TPolyline3 | TPolyline3 represents a 3D polyline stored as a list of Vertices. | ||
| TQuadricError | QuadricError represents a quadratic function that evaluates distance to plane. | ||
| TQuaternion | |||
| TSegment2 | 2D Line Segment stored as Center point, normalized Direction vector, and scalar Extent | ||
| TSegment3 | 3D Line Segment stored as Center point, normalized Direction vector, and scalar Extent | ||
| TSphere3 | 3D Sphere stored as Center point and Radius | ||
| TTetrahedron3 | |||
| TTransformSequence3 | TTransformSequence3 represents a sequence of 3D transforms. | ||
| TTransformSRT3 | TTransformSRT3 is a variant of the standard UE FTransform/TTransform that uses the UE::Geometry::TQuaternion instead of the UE::Math::TQuat. | ||
| TTriangle2 | |||
| TTriangle3 | |||
| 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) | ||
| TVolPresQuadricError | Quadric Error type for use in memory-less simplification with volume preservation constraints. |
Typedefs
Enums
| Type | Name | Description | |
|---|---|---|---|
| EIntersectionResult | |||
| EIntersectionType | |||
| UE::Geometry::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). | ||
| UE::Geometry::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. | ||
| UE::Geometry::EValidityCheckFailMode | EValidityCheckFailMode is passed to CheckValidity() functions of various classes to specify how validity checks should fail. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | MeshAdapterTransforms::ApplyTransform
(
TriangleMeshType& Mesh, |
Apply given Transform to a Mesh. | |
| void | MeshAdapterTransforms::ApplyTransform
(
TriangleMeshType& Mesh, |
Apply given Transform to a Mesh. | |
| void | MeshAdapterTransforms::ApplyTransformInverse
(
TriangleMeshType& Mesh, |
Apply inverse of given Transform to a Mesh. | |
| void | MeshAdapterTransforms::FrameCoordsToWorld
(
TriangleMeshType& Mesh, |
Transform Mesh out of local coordinates of Frame | |
| void | MeshAdapterTransforms::Translate
(
TriangleMeshType& Mesh, |
Apply Translation to vertex positions of Mesh. Does not modify any other attributes. | |
| void | MeshAdapterTransforms::WorldToFrameCoords
(
TriangleMeshType& Mesh, |
Transform Mesh into local coordinates of Frame | |
| T | UE::Geometry::AngleD
(
const UE::Math::TVector< T >& V1, |
Computes the Angle between V1 and V2, assuming they are already normalized | |
| T | UE::Geometry::AngleD
(
const UE::Math::TVector2< T >& V1, |
Angle in Degrees. | |
| T | UE::Geometry::AngleR
(
const UE::Math::TVector< T >& V1, |
Computes the Angle between V1 and V2, assuming they are already normalized | |
| T | UE::Geometry::AngleR
(
const UE::Math::TVector2< T >& V1, |
Angle in Radians. | |
| UE::Math::TVector< T > | UE::Geometry::Blend3
(
const UE::Math::TVector< T >& A, |
||
| bool | UE::Geometry::ConvertLoopToTriOrderedEdgeLoop
(
const FDynamicMesh3& Mesh, |
Utility functions for converting/processing edge loops Convert the input Vertex/Edge loop into an edge loop representation that is independent of Vertex/Edge IDs. | |
| bool | UE::Geometry::ConvertLoopToTriOrderedEdgeLoop
(
const FDynamicMesh3& Mesh, |
Variant of ConvertLoopToTriOrderedEdgeLoop that always encodes using EdgeTriangles.A, ie suitable for encoding open border loops | |
| bool | UE::Geometry::ConvertTriOrderedEdgeLoopToLoop
(
const FDynamicMesh3& Mesh, |
Recover the current Vertex and Edge loops given an encoded loop of FMeshTriOrderedEdgeID. | |
| TQuadricError< RealType > | UE::Geometry::CreateSeamQuadric
(
const TVector< RealType >& p0, |
A "Seam Quadric" is a quadric defined with respect to the plane passing through the edge p1-p0, but perpendicular to the adjacent face. | |
| UE::Math::TVector< T > | UE::Geometry::Cross
(
const UE::Math::TVector< T >& V1, |
||
| TMatrix3< RealType > | UE::Geometry::CrossProductMatrix
(
const UE::Math::TVector< RealType >& A |
Skew-Symmetric matrix such that A X B = CrossProductMatrix(A) * B;. | |
| T | UE::Geometry::Distance
(
const UE::Math::TVector2< T >& V1, |
||
| T | UE::Geometry::Distance
(
const UE::Math::TVector< T >& V1, |
||
| T | UE::Geometry::DistanceSquared
(
const UE::Math::TVector2< T >& V1, |
||
| T | UE::Geometry::DistanceSquared
(
const UE::Math::TVector< T >& V1, |
||
| T | UE::Geometry::Dot
(
const UE::Math::TVector< T >& V1, |
||
| T | UE::Geometry::DotPerp
(
const UE::Math::TVector2< T >& V1, |
||
| FTriangleMeshAdapterd | UE::Geometry::GetArrayMesh
(
TArray< FVector >& Vertices, |
Example function to generate a generic mesh adapter from arrays | |
| uint32 | UE::Geometry::GetTypeHash
(
const FIndex4i& Index |
||
| uint32 | UE::Geometry::GetTypeHash
(
const FVector2i& Vector |
||
| uint32 | UE::Geometry::GetTypeHash
(
const FVector3i& Vector |
||
| uint32 | UE::Geometry::GetTypeHash
(
const FIndex2i& Index |
||
| uint32 | UE::Geometry::GetTypeHash
(
const FIndex3i& Index |
||
| UE::Math::TVector2< T > | UE::Geometry::GetXY
(
const UE::Math::TVector< T >& V |
||
| UE::Math::TVector2< T > | UE::Geometry::GetXZ
(
const UE::Math::TVector< T >& V |
||
| UE::Math::TVector2< T > | UE::Geometry::GetYZ
(
const UE::Math::TVector< T >& V |
||
| bool | UE::Geometry::IsNormalized
(
const UE::Math::TVector< T >& Vector, |
||
| bool | UE::Geometry::IsNormalized
(
const UE::Math::TVector2< T >& Vector, |
||
| T | UE::Geometry::Length
(
const UE::Math::TVector< T >& V |
||
| UE::Math::TVector4< T > | UE::Geometry::Lerp
(
const UE::Math::TVector4< T >& A, |
||
| UE::Math::TVector< T > | UE::Geometry::Lerp
(
const UE::Math::TVector< T >& A, |
||
| UE::Math::TVector2< T > | UE::Geometry::Lerp
(
const UE::Math::TVector2< T >& A, |
||
| TFrame3< T > | UE::Geometry::Lerp
(
const TFrame3< T >& A, |
||
| UE::Math::TVector< T > | UE::Geometry::MakeUnitVector3
(
int32 Axis |
||
| UE::Math::TVector< T > | UE::Geometry::Max
(
const UE::Math::TVector< T >& V0, |
||
| FVector3i | UE::Geometry::Max
(
const FVector3i& V0, |
||
| T | UE::Geometry::MaxAbsElement
(
const UE::Math::TVector< T >& Vector |
||
| int32 | UE::Geometry::MaxAbsElementIndex
(
const UE::Math::TVector< T >& Vector |
||
| T | UE::Geometry::MaxElement
(
const UE::Math::TVector< T >& Vector |
||
| int32 | UE::Geometry::MaxElementIndex
(
const UE::Math::TVector< T >& Vector |
||
| FVector3i | UE::Geometry::Min
(
const FVector3i& V0, |
||
| UE::Math::TVector< T > | UE::Geometry::Min
(
const UE::Math::TVector< T >& V0, |
||
| T | UE::Geometry::MinAbsElement
(
const UE::Math::TVector< T >& Vector |
||
| int32 | UE::Geometry::MinAbsElementIndex
(
const UE::Math::TVector< T >& Vector |
||
| T | UE::Geometry::MinElement
(
const UE::Math::TVector< T >& Vector |
||
| int32 | UE::Geometry::MinElementIndex
(
const UE::Math::TVector< T >& Vector |
||
| T | UE::Geometry::Normalize
(
UE::Math::TVector< T >& Vector, |
||
| T | UE::Geometry::Normalize
(
UE::Math::TVector2< T >& Vector, |
||
| UE::Math::TVector2< T > | UE::Geometry::Normalized
(
const UE::Math::TVector2< T >& Vector, |
||
| UE::Math::TVector< T > | UE::Geometry::Normalized
(
const UE::Math::TVector< T >& Vector, |
||
| TQuaternion< RealType > | UE::Geometry::operator-
(
const TQuaternion< RealType >& A, |
||
| FVector2i | UE::Geometry::operator*
(
int32 Scalar, |
||
| FVector3i | UE::Geometry::operator*
(
int32 Scalar, |
||
| TVector< RealType > | UE::Geometry::operator*
(
const TQuaternion< RealType >& Q, |
||
| TMatrix2< RealType > | UE::Geometry::operator*
(
RealType Scale, |
||
| TQuaternion< RealType > | UE::Geometry::operator*
(
const TQuaternion< RealType >& A, |
||
| TQuaternion< RealType > | UE::Geometry::operator*
(
RealType Scalar, |
||
| TMatrix3< RealType > | UE::Geometry::operator*
(
RealType Scale, |
||
| TQuaternion< RealType > | UE::Geometry::operator*
(
const TQuaternion< RealType >& Q, |
||
| TQuaternion< RealType > | UE::Geometry::operator+
(
const TQuaternion< RealType >& A, |
||
| T | UE::Geometry::Orient
(
const UE::Math::TVector2< T >& A, |
||
| UE::Math::TVector2< T > | UE::Geometry::PerpCW
(
const UE::Math::TVector2< T >& V |
||
| T | UE::Geometry::SignedAngleR
(
const UE::Math::TVector2< T >& V1, |
Angle in Radians. | |
| RealType | UE::Geometry::SnapToIncrement
(
RealType Value, |
Snap Value to steps of Increment (centered at 0, ie steps are -Increment, 0, Increment, 2*Increment, ...). | |
| T | UE::Geometry::SquaredLength
(
const UE::Math::TVector< T >& V |
||
| const FIndex3i * | |||
| void | UE::Geometry::TetUtil::GetTetFaces
(
const FIndex4i& Tet, |
Fill an array with the oriented triangle faces of the tet. | |
| int32 | UE::Geometry::TetUtil::IsInsideExact
(
const TTetrahedron3< RealType >& Tet, |
Test whether point Pt is inside or on a (non-degenerate) tetrahedron Tet. | |
| FColor | UE::Geometry::ToFColor
(
const UE::Math::TVector4< T >& Vector |
||
| FLinearColor | UE::Geometry::ToLinearColor
(
const UE::Math::TVector< T >& Vector |
||
| FLinearColor | UE::Geometry::ToLinearColor
(
const UE::Math::TVector4< T >& V |
||
| UE::Math::TVector4< T > | UE::Geometry::ToVector4
(
const FLinearColor& Color |
||
| RealType | UE::Geometry::TriangleUtil::EquilateralEdgeLengthForArea
(
RealType TriArea |
||
| UE::Math::TVector< T > | UE::Geometry::UnitCross
(
const UE::Math::TVector< T >& V1, |
||
| RealType | UE::Geometry::VectorUtil::Area
(
const TVector2< RealType >& V0, |
||
| RealType | UE::Geometry::VectorUtil::Area
(
const TVector< RealType >& V0, |
||
| double | UE::Geometry::VectorUtil::AspectRatio
(
const FVector3d& v1, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::BarycentricCoords
(
const TVector< RealType >& Point, |
Compute barycentric coordinates/weights of vPoint inside 3D triangle (V0,V1,V2). | |
| TVector< RealType > | UE::Geometry::VectorUtil::BarycentricCoords
(
const TVector2< RealType >& Point, |
Compute barycentric coordinates/weights of vPoint inside 2D triangle (V0,V1,V2). | |
| TVector< RealType > | UE::Geometry::VectorUtil::Bitangent
(
const TVector< RealType >& NormalIn, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::BitangentFromTangent
(
const TVector< RealType >& NormalIn, |
||
| RealType | UE::Geometry::VectorUtil::BitangentSign
(
const TVector< RealType >& NormalIn, |
||
| TVector2< RealType > | UE::Geometry::VectorUtil::Circumcenter
(
TVector2< RealType > A, |
||
| RealType | UE::Geometry::VectorUtil::Clamp
(
RealType Value, |
||
| bool | UE::Geometry::VectorUtil::EpsilonEqual
(
RealType A, |
||
| bool | UE::Geometry::VectorUtil::EpsilonEqual
(
const TVector2< RealType >& V0, |
||
| bool | UE::Geometry::VectorUtil::EpsilonEqual
(
const TVector4< RealType >& V0, |
||
| bool | UE::Geometry::VectorUtil::EpsilonEqual
(
const TVector< RealType >& V0, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::InverseTransformNormal
(
const TTransform< RealType >& Transform, |
||
| bool | UE::Geometry::VectorUtil::IsFinite
(
const TVector< RealType >& V |
||
| bool | UE::Geometry::VectorUtil::IsFinite
(
const TVector2< RealType >& V |
||
| bool | UE::Geometry::VectorUtil::IsObtuse
(
const TVector< RealType >& V1, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::MakePerpVector
(
const TVector< RealType >& Normal |
Calculates one vector perpendicular to input Normal, as efficiently as possible. | |
| void | UE::Geometry::VectorUtil::MakePerpVector
(
const TVector< RealType >& Normal, |
Calculates one vector perpendicular to input Normal, as efficiently as possible. | |
| void | UE::Geometry::VectorUtil::MakePerpVectors
(
const TVector< RealType >& Normal, |
Calculates two vectors perpendicular to input Normal, as efficiently as possible. | |
| int | UE::Geometry::VectorUtil::Max3Index
(
const ValueVecType& Vector3 |
||
| int | UE::Geometry::VectorUtil::Min3Index
(
const ValueVecType& Vector3 |
||
| TVector< RealType > | UE::Geometry::VectorUtil::Normal
(
const TVector< RealType >& V0, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::NormalArea
(
const TVector< RealType >& V0, |
Calculate Normal and Area of triangle V0,V1,V2 | |
| TVector< RealType > | UE::Geometry::VectorUtil::NormalDirection
(
const TVector< RealType >& V0, |
||
| RealType | UE::Geometry::VectorUtil::OpeningAngleD
(
TVector< RealType > A, |
||
| RealType | UE::Geometry::VectorUtil::PlaneAngleSignedD
(
const TVector< RealType >& VFrom, |
Calculates angle between VFrom and VTo after projection onto plane with normal defined by PlaneN | |
| RealType | UE::Geometry::VectorUtil::PlaneAngleSignedR
(
const TVector< RealType >& VFrom, |
Calculates angle between VFrom and VTo after projection onto plane with normal defined by PlaneN | |
| RealType | UE::Geometry::VectorUtil::SignedArea
(
const TVector2< RealType >& V0, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::TangentFromBitangent
(
const TVector< RealType >& NormalIn, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::TransformNormal
(
const TTransform< RealType >& Transform, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::TriGradient
(
TVector< RealType > Vi, |
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. | |
| RealType | UE::Geometry::VectorUtil::TriSolidAngle
(
TVector< RealType > A, |
||
| TVector< RealType > | UE::Geometry::VectorUtil::UniformSampleTriangleBarycentricCoords
(
RealType R1, |
Sample uniform random barycentric coordinates on a triangle The inputs should be two random floating point numbers in the [0,1] range (See eq. 1 of 'Shape Distributions' by Osada, Funkhouser, Chazelle and Dobkin) Note the sample positions will not match those of UniformSampleTrianglePoint for the same R1, R2 values | |
| TVector< RealType > | UE::Geometry::VectorUtil::UniformSampleTrianglePoint
(
RealType R1, |
Sample a uniform random point on a triangle The inputs should be two random floating point numbers in the [0,1] range, and the triangle coordinates ref: http://mathworld.wolfram.com/TrianglePointPicking.html Note the sample positions will not match those of UniformSampleTriangleBarycentricCoords for the same R1, R2 values | |
| TVector2< RealType > | UE::Geometry::VectorUtil::UniformSampleTrianglePoint
(
RealType R1, |
Sample a uniform random point on a 2D triangle The inputs should be two random floating point numbers in the [0,1] range, and the triangle coordinates ref: http://mathworld.wolfram.com/TrianglePointPicking.html Note the sample positions will not match those of UniformSampleTriangleBarycentricCoords for the same R1, R2 values | |
| RealType | UE::Geometry::VectorUtil::VectorCot
(
const TVector< RealType >& V1, |
Fast cotangent of angle between two vectors (do not have to be normalized unit vectors). | |
| RealType | UE::Geometry::VectorUtil::VectorTanHalfAngle
(
const TVector< RealType >& A, |
Tan(theta/2) = +/- sqrt( (1-cos(theta)) / (1+cos(theta)) ) | |
| RealType | UE::Geometry::VectorUtil::VectorTanHalfAngle
(
const TVector2< RealType >& A, |
Tan(theta/2) = +/- sqrt( (1-cos(theta)) / (1+cos(theta)) ) |
Variables
| Type | Name | Description | |
|---|---|---|---|
| int | InvalidID |