|
| static FDistPoint3Triangle3d | TriangleDistance (const TriangleMeshType &Mesh, int TriIdx, FVector3d Point) |
| |
| static FIntrRay3Triangle3d | TriangleIntersection (const TriangleMeshType &Mesh, int TriIdx, const FRay3d &Ray) |
| |
| static FVector3d | GetTriCentroid (const TriangleMeshType &Mesh, int TriIdx) |
| |
| static void | GetTriNormalAreaCentroid (const TriangleMeshType &Mesh, int TriIdx, FVector3d &Normal, double &Area, FVector3d &Centroid) |
| |
| static FVector3d | GetMeshVerticesCentroid (const TriangleMeshType &Mesh) |
| |
| static double | GetVolumeNonWatertight (const TriangleMeshType &Mesh, double DimScaleFactor=1) |
| |
| static FVector2d | GetVolumeArea (const TriangleMeshType &Mesh) |
| |
| static FVector2d | GetVolumeAreaCenter (const TriangleMeshType &Mesh, FVector3d &OutCenterOfMass) |
| |
| static FVector2d | GetVolumeArea (const TriangleMeshType &Mesh, const TArray< int > &TriIndices) |
| |
| static FAxisAlignedBox3d | GetTriBounds (const TriangleMeshType &Mesh, int TID) |
| |
| static FAxisAlignedBox3d | GetBounds (const TriangleMeshType &Mesh) |
| |
| template<typename EnumerableTriListType > |
| static FAxisAlignedBox3d | GetTrianglesBounds (const TriangleMeshType &Mesh, const EnumerableTriListType &Triangles, const FTransform &Transform=FTransform::Identity) |
| |
| template<typename EnumerableTriListType > |
| static FAxisAlignedBox3d | GetVerticesBounds (const TriangleMeshType &Mesh, const EnumerableTriListType &Vertices, const FTransform &Transform=FTransform::Identity) |
| |
| static int | FindNearestTriangle_LinearSearch (const TriangleMeshType &Mesh, const FVector3d &P) |
| |
| static FVector3d | FindNearestPoint_LinearSearch (const TriangleMeshType &Mesh, const FVector3d &P) |
| |
| static double | TriDistanceSqr (const TriangleMeshType &Mesh, int TriIdx, const FVector3d &Point) |
| |
| static int | FindHitTriangle_LinearSearch (const TriangleMeshType &Mesh, const FRay3d &Ray) |
| |
| static void | FindHitTriangles_LinearSearch (const TriangleMeshType &Mesh, const FRay3d &Ray, TArray< TPair< float, int > > &SortedHitTriangles) |
| |
| static FIndex2i | FindIntersectingTriangles_LinearSearch (const TriangleMeshType &Mesh1, const TriangleMeshType &Mesh2) |
| |
| template<typename RayType = FRay3d> |
| static FIntrRay3Triangle3d | RayTriangleIntersection (const TriangleMeshType &Mesh, int TriIdx, const RayType &Ray) |
| |
| static void | GetAllEdgeLengths (const TriangleMeshType &Mesh, TArray< double > &Lengths, double &TotalLength) |
| |
| static double | AverageEdgeLength (const TriangleMeshType &Mesh) |
| | Compute the mean edge length for the given mesh.
|
| |
| static double | MaxEdgeLength (const TriangleMeshType &Mesh) |
| | Compute the longest edge length for the given mesh.
|
| |
| static double | MinEdgeLength (const TriangleMeshType &Mesh) |
| | Compute the shortest edge length for the given mesh.
|
| |
| static double | TotalEdgeLength (const TriangleMeshType &Mesh, const TArray< int > &Edges) |
| | Given a mesh and a subset of mesh edges, compute the total length of all the edges.
|
| |
| static void | EdgeLengthStatsFromEdges (const TriangleMeshType &Mesh, const TArray< int > &Edges, double &MinEdgeLength, double &MaxEdgeLength, double &AverageEdgeLength) |
| | Given a mesh and a subset of mesh edges, compute the min, max, and mean edge lengths.
|
| |
| static void | EdgeLengthStats (const TriangleMeshType &Mesh, double &MinEdgeLength, double &MaxEdgeLength, double &AverageEdgeLength, int NumSamples=0) |
| |
| template<typename MeshSpatialType > |
| static void | VertexToSurfaceDistances (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialB, TArray< double > &Distances) |
| |
| template<typename MeshSpatialType > |
| static double | HausdorffDistance (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialB) |
| |
| template<typename MeshSpatialType > |
| static double | TwoSidedHausdorffDistance (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialA, const TriangleMeshType &MeshB, const MeshSpatialType &SpatialB) |
| | Because Hausdorff distance is not symmetric, we compute the maximum of the distances between two surfaces.
|
| |
| template<typename MeshSpatialType > |
| static void | VertexToSurfaceDistancesSerial (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialB, TArray< double > &Distances) |
| | Compute all vertex-to-surface distances in serial. Should only be used for debugging the parallel version above!
|
| |
| template<typename MeshSpatialType > |
| static double | HausdorffDistanceSerial (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialB) |
| |
| template<typename MeshSpatialType > |
| static double | TwoSidedHausdorffDistanceSerial (const TriangleMeshType &MeshA, const MeshSpatialType &SpatialA, const TriangleMeshType &MeshB, const MeshSpatialType &SpatialB) |
| |
| 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) |
| |
| static FVector3d | GetVertexWeightsOnTriangle (const TriangleMeshType &Mesh, int TriID, double TriArea, bool bWeightByArea, bool bWeightByAngle) |
| |
| static TArray< int32 > | GetVertexSelectedTriangles (const TriangleMeshType &Mesh, const TArray< int32 > &Vertices) |
| |
| static void | ExpandVertexSelectionToNeighbors (const TriangleMeshType &Mesh, const TArray< int32 > &Selection, TArray< int32 > &ExpandedSelection, TMap< int32, int32 > &VIDToExpandedSelectionIdx) |
| |