|
| | TDynamicMeshVectorOverlay () |
| |
| | TDynamicMeshVectorOverlay (FDynamicMesh3 *parentMesh) |
| |
| int | AppendElement (const VectorType &Value) |
| |
| int | AppendElement (const RealType *Value) |
| |
| VectorType | GetElement (int ElementID) const |
| |
| void | GetElement (int ElementID, VectorType &V) const |
| |
| VectorType | GetElementAtVertex (int TriangleID, int VertexID) const |
| |
| void | GetElementAtVertex (int TriangleID, int VertexID, VectorType &V) const |
| |
| void | GetTriElement (int TriangleID, int32 TriVertexIndex, VectorType &Value) const |
| |
| void | GetTriElements (int TriangleID, VectorType &A, VectorType &B, VectorType &C) const |
| |
| void | SetElement (int ElementID, const VectorType &Value) |
| |
| bool | EnumerateVertexElements (int VertexID, TFunctionRef< bool(int TriangleID, int ElementID, const VectorType &Value)> ProcessFunc, bool bFindUniqueElements=true) const |
| |
| | TDynamicMeshOverlay () |
| |
| | TDynamicMeshOverlay (FDynamicMesh3 *ParentMeshIn) |
| |
| const FDynamicMesh3 * | GetParentMesh () const |
| |
| FDynamicMesh3 * | GetParentMesh () |
| |
| void | Copy (const TDynamicMeshOverlay< RealType, ElementSize > &Copy) |
| |
| void | CompactCopy (const FCompactMaps &CompactMaps, const TDynamicMeshOverlay< RealType, ElementSize > &Copy) |
| |
| void | CompactInPlace (const FCompactMaps &CompactMaps) |
| |
| void | Append (const TDynamicMeshOverlay &ToAppend, const FDynamicMesh3::FAppendInfo &AppendInfo) |
| |
| void | AppendDefaulted (const FDynamicMesh3::FAppendInfo &AppendInfo) |
| |
| void | ClearElements () |
| |
| template<typename EnumerableIntType > |
| void | ClearElements (const EnumerableIntType &Triangles) |
| |
| int | ElementCount () const |
| |
| int | MaxElementID () const |
| |
| bool | IsElement (int vID) const |
| |
| bool | IsCompact () const |
| |
| element_iterator | ElementIndicesItr () const |
| |
| int | AppendElement (RealType ConstantValue) |
| |
| int | AppendElement (const RealType *Value) |
| |
| void | SetParentVertex (int ElementIndex, int ParentVertexIndex) |
| |
| void | InitializeTriangles (int MaxTriangleID) |
| |
| EMeshResult | SetTriangle (int TriangleID, const FIndex3i &TriElements, bool bAllowElementFreeing=true) |
| |
| void | FreeUnusedElements (const TSet< int > *ElementsToCheck=nullptr) |
| |
| void | UnsetTriangle (int TriangleID, bool bAllowElementFreeing=true) |
| |
| bool | IsSetTriangle (int TID) const |
| |
| void | CreateFromPredicate (TFunctionRef< bool(int ParentVertexIdx, int TriIDA, int TriIDB)> TrisCanShareVertexPredicate, RealType InitElementValue) |
| |
| void | CreatePerVertex (RealType InitElementValue) |
| |
| void | SplitVerticesWithPredicate (TFunctionRef< bool(int ElementIdx, int TriID)> ShouldSplitOutVertex, TFunctionRef< void(int ElementIdx, int TriID, RealType *FillVect)> GetNewElementValue) |
| |
| bool | MergeElement (int SourceElementID, int TargetElementID) |
| |
| int | SplitElement (int ElementID, const TArrayView< const int > &TrianglesToUpdate) |
| |
| int | SplitElementWithNewParent (int ElementID, int SplitParentVertexID, const TArrayView< const int > &TrianglesToUpdate) |
| |
| void | SplitBowtiesAtVertex (int32 Vid, TArray< int32 > *NewElementIDs=nullptr) |
| |
| void | SplitBowties (bool bParallel=true) |
| |
| void | BeginUnsafeElementsInsert () |
| |
| void | EndUnsafeElementsInsert () |
| |
| EMeshResult | InsertElement (int ElementID, const RealType *Value, bool bUnsafe=false) |
| |
| void | GetElement (int ElementID, RealType *Data) const |
| |
| template<typename AsType > |
| void | GetElement (int ElementID, AsType &Data) const |
| |
| template<typename AsType > |
| void | GetElementAtVertex (int TriangleID, int VertexID, AsType &Data) const |
| |
| int | GetParentVertex (int ElementID) const |
| |
| FIndex3i | GetTriangle (int TriangleID) const |
| |
| bool | GetTriangleIfValid (int TriangleID, FIndex3i &TriangleOut) const |
| |
| void | SetElement (int ElementID, const RealType *Data) |
| |
| template<typename AsType > |
| void | SetElement (int ElementID, const AsType &Data) |
| |
| bool | TriangleHasElement (int TriangleID, int ElementID) const |
| |
| bool | IsSeamEdge (int EdgeID, bool *bIsNonIntersectingOut=nullptr) const |
| |
| bool | IsSeamEndEdge (int EdgeID) const |
| |
| bool | IsSeamVertex (int VertexID, bool bBoundaryIsSeam=true) const |
| |
| bool | IsSeamIntersectionVertex (int32 VertexID) const |
| |
| bool | IsBowtieInOverlay (int32 VertexID) const |
| |
| bool | AreTrianglesConnected (int TriangleID0, int TriangleID1) const |
| |
| void | GetVertexElements (int VertexID, TArray< int > &OutElements) const |
| |
| int | CountVertexElements (int VertexID, bool bBruteForce=false) const |
| |
| void | GetElementTriangles (int ElementID, TArray< int > &OutTriangles) const |
| |
| int | GetElementIDAtVertex (int TriangleID, int VertexID) const |
| |
| bool | HasInteriorSeamEdges () const |
| |
| template<typename AsType > |
| void | GetTriBaryInterpolate (int32 TriangleID, const AsType *BaryCoords, AsType *DataOut) const |
| |
| bool | CheckValidity (bool bAllowNonManifoldVertices=true, EValidityCheckFailMode FailMode=EValidityCheckFailMode::Check) const |
| |
| bool | IsSameAs (const TDynamicMeshOverlay< RealType, ElementSize > &Other, bool bIgnoreDataLayout) const |
| |
| void | Serialize (FArchive &Ar, const FCompactMaps *CompactMaps, bool bUseCompression) |
| |
| SIZE_T | GetByteCount () const |
| |
| void | InitializeNewTriangle (int TriangleID) |
| |
| void | OnRemoveTriangle (int TriangleID) |
| |
| void | OnReverseTriOrientation (int TriangleID) |
| |
| void | OnSplitEdge (const DynamicMeshInfo::FEdgeSplitInfo &SplitInfo) |
| |
| void | OnFlipEdge (const DynamicMeshInfo::FEdgeFlipInfo &FlipInfo) |
| |
| void | OnCollapseEdge (const DynamicMeshInfo::FEdgeCollapseInfo &CollapseInfo) |
| |
| void | OnPokeTriangle (const DynamicMeshInfo::FPokeTriangleInfo &PokeInfo) |
| |
| void | OnMergeEdges (const DynamicMeshInfo::FMergeEdgesInfo &MergeInfo) |
| |
| void | OnMergeVertices (const DynamicMeshInfo::FMergeVerticesInfo &MergeInfo) |
| |
| void | OnSplitVertex (const DynamicMeshInfo::FVertexSplitInfo &SplitInfo, const TArrayView< const int > &TrianglesToUpdate) |
| |
template<
typename RealType, int ElementSize,
typename VectorType>
class UE::Geometry::TDynamicMeshVectorOverlay< RealType, ElementSize, VectorType >
TDynamicMeshVectorOverlay is an convenient extension of TDynamicMeshOverlay that adds a specific N-element Vector type to the template, and adds accessor functions that convert between that N-element vector type and the N-element arrays used by TDynamicMeshOverlay.