Navigation
| Name | DynamicMesh |
| Type | Runtime |
| Part of Plugins | Geometry Processing |
| Location | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/ |
| Module Build Rules | DynamicMesh.Build.cs |
Classes
| Name | Remarks |
|---|---|
| CotanTriangleData | The per-triangle data used in constructing the cotangent weighted laplacian. |
| FAverageOverlayToVertices | Compute the per-vertex values which are the weighted average of all vertex element values stored in the overlay. |
| FDeformableEdgePath | Given a single path initially defined by edges on a FDynamicMesh (the SurfaceMesh), this class uses an intrinsic mesh with the same vertex set to minimize the length of the path on the surface mesh. |
| FDetectPerDynamicMeshExteriorVisibility | Determine which meshes are visible from exterior views of a list of meshes. |
| FDisplaceMesh | |
| FDynamicMesh3Policy | Mesh policy on FDynamicMesh3 for use with FAdaptiveTesselator2. |
| FDynamicMeshModule | |
| FDynamicMeshUDIMClassifier | FDynamicMeshUDIMClassifier is a utility class for identifying active UDIMs from a FDynamicMesh's UV overlay |
| FDynamicMeshUVEditor | FDynamicMeshUVEditor implements various UV overlay editing operations. |
| FDynamicMeshUVPacker | FDynamicMeshUVPacker implements various strategies for packing UV islands in a UV Overlay. |
| FDynamicMeshUVTransfer | Transfers UVs from a low-resolution mesh to a high-resolution mesh. |
| FEdgePath | FEdgePath is is little more than a double link-list that exposes IDs instead of node pointers. |
| FExtrudeBoundaryEdges | |
| FExtrudeBoundaryEdgesFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FExtrudeMesh | Note: FExtrudeMesh might someday be removed. |
| FExtrudeMeshFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FFFDLattice | Free-form deformation lattice. |
| FGeometrySelectionEditor | FGeometrySelectionEditor is a utility/helper class used for modifying a FGeometrySelection. |
| FGeometrySelectionPreview | FGeometrySelectionPreview is a combined FGeometrySelection and FGeometrySelectionEditor. |
| FGroupEdgeInserter | Used to insert group edges and group edge loops. |
| FGroupTopology | Given a per-triangle integer ("group"), FGroupTopology extracts a group-level topological graph from an input Mesh. |
| FGroupTopologyDeformer | FGroupTopologyDeformer supports deforming a Mesh based on an overlaid FGroupTopology. |
| FGroupVisualizationCache | FGroupVisualizationCache is intended to be used as a cache for per-group information that would be used to visualize PolyGroups, in particular drawing the Polygroup ID for each group. |
| FInsetMeshRegion | FInsetMeshRegion implements local inset of a mesh region. |
| FIntrinsicEdgeFlipMesh | FIntrinsicEdgeFlipMesh augments the base class FSimpleIntrinsicEdgeFlipMesh with the addition of a 'normal coordinate' based correspondence with the surface mesh. |
| FIntrinsicMesh | FIntrinsicMesh extends the FSimpleIntrinsicMesh with the addition of a 'normal coordinate' based correspondence with the surface mesh. |
| FIntrinsicTriangulation | Class that manages the intrinsic triangulation of a given FDynamicMesh. |
| FJoinMeshLoops | FJoinMeshLoops connects two open loops of a mesh with a quad-strip. |
| FMeshAttributeTransfer | FMeshAttributeTransfer transfers attributes from a SourceMesh to a TargetMesh |
| FMeshBakerDynamicMeshSampler | DynamicMesh bake detail sampler for baking 1 detail mesh to 1 target mesh. |
| FMeshBaseBaker | |
| FMeshBevel | FMeshBevel applies a "Bevel" operation to edges of a FDynamicMesh3. |
| FMeshConstantMapEvaluator | A mesh evaluator for constant data. |
| FMeshConstraintCurve | |
| FMeshConstraints | FMeshConstraints is a set of Edge and Vertex constraints for a Triangle Mesh |
| FMeshConstraintsUtil | Utility functions for configuring a FMeshConstraints instance |
| FMeshConvexHull | Calculate Convex Hull of a Mesh |
| FMeshCurvatureMapBaker | |
| FMeshCurvatureMapEvaluator | A mesh evaluator for mesh curvatures. |
| FMeshDerivatives | First derivatives of some mesh quantities with respect to particular vertex positions |
| FMeshGenericWorldPositionColorBaker | Bake Colors based on arbitrary Position/Normal sampling. |
| FMeshGenericWorldPositionNormalBaker | Bake Tangent-Space Normals based on arbitrary Position/Normal sampling. |
| FMeshGeodesicSurfaceTracer | Class that, given a starting location and direction, traces a geodesic path along a mesh. |
| FMeshHeightMapEvaluator | A mesh evaluator for mesh height as color data. |
| FMeshImageBaker | |
| FMeshImageBakingCache | |
| FMeshIsoCurves | Insert edges on a mesh along the isocurve where some scalar value function over the mesh surface crosses a specified value |
| FMeshMapBaker | |
| FMeshMapBakerQueue | Multi-producer/single-consumer queue for the ordered processing of data in FMeshMapBaker. |
| FMeshMapEvaluator | |
| FMeshMapTileBuffer | Image tile storage for map bakes. |
| FMeshMirror | |
| FMeshMultiResampleImageBaker | |
| FMeshMultiResampleImageEvaluator | TODO: Add support for multiple color maps per mesh in IMeshBakerDetailSampler for proper MultiTexture support. |
| FMeshNormalMapBaker | |
| FMeshNormalMapEvaluator | A mesh evaluator for tangent space normals. |
| FMeshOcclusionMapBaker | |
| FMeshOcclusionMapEvaluator | A mesh evaluator for occlusion data (Ambient Occlusion & Bent Normals). |
| FMeshPaths | Given a mesh and a set of edges, walk connected edges to form a set of paths. |
| FMeshPlanarSymmetry | FMeshPlanarSymmetry detects pairwise symmetry relationships between vertices in a mesh, given a symmetry frame. |
| FMeshPlaneCut | Cut the Mesh with the Plane. |
| FMeshPlaneCutFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FMeshProjectionHull | Calculate a Convex Hull for a Mesh by first Projecting all vertices to a plane, computing a 2D convex polygon that contains them, and then sweeping that 2D hull to create an extruded 3D volume. |
| FMeshProjectionTarget | FMeshProjectionTarget provides an IProjectionTarget interface to a FDynamicMesh + FDynamicMeshAABBTree3 Use to project points to mesh surface. |
| FMeshPropertyMapBaker | |
| FMeshPropertyMapEvaluator | A mesh evaluator for mesh properties as color data. |
| FMeshRefinerBase | This is a base class that implements common functionality for various triangle mesh resampling strategies (ie FRemesher and FReducer). |
| FMeshRefinerBaseFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FMeshRegionGraph | FMeshRegionGraph represents neighbourhood relationships between mesh patches. |
| FMeshRegionOperator | This class automatically extracts a submesh from a mesh, and can re-insert it after you have edited it, as long as you have not messed up the boundary |
| FMeshRepairOrientation | Invert triangles as needed to a consistent ~"outward" orientation |
| FMeshResampleImageBaker | |
| FMeshResampleImageEvaluator | A mesh evaluator for sampling 2D texture data. |
| FMeshResolveTJunctions | FMeshResolveTJunctions splits edges to create matching vertices at T-Junctions in the mesh. |
| FMeshSimpleShapeApproximation | FMeshSimpleShapeApproximation can calculate various "simple" shape approximations for a set of meshes, by fitting various primitives/hulls/etc to each mesh. |
| FMeshSnapOpenBoundaries | Similar to FMeshResolveTJunctions, but does not add any vertices to the mesh. |
| FMeshSurfaceUVSampler | FMeshSurfaceUVSampler computes FMeshUVSampleInfo's on a given mesh at given UV-space positions, this info can then be used by an external function to compute some application-specific sample. |
| FMeshSurfaceUVSamplerFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FMeshUVShellMapEvaluator | A mesh evaluator for mesh properties as color data. |
| FMeshVertexBaker | |
| FMeshVertexCurvatureCache | FMeshVertexCurvatureCache calculates and stores various per-vertex Curvature types for a Mesh, as well as some statistics for those values. |
| FMeshWeights | FMeshWeights implements various techniques for computing local weights of a mesh, for example one-ring weights like Cotangent or Mean-Value. |
| FMinimalHoleFiller | Construct a "minimal" fill surface for the hole. |
| FNormalFlowRemesher | Remeshing with "face aligned projection". |
| FOffsetMeshRegion | FOffsetMeshRegion implements local extrusion/offset of a mesh region. |
| FOffsetMeshRegionFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FPatchBasedMeshUVGenerator | FPatchBasedMeshUVGenerator is an automatic UV generator for a triangle mesh that, generally, works by first decomposing the mesh into small patches for which a "known good" parameterization can be computed, and then incrementally merging those patches into larger ones to create final UV islands. |
| FPlanarFlipsOptimization | If both triangles on an edge are coplanar, we can arbitrarily flip the interior edge to improve triangle quality. |
| FPlanarHoleFiller | Fill a set of boundary loops with planar surfaces. User must provide the triangulation function. |
| FPNTriangles | FPNTriangles implements curved PN (Point-Normal) Triangles (Curved PN Triangles, Vlachos, 2001). |
| FPolygroupRemesh | PolygroupRemesh remesh only considering polygroup features (topological corners and bends on polygroup edges) This can help clean up low poly meshes that have extra vertices along straight edges e.g. after mesh Boolean operations |
| FPolygroupRemeshFixLayout | Hacky base class to avoid 8 bytes of padding after the vtable. |
| FPolygroupsGenerator | FPolygroupsGenerator generates (face/tri/poly)groups for an input mesh based on the geometry and attributes of the input mesh. |
| FQuadGridPatch | FQuadGridPatch represents a set of quads, formed by pairs of triangles, arranged in a 2D grid pattern. |
| FQueueRemesher | Extension to Remesher that is smarter about which edges/vertices to touch: |
| FRemesher | FRemesher implements edge flip/split/collapse/smooth Remeshing. |
| FRenderCaptureMapEvaluator | |
| FRestrictedSubRegionRemesher | FRestrictedSubRegionRemesher is similar to FSubRegionRemesher but does not allow the ROI to grow outside of the original ROI boundary. |
| FSelectiveTessellate | Given an input mesh and a tessellation pattern, this operator generates a new tessellated mesh where the triangles affected are subtriangulated according to the rules specified by the pattern. |
| FSimpleHoleFiller | Fill an EdgeLoop hole with triangles. |
| FSimpleIntrinsicEdgeFlipMesh | Intrinsic Meshes: |
| FSimpleIntrinsicMesh | FSimpleIntrinsicMesh extends FSimpleIntrinsicEdgeFlipMesh to support edge splits and triangle pokes in addition to edge flips. |
| FSmoothDynamicMeshAttributes | Smooth scalar data of any dimension that is stored via TDynamicMeshOverlay. |
| FSmoothDynamicMeshVertexSkinWeights | Subclass of TSmoothBoneWeights for dealing with smoothing of bone weights stored in the FDynamicMeshVertexSkinWeightsAttribute. |
| FSmoothHoleFiller | This fills a hole in a mesh by doing a trivial fill, then doing a remesh, then a laplacian smooth, then a second remesh. |
| FSphereShape3d | FSphereShape is a 3D sphere |
| FSubRegionRemesher | FSubRegionRemesher is an extension of FRemesher that allows for constraining remeshing to a localized region of a mesh. |
| FTangentTri2 | |
| FTessellationPattern | An abstract class for writing tessellation patterns. |
| FTransferBoneWeights | Transfer bone weights from one mesh (source) to another (target). |
| FTransferVertexColorAttribute | Transfer vertex colors from one mesh (source) to another (target). |
| FTriangleGroupTopology | FTriangleGroupTopology is a simplification of FGroupTopology that just represents a normal mesh. |
| FTriangleLinearization | Used linearize the TriIds in a mesh as a single array and allow mapping from array offset to mesh TriId. |
| FUniformTessellate | Given an input mesh and a tessellation level, this operator generates a new tessellated mesh where every triangle in the input mesh is uniformly subtriangulated into (TessellationNum + 1)^2 triangles. |
| FVertexLinearization | Used to linearize the VtxIds in a mesh as a single array and allow mapping from array offset to mesh VtxId. |
| FVertexPositionCache | Basic cache of vertex positions. |
| FWeldEdgeSequence | Weld a pair of group edges. |
| FWorldSpaceProjectionTarget | |
| FWrapMesh | Wrap a source mesh's topology to a target mesh's shape. |
| MeanValueTriangleData | The per-triangle data used in constructing the mean-value weighted laplacian. |
| TBoneWeightsDataSource | Interface for getting the bone weights data. |
| TMeshSimplification | Implementation of Garland & Heckbert Quadric Error Metric (QEM) Triangle Mesh Simplification |
| TMeshSurfaceUVSampler | Consider using FMeshSurfaceUVSampler instead, it is more flexible and easier to understand! |
| TRemoveOccludedTriangles | Remove "occluded" triangles, i.e. triangles on the "inside" of the mesh(es). |
| TSmoothBoneWeights | Collection of algorithms for smoothing bone weights. |
Structs
| Name | Remarks |
|---|---|
| FBoxShape3d | FBoxShape is a 3D oriented box |
| FCapsuleShape3d | FCapsuleShape is a 3D oriented capsule/sphyl |
| FConstraintProjectionData | |
| FConvexShape3d | FConvexShape is a 3D convex hull, currently stored as a triangle mesh |
| FDynamicMeshUVMesh | Wrapper around a Mesh and UV Overlay that provides UVs triangles as vertices. |
| FEdgeConstraint | FEdgeConstraint is a constraint on a triangle mesh edge |
| FExteriorVisibilitySampling | Parameters controlling how exterior visiblity is tested. |
| FGeometrySelection | FGeometrySelection represents a subset of geometric elements of a larger object, for example a Mesh (currently the only use case). |
| FGeometrySelectionBounds | 3D Bounding information for a FGeometrySelection |
| FGeometrySelectionDelta | FGeometrySelectionDelta represents a change to the set of elements in a FGeometrySelection. |
| FGeometrySelectionElements | 3D Geometry representing a FGeometrySelection, for example suitable for passing to rendering code, etc |
| FGeometrySelectionHitQueryConfig | FGeometrySelectionHitQueryConfig defines the desired settings for a "hit query" on selected meshes/objects. |
| FGeometrySelectionUpdateConfig | FGeometrySelectionUpdateConfig is passed to various Selection Editing functions/classes to indicate what type of change should be applied to a FGeometrySelection (based on additional parameters, generally) |
| FGeometrySelectionUpdateResult | |
| FGeoSelectionID | FGeoSelectionID provides a pair of 32-bit unsigned integers that can be packed into a 64-bit unsigned integer for use with FGeometrySelection. |
| FGroupTopologySelection | FGroupTopologySelection represents a set of selected elements of a FGroupTopology |
| FLatticeExecutionInfo | |
| FLevelSetShape3d | FLevelSetShape is a 3D signed distance function sampled on a regular grid |
| FMeshConnection | A Connection stores the information needed to define a local reference direction for each vertex and triangle. |
| FMeshIsoCurveSettings | |
| FMeshSurfaceDirection | |
| FMeshTangentDirection | |
| FMeshUVSampleInfo | Information about a UV sample |
| FNormalCoordinates | Normal Coordinates as defined by "Discrete Conformal Equivalence of Polyhedral Surfaces" - Gillespi, Springborn, Crane, TOG V40 No4, 2021 This structure assumes that the surface mesh is fixed, and the intrinsic mesh shares the same vertex set as the surface mesh and is initialized with the same connectivity as the surface mesh. |
| FPolygroupLayer | FPolygroupLayer represents a polygroup set on a FDynamicMesh3, which supports a "default" group set stored on the mesh, and then N extended group layers stored in the mesh AttributeSet. |
| FPolygroupSet | Polygroup sets can be stored in multiple places. |
| FResultMeshAdapter | Adapter for producing an output simplified triangle mesh in any target triangle mesh structure |
| FSignpost | Signpost Coordinates inspired by "Navigating Intrinsic Triangulations" Sharp, Soliman and Crane [2019, ACM Transactions on Graphics] This structure assumes that the surface mesh is fixed, but allows the intrinsic mesh to support operations like edge splits and triangle pokes. |
| FSimpleShapeSet3d | FSimpleShapeSet stores a set of simple geometry shapes useful for things like collision detection/etc. |
| FSimplifyOptions | |
| FSmoothFillOptions | Fill parameters |
| FSurfacePoint | Location on an extrinsic (surface) mesh stored as a union. |
| FTraceResult | |
| FUVEditResult | |
| FVertexConstraint | FVertexConstraint is a constraint on a triangle mesh vertex |
| FWrapMeshCorrespondence | |
| TEdgeCorrespondence | TEdgeCorrespondence allows intrinsic edges to be traced across the underlying surface mesh. |
Interfaces
| Name | Remarks |
|---|---|
| IConstrainedLaplacianMeshSolver | Extension of IConstrainedMeshSolver that supports manipulating the underlying Laplacian vectors used in Laplacian-based Deformation Solvers. |
| IConstrainedMeshSolver | Interface to a index-based deformation solver for a 3D mesh vertex set that supports weighted point constraints. |
| IConstrainedMeshUVSolver | Interface to a index-based UV solver for a 3D triangle mesh that supports weighted point constraints. |
| IHoleFiller | |
| IMeshBakerDetailSampler | Base bake detail sampler class. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FAttrMeshSimplification | TMeshSimplification< FAttrBasedQuadricErrord > | The simplifier. | MeshSimplification.h |
| FDynamicMeshAABBTree3 | TMeshAABBTree3< FDynamicMesh3 > | Operations/TransferBoneWeights.h | |
| FDynamicMeshVertexSkinWeightsAttribute | TDynamicVertexSkinWeightsAttribute< FDynamicMesh3 > | Operations/SmoothBoneWeights.h | |
| FQEMSimplification | TMeshSimplification< FQuadricErrord > | MeshSimplification.h | |
| FVolPresMeshSimplification | TMeshSimplification< FVolPresQuadricErrord > | MeshSimplification.h |
Enums
Public
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool bIsSymmetricLaplacian
(
const ELaplacianWeightScheme Scheme |
Solvers/MeshLaplacian.h | ||
void FaceGroupUtil::CountAllGroups
(
const FDynamicMesh3& Mesh, |
Count number of tris in each group in Mesh; TODO: does this need sparse storage? | FaceGroupUtil.h | |
void FaceGroupUtil::FindAllGroups
(
const FDynamicMesh3& Mesh, |
Find the set of group ids used in Mesh | FaceGroupUtil.h | |
bool FaceGroupUtil::FindTrianglesByGroup
(
FDynamicMesh3& Mesh, |
Find list of triangles in Mesh with specific group id | FaceGroupUtil.h | |
void FaceGroupUtil::FindTriangleSetsByGroup
(
const FDynamicMesh3& Mesh, |
Collect triangles by group id. | FaceGroupUtil.h | |
bool FaceGroupUtil::HasMultipleGroups
(
const FDynamicMesh3& Mesh |
FaceGroupUtil.h | ||
void FaceGroupUtil::SeparateMeshByGroups
(
FDynamicMesh3& Mesh, |
Split input Mesh into submeshes based on group ID does not separate disconnected components w/ same group ID | FaceGroupUtil.h | |
void FaceGroupUtil::SeparateMeshByGroups
(
FDynamicMesh3& Mesh, |
Split input Mesh into submeshes based on group ID does not separate disconnected components w/ same group ID | FaceGroupUtil.h | |
void FaceGroupUtil::SetGroupID
(
FDynamicMesh3& Mesh, |
Set group ID of all triangles in Mesh | FaceGroupUtil.h | |
void FaceGroupUtil::SetGroupID
(
FDynamicMesh3& Mesh, |
Set group id of subset of triangles in Mesh | FaceGroupUtil.h | |
void FaceGroupUtil::SetGroupToGroup
(
FDynamicMesh3& Mesh, |
Replace group id in Mesh | FaceGroupUtil.h | |
FString LaplacianSchemeName
(
const ELaplacianWeightScheme Scheme |
Utility to map the enum names for debuging etc. | Solvers/MeshLaplacian.h | |
bool UE::Geometry::AreSelectionsIdentical
(
const FGeometrySelection& SelectionA, |
Test if SelectionA and SelectionB are the same selection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::CombineSelectionInPlace
(
FGeometrySelection& SelectionA, |
Combine the elements of SelectionA and SelectionB using the provided CombineMode, and store the result in SelectionA. | Selections/GeometrySelectionUtil.h | |
void UE::Geometry::ComputeArbitraryTrianglePatchUVs
(
FDynamicMesh3& Mesh, |
Create a new single UV island for the provided TriangleSet in the given Mesh/UVOverlay, by computing an ExpMap parameterization based on an automatically-detected midpoint of the triangle patch. | Operations/PolyEditingUVUtil.h | |
double UE::Geometry::ComputeAverageUVScaleRatioAlongVertexPath
(
const FDynamicMesh3& Mesh, |
Compute the total UVLength/MeshLength ratio along the given VertexPath. | Operations/PolyEditingUVUtil.h | |
FFrame3d UE::Geometry::ComputeFaceSelectionFrame
(
const FDynamicMesh3& Mesh, |
Try to compute a good "Frame" for the selected Triangles of the Mesh. | Operations/PolyModeling/PolyModelingFaceUtil.h | |
int32 UE::Geometry::ComputeGroupIDBound
(
const FDynamicMesh3& Mesh, |
Polygroups/PolygroupUtil.h | ||
void UE::Geometry::ComputeInsetLineSegmentsFromEdges
(
const FDynamicMesh3& Mesh, |
For each edge in EdgeList, compute a line segment offset from the original edge by distance InsetDistance. | Operations/PolyEditingEdgeUtil.h | |
bool UE::Geometry::ComputeMaterialIDRange
(
const FDynamicMesh3& Mesh, |
Compute inclusive range [0...N] of MaterialID values currently in use on Mesh (ie range always includes 0) | Operations/PolyModeling/PolyModelingMaterialUtil.h | |
bool UE::Geometry::ComputeMaterialIDsForVertexPath
(
const FDynamicMesh3& Mesh, |
Compute a MaterialID for each edge along the VertexPath based on the MaterialID of adjacent triangles. | Operations/PolyModeling/PolyModelingMaterialUtil.h | |
void UE::Geometry::ComputeNewGroupIDsAlongEdgeLoop
(
FDynamicMesh3& Mesh, |
Compute a new set of GroupIDs along an edge loop under the assumption that the edge loop is about to be split and new geometry introduced. | Operations/PolyEditingEdgeUtil.h | |
void UE::Geometry::ComputeNormalsForQuadPatch
(
FDynamicMesh3& Mesh, |
Create a new Normals "island" (ie surrounded by hard edges) for the QuadPatch of the Mesh, | Operations/QuadGridPatchUtil.h | |
bool UE::Geometry::ComputeUVIslandForQuadPatch
(
FDynamicMesh3& Mesh, |
Create a new UV Island for the QuadPatch triangles of the Mesh, and then assign UVs based on the grid layout. | Operations/QuadGridPatchUtil.h | |
bool UE::Geometry::ConvertPolygroupSelectionToIncidentOverlaySelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Like ConvertPolygroupSelectionToOverlaySelection but only includes overlay elements that are immediately incident to Polygroup Vertices/Edges. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::ConvertPolygroupSelectionToOverlaySelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Convert the given MeshSelection to a list of Triangles and Vertices into the Mesh, which can be used to represent a selection of overlay elements. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::ConvertPolygroupSelectionToTopologySelection
(
const FGeometrySelection& MeshSelection, |
Convert a MeshSelection with Polygroup topology type to a FGroupTopologySelection | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::ConvertSelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Convert Selection from one type to another, based on geometry/topology types in FromSelectionIn and ToSelectionOut. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::ConvertSelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Selections/GeometrySelectionUtil.h | ||
bool UE::Geometry::ConvertTriangleSelectionToOverlaySelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Convert the given MeshSelection to a list of Triangles and Vertices into the Mesh, which can be used to represent a selection of overlay elements. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionEdges
(
const FGeometrySelection& MeshSelection, |
Call EdgeFunc for each mesh EdgeID included in MeshSelection, where MeshSelection has polygroup topology. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionEdges
(
const FGeometrySelection& MeshSelection, |
Version of EnumeratePolygroupSelectionEdges which uses GroupTopology | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionElements
(
const FGeometrySelection& MeshSelection, |
Prefer EnumeratePolygroupSelectionElements with Flags parameter. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionElements
(
const FGeometrySelection& MeshSelection, |
Enumerates the renderable geometry for a given MeshSelection when in Polygroup Topology mode. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionTriangles
(
const FGeometrySelection& MeshSelection, |
Call TriangleFunc for each mesh TriangleID included in MeshSelection, where MeshSelection has polygroup topology. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumeratePolygroupSelectionVertices
(
const FGeometrySelection& GroupSelection, |
Call VertexFunc for each selected Mesh element (vertex/edge/tri) in the set of polygroup faces/edges/corners specified by GroupSelection (relative to GroupTopology parameter) ApplyTransform will be applied to Vertex Positions before calling VertexFunc | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateSelectionEdges
(
const FGeometrySelection& MeshSelection, |
Call EdgeFunc for each mesh EdgeID included in MeshSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateSelectionTriangles
(
const FGeometrySelection& MeshSelection, |
Call TriangleFunc for each mesh TriangleID included in MeshSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateTriangleSelectionEdges
(
const FGeometrySelection& MeshSelection, |
Call EdgeFunc for each mesh EdgeID included in MeshSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateTriangleSelectionElements
(
const FGeometrySelection& MeshSelection, |
Prefer EnumerateTriangleSelectionElements with Flags parameter. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateTriangleSelectionElements
(
const FGeometrySelection& MeshSelection, |
Enumerates the renderable geometry for a given MeshSelection when in Triangle Topology mode. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateTriangleSelectionTriangles
(
const FGeometrySelection& MeshSelection, |
Call TriangleFunc for each mesh TriangleID included in MeshSelection. | Selections/GeometrySelectionUtil.h | |
Please use the function of the same name which takes ApplyTransform as a pointer instead bool UE::Geometry::EnumerateTriangleSelectionVertices
(
const FGeometrySelection& MeshSelection, |
Prefer pointer version for ApplyTransform in EnumerateTriangleSelectionVertices | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::EnumerateTriangleSelectionVertices
(
const FGeometrySelection& MeshSelection, |
Call VertexFunc for each selected Mesh element (vertex/edge/tri) in MeshSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::FindInSelectionByTopologyID
(
const FGeometrySelection& GeometrySelection, |
Assuming that the uint64 values in the GeometrySelection are encoded FGeoSelectionID's, find the item that has a matching TopologyID, ignoring the GeometryID. | Selections/GeometrySelectionUtil.h | |
FDynamicMeshPolygroupAttribute * UE::Geometry::FindPolygroupLayerByName
(
FDynamicMesh3& Mesh, |
Find the first FDynamicMeshPolygroupAttribute with the given FName in a the AttributeSet of a Mesh. | Polygroups/PolygroupUtil.h | |
const FDynamicMeshPolygroupAttribute * UE::Geometry::FindPolygroupLayerByName
(
const FDynamicMesh3& Mesh, |
Find the first FDynamicMeshPolygroupAttribute with the given FName in a the AttributeSet of a Mesh. | Polygroups/PolygroupUtil.h | |
int32 UE::Geometry::FindPolygroupLayerIndex
(
const FDynamicMesh3& Mesh, |
Polygroups/PolygroupUtil.h | ||
int32 UE::Geometry::FindPolygroupLayerIndexByName
(
const FDynamicMesh3& Mesh, |
Polygroups/PolygroupUtil.h | ||
int32 UE::Geometry::FlipToDelaunay
(
FSimpleIntrinsicEdgeFlipMesh& IntrinsicMesh, |
Perform edge flips on intrinsic mesh until either the MaxFlipCount is reached or the mesh is fully Delaunay | Operations/IntrinsicTriangulationMesh.h | |
int32 UE::Geometry::FlipToDelaunay
(
FIntrinsicEdgeFlipMesh& IntrinsicMesh, |
Operations/IntrinsicTriangulationMesh.h | ||
int32 UE::Geometry::FlipToDelaunay
(
FSimpleIntrinsicMesh& IntrinsicMesh, |
Operations/IntrinsicTriangulationMesh.h | ||
int32 UE::Geometry::FlipToDelaunay
(
FIntrinsicMesh& IntrinsicMesh, |
Operations/IntrinsicTriangulationMesh.h | ||
int32 UE::Geometry::FlipToDelaunay
(
FIntrinsicTriangulation& IntrinsicMesh, |
Operations/IntrinsicTriangulationMesh.h | ||
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceFromVertex
(
const FDynamicMesh3& Mesh, |
Trace from a Vertex Crossing. | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceFromVertex
(
const FDynamicMesh3& Mesh, |
Operations/MeshGeodesicSurfaceTracer.h | ||
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceFromVertex
(
const FDynamicMesh3& Mesh, |
Trace from a Vertex Crossing. | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceFromVertex
(
const FDynamicMesh3& Mesh, |
Operations/MeshGeodesicSurfaceTracer.h | ||
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceNextTriangle
(
const FDynamicMesh3& Mesh, |
Trace, starting with the result of an earlier trace. | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceNextTriangle
(
const FDynamicMesh3& Mesh, |
Operations/MeshGeodesicSurfaceTracer.h | ||
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceTangentTriangle
(
const FTangentTri2& TangentTri2, |
Functions for tracing across a single triangle on a mesh TraceFTangentTri2 using a local coordinate system defined by aligning the first edge of the triangle with the positive x-direction and the opposing vertex with positive y-coordinate. | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceTriangleFromBaryPoint
(
const FDynamicMesh3& Mesh, |
Trace From an Edge crossing into the triangle TriID | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceTriangleFromBaryPoint
(
const FDynamicMesh3& Mesh, |
Operations/MeshGeodesicSurfaceTracer.h | ||
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceTriangleFromEdge
(
const FDynamicMesh3& Mesh, |
Trace From an Edge crossing into the triangle TriID | Operations/MeshGeodesicSurfaceTracer.h | |
FTraceResult UE::Geometry::GeodesicSingleTriangleUtils::TraceTriangleFromEdge
(
const FDynamicMesh3& Mesh, |
Operations/MeshGeodesicSurfaceTracer.h | ||
const void * UE::Geometry::GetDetailMeshTrianglePoint_Nearest
(
const IMeshBakerDetailSampler* DetailSpatial, |
Compute base/detail mesh correspondence by nearest distance | Sampling/MeshBakerCommon.h | |
const void * UE::Geometry::GetDetailMeshTrianglePoint_Raycast
(
const IMeshBakerDetailSampler* DetailSpatial, |
Compute base/detail mesh correspondence by raycast | Sampling/MeshBakerCommon.h | |
bool UE::Geometry::GetSelectionBoundaryCorners
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Given a EGeometryTopologyType::Polygroup selection, return the corner IDs of the polygroup corners on the boundary of the selection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::GetSelectionBoundaryVertices
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Given a selection, return the vertex IDs of the vertices on the boundary of this selection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::GetTriangleSelectionFrame
(
const FGeometrySelection& MeshSelection, |
Compute a 3D Frame suitable for use as a 3D transform gizmo position/orientation for the given MeshSelection | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::InitializeSelectionFromTriangles
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Convert Triangle IDs to target Selection type | Selections/GeometrySelectionUtil.h | |
FVector3d UE::Geometry::IntrinsicCorrespondenceUtils::AsR3Position
(
const FSurfacePoint& SurfacePoint, |
Operations/IntrinsicCorrespondenceUtils.h | ||
bool UE::Geometry::IntrinsicCorrespondenceUtils::VisitVertexAdjacentElements
(
const MeshType& Mesh, |
Utility to walk around a vertex (VID) visiting the adjacent edges and triangles. | Operations/IntrinsicCorrespondenceUtils.h | |
bool UE::Geometry::IsBoxMesh
(
const FDynamicMesh3& Mesh, |
Detect if input Mesh is a meshed box, and if so return analytic box in BoxOut. | ShapeApproximation/ShapeDetection3.h | |
bool UE::Geometry::IsCapsuleMesh
(
const FDynamicMesh3& Mesh, |
Detect if input Mesh is a meshed approximation of an analytic Capsule, and if so return best guess in CapsuleOut. | ShapeApproximation/ShapeDetection3.h | |
bool UE::Geometry::IsSphereMesh
(
const FDynamicMesh3& Mesh, |
Detect if input Mesh is a meshed approximation of an analytic Sphere, and if so return best guess in SphereOut. | ShapeApproximation/ShapeDetection3.h | |
bool UE::Geometry::MakeBoundaryConnectedSelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Create a selection of the elements adjacent to the "Border" of the given ReferenceSelection and return in BoundaryConnectedSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::MakeSelectAllConnectedSelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Expand the input ReferenceSelection to include all "connected" elements and return in AllConnectedSelection. | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::MakeSelectAllSelection
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Select all elements of the provided Mesh and GroupTopology that pass the provided SelectionIDPredicate, and store in the output AllSelection. | Selections/GeometrySelectionUtil.h | |
FString UE::Geometry::MakeUniqueGroupLayerName
(
const FDynamicMesh3& Mesh, |
Polygroups/PolygroupUtil.h | ||
bool UE::Geometry::operator!
(
EOcclusionMapType E |
Sampling/MeshOcclusionMapBaker.h | ||
bool UE::Geometry::operator!
(
EMeshOcclusionMapType E |
Sampling/MeshOcclusionMapEvaluator.h | ||
| Selections/GeometrySelectionUtil.h | |||
bool UE::Geometry::operator!
(
ESimpleShapeType E |
ShapeApproximation/SimpleShapeSet3.h | ||
| Sampling/MeshOcclusionMapBaker.h | |||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
| ShapeApproximation/SimpleShapeSet3.h | |||
EOcclusionMapType & UE::Geometry::operator&=
(
EOcclusionMapType& Lhs, |
Sampling/MeshOcclusionMapBaker.h | ||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
ESimpleShapeType & UE::Geometry::operator&=
(
ESimpleShapeType& Lhs, |
ShapeApproximation/SimpleShapeSet3.h | ||
| Sampling/MeshOcclusionMapBaker.h | |||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
| ShapeApproximation/SimpleShapeSet3.h | |||
EOcclusionMapType & UE::Geometry::operator^=
(
EOcclusionMapType& Lhs, |
Sampling/MeshOcclusionMapBaker.h | ||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
ESimpleShapeType & UE::Geometry::operator^=
(
ESimpleShapeType& Lhs, |
ShapeApproximation/SimpleShapeSet3.h | ||
| Sampling/MeshOcclusionMapBaker.h | |||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
| ShapeApproximation/SimpleShapeSet3.h | |||
EOcclusionMapType & UE::Geometry::operator|=
(
EOcclusionMapType& Lhs, |
Sampling/MeshOcclusionMapBaker.h | ||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
ESimpleShapeType & UE::Geometry::operator|=
(
ESimpleShapeType& Lhs, |
ShapeApproximation/SimpleShapeSet3.h | ||
| Sampling/MeshOcclusionMapBaker.h | |||
| Sampling/MeshOcclusionMapEvaluator.h | |||
| Selections/GeometrySelectionUtil.h | |||
| ShapeApproximation/SimpleShapeSet3.h | |||
FVector3d UE::Geometry::SolveInsetVertexPositionFromLinePair
(
const FVector3d& Position, |
Solve for a new inset position by finding the intersection point a pair of inset-lines (or handle parallel-lines case). | Operations/PolyEditingEdgeUtil.h | |
void UE::Geometry::SolveInsetVertexPositionsFromInsetLines
(
const FDynamicMesh3& Mesh, |
For each vertex in VertexIDs, compute inset position based on list of precomputed inset lines and store in VertexPositionsOut. | Operations/PolyEditingEdgeUtil.h | |
double UE::Geometry::SumPathLength
(
const FDeformableEdgePath& DeformableEdgePath |
Operations/GeodesicPath.h | ||
void UE::Geometry::TaperPerTriangleValues
(
const UE::Geometry::FDynamicMesh3& Mesh, |
Computes and smooths per-triangle integer values across a specified region of a mesh. | Selections/GeometrySelectionUtil.h | |
void UE::Geometry::UpdateGroupSelectionViaRaycast
(
const FColliderMesh* ColliderMesh, |
Update a FGeometrySelection (via the Editor) of mesh polygroup faces/edges/corners, based on a raycast | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::UpdateSelectionWithNewElements
(
FGeometrySelectionEditor* Editor, |
Update a FGeometrySelection (via the Editor) | Selections/GeometrySelectionUtil.h | |
void UE::Geometry::UpdateTriangleSelectionViaRaycast
(
const FColliderMesh* ColliderMesh, |
Update a FGeometrySelection (via the Editor) of mesh vertices/edges/triangles based on a raycast | Selections/GeometrySelectionUtil.h | |
bool UE::Geometry::UVUnwrapMeshUtil::DoesUnwrapMatchOverlay
(
const FDynamicMeshUVOverlay& OverlayIn, |
Checks that the vertices in the unwrap correspond to elements in the overlay in both ID and value, and that set triangles in the overlay correspond to triangles in the unwrap. | Parameterization/UVUnwrapMeshUtil.h | |
void UE::Geometry::UVUnwrapMeshUtil::GenerateUVUnwrapMesh
(
const FDynamicMeshUVOverlay& UVOverlay, |
Given a UV overlay, generate a mesh out of the overlay using the given UV to 3d position function. | Parameterization/UVUnwrapMeshUtil.h | |
| Given two overlays that have the same triangle IDs, copy all or part of one overlay into another. | Parameterization/UVUnwrapMeshUtil.h | ||
void UE::Geometry::UVUnwrapMeshUtil::UpdateUVOverlayFromUnwrapMesh
(
const FDynamicMesh3& UnwrapMeshIn, |
Given a mesh that corresponds to an overlay with an exact mapping of triangle IDs and element IDs to vertex IDs (i.e. one generated by GenerateUVUnwrapMesh), update the element values and connectivity of the overlay. | Parameterization/UVUnwrapMeshUtil.h | |
void UE::Geometry::UVUnwrapMeshUtil::UpdateUVUnwrapMesh
(
const FDynamicMesh3& SourceUnwrapMesh, |
Given a copy of a UV Unwrap mesh whose positions and connectivity have been updated, update the destination unwrap mesh. | Parameterization/UVUnwrapMeshUtil.h | |
void UE::Geometry::UVUnwrapMeshUtil::UpdateUVUnwrapMesh
(
const FDynamicMeshUVOverlay& UVOverlayIn, |
Given a mesh that corresponds to an overlay with an exact mapping of triangle IDs and element IDs to vertex IDs (i.e. one generated by GenerateUVUnwrapMesh), update the vertex locations and triangle connectivity of the mesh. | Parameterization/UVUnwrapMeshUtil.h | |
double UE::MeshCurvature::GaussianCurvature
(
const FDynamicMesh3& Mesh, |
Calculate the Discrete Gaussian Curvature at a vertex as defined by discrete differential geometry Based on Eq 9 from "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Meyer et al 2002 | MeshCurvature.h | |
double UE::MeshCurvature::GaussianCurvature
(
const FDynamicMesh3& Mesh, |
Calculate the Discrete Gaussian Curvature at a vertex as defined by discrete differential geometry Based on Eq 9 from "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Meyer et al 2002 | MeshCurvature.h | |
FVector3d UE::MeshCurvature::MeanCurvatureNormal
(
const FDynamicMesh3& Mesh, |
Calculate the Discrete Mean-Curvature Normal at a vertex as defined by discrete differential geometry. | MeshCurvature.h | |
FVector3d UE::MeshCurvature::MeanCurvatureNormal
(
const FDynamicMesh3& Mesh, |
Calculate the Discrete Mean-Curvature Normal at a vertex as defined by discrete differential geometry. | MeshCurvature.h | |
int32 UE::MeshDeformation::ComputeNumMatrixElements
(
const MeshT& DynamicMesh, |
Utility to compute the number of elements in the sparse laplacian matrix. | Solvers/PrecomputedMeshWeightData.h | |
void UE::MeshDeformation::ComputeSmoothing_BiHarmonic
(
const ELaplacianWeightScheme WeightingScheme, |
Note: for discussion of implicit / explicit integration of diffusion and biharmonic equations see "Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow" - M Desbrun 99. | Solvers/MeshSmoothing.h | |
void UE::MeshDeformation::ComputeSmoothing_Diffusion
(
const ELaplacianWeightScheme WeightScheme, |
This is equivalent to forward or backward Euler time steps of the diffusion equation | Solvers/MeshSmoothing.h | |
void UE::MeshDeformation::ComputeSmoothing_Forward
(
bool bUniformWeightScheme, |
Simple iterative smoothing with an optional weight map Each iteration Lerps towards the weighted neighbor centroid by the GetSmoothingAlpha amount | Solvers/MeshSmoothing.h | |
void UE::MeshDeformation::ComputeSmoothing_ImplicitBiHarmonicPCG
(
const ELaplacianWeightScheme WeightScheme, |
Solvers/MeshSmoothing.h | ||
TUniquePtr< UE::Solvers::IConstrainedMeshSolver > UE::MeshDeformation::ConstructConstrainedMeshDeformer
(
const ELaplacianWeightScheme WeightScheme, |
Solves the linear system for p_vec ( Transpose(L) * L + (0 0 ) ) p_vec = source_vec + ( 0 ) | Solvers/ConstrainedMeshDeformer.h | |
TUniquePtr< UE::Solvers::IConstrainedMeshSolver > UE::MeshDeformation::ConstructConstrainedMeshSmoother
(
const ELaplacianWeightScheme WeightScheme, |
Solves the linear system for p_vec ( Transpose(L) * L + (0 0 ) ) p_vec = ( 0 ) | Solvers/ConstrainedMeshSmoother.h | |
void UE::MeshDeformation::ConstructCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a cotangent-weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a pre-multiplied cotangent-weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructEdgeCotanWeightsDataArray
(
const FDynamicMesh3& Mesh, |
Solvers/PrecomputedMeshWeightData.h | ||
void UE::MeshDeformation::ConstructFullCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct sparse Cotangent Laplacian matrix. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructFullIDTCotangentLaplacian
(
const FDynamicMesh3& Mesh, |
Use intrinsic Delaunay mesh to construct sparse Cotangent Laplacian matrix. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructIDTCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a pre-multiplied cotangent-weighted Laplacian, using an intrinsic Delaunay mesh internally NB: there is no reason to expect this to be a symmetric matrix. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructMeanValueWeightLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a meanvalue-weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
| Create solver for the Least Squares Conformal UV Parameterization for this mesh. | Solvers/MeshParameterizationSolvers.h | ||
TUniquePtr< UE::Solvers::IConstrainedLaplacianMeshSolver > UE::MeshDeformation::ConstructSoftMeshDeformer
(
const FDynamicMesh3& DynamicMesh |
Construct a Mesh Deformer object for the given mesh that uses Biharmonic Laplacian Mesh Deformation to solve for the deformed vertex positions. | Solvers/ConstrainedMeshDeformer.h | |
TUniquePtr< UE::Solvers::IConstrainedMeshUVSolver > UE::MeshDeformation::ConstructSpectralConformalParamSolver
(
const FDynamicMesh3& DynamicMesh, |
Create solver for the Spectral Conformal UV Parameterization for this mesh. | Solvers/MeshParameterizationSolvers.h | |
void UE::MeshDeformation::ConstructTriangleDataArray
(
const FDynamicMesh3& DynamicMesh, |
Return and array in triangle order that holds the per-triangle derived data needed | Solvers/PrecomputedMeshWeightData.h | |
void UE::MeshDeformation::ConstructUmbrellaLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation of an umbrella weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
TUniquePtr< UE::Solvers::IConstrainedMeshSolver > UE::MeshDeformation::ConstructUniformConstrainedMeshDeformer
(
const FDynamicGraph3d& Graph |
Class IVertexEdgeGraph | Solvers/ConstrainedMeshDeformer.h | |
void UE::MeshDeformation::ConstructUniformLaplacian
(
const MeshType& Mesh, |
Construct a sparse matrix representation of a uniform weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshDeformation::ConstructValenceWeightedLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation of a valence-weighted Laplacian. | Solvers/LaplacianMatrixAssembly.h | |
void UE::MeshUVTransforms::FitToBox
(
FDynamicMeshUVOverlay* UVOverlay, |
Fit all UV element IDs of the UV Overlay inside the specified Box. | Parameterization/MeshUVTransforms.h | |
void UE::MeshUVTransforms::FitToBox
(
FDynamicMeshUVOverlay* UVOverlay, |
Fit given UV element IDs inside the specified Box. | Parameterization/MeshUVTransforms.h | |
void UE::MeshUVTransforms::MakeSeamsDisjoint
(
FDynamicMeshUVOverlay* UVOverlay |
For all UV seam elements, apply a small displacement so that they have unique positions. | Parameterization/MeshUVTransforms.h | |
void UE::MeshUVTransforms::RecenterScale
(
FDynamicMeshUVOverlay* UVOverlay, |
Recenter given UV element IDs using given IslandPositionType strategy (based on centroid, bounding-box, etc) and then apply uniform scaling | Parameterization/MeshUVTransforms.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static double UE::Geometry::AsZeroToTwoPi
(
double AngleR |
Return AngleR in [0,2pi) range. | Operations/MeshGeodesicSurfaceTracer.h | |
static bool UE::Geometry::GeodesicSingleTriangleUtils::IsTerminated
(
const FTraceResult& Result |
Operations/MeshGeodesicSurfaceTracer.h | ||
static bool UE::Geometry::IntrinsicCorrespondenceUtils::IsEdgePoint
(
const FSurfacePoint& SurfacePoint |
Operations/IntrinsicCorrespondenceUtils.h | ||
static bool UE::Geometry::IntrinsicCorrespondenceUtils::IsFacePoint
(
const FSurfacePoint& SurfacePoint |
Operations/IntrinsicCorrespondenceUtils.h | ||
static bool UE::Geometry::IntrinsicCorrespondenceUtils::IsVertexPoint
(
const FSurfacePoint& SurfacePoint |
Operations/IntrinsicCorrespondenceUtils.h |