You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- remove FDynamicMesh3::Timestamp (unused), rename Shape/Topology Timestamps to Shape/TopologyChangeStamp, change to atomic<uint32> - add FDynamicMesh3::bEnableShapeChangeStamp, default to false, to disable ShapeChange tracking. Add ::SetShapeChangeStampEnabled() and ::HasShapeChangeStampEnabled() to configure. - replace FDynamicMesh3::UpdateTimestamps() with UpdateChangeStamps() - add bTrackChange param to FDynamicMesh3::SetVertex(), optionally updates ShapeChangeStamp (if enabled). Default true. Remove SetVertex_NoTimeStampUpdate(), update call sites. - add FDynamicMesh3::GetChangeStamp(), returns combination of Shape and Topology stamps as uint64 - rename TTriangleMeshAdapter::GetTimestamp() to GetChangeStamp(), update usages - remove TPointSetAdapter::Timestamp() (was not used in code) - update TMeshAABBTree3 to use GetChangeStamp(), update internal checks to call IsValid() instead - update TFastWindingTree w/ similar changes - update calls in UVEditor, may require further updates #rb semion.piskarev #rnx #jira none #preflight 6126904c72e9eb00011434fe [CL 17310271 by Ryan Schmidt in ue5-main branch]
39 lines
1018 B
C++
39 lines
1018 B
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "VectorTypes.h"
|
|
|
|
namespace UE
|
|
{
|
|
namespace Geometry
|
|
{
|
|
|
|
/**
|
|
* TPointSetAdapter provides a very generic interface to an indexable list of points.
|
|
* The list may be sparse, ie some indices may be invalid.
|
|
*/
|
|
template<typename RealType>
|
|
struct TPointSetAdapter
|
|
{
|
|
/** Maximum point index */
|
|
TFunction<int32()> MaxPointID;
|
|
/** Number of points. If PointCount == MaxPointID, then there are no gaps in the index list */
|
|
TFunction<int32()> PointCount;
|
|
/** Returns true if this index valid */
|
|
TFunction<bool(int32)> IsPoint;
|
|
/** Get point at this index */
|
|
TFunction<FVector3<RealType>(int32)> GetPoint;
|
|
|
|
/** Returns true if this point set has per-point normals */
|
|
TFunction<bool()> HasNormals;
|
|
/** Get the normal at a point index */
|
|
TFunction<FVector3f(int32)> GetPointNormal;
|
|
};
|
|
|
|
typedef TPointSetAdapter<double> FPointSetAdapterd;
|
|
typedef TPointSetAdapter<float> FPointSetAdapterf;
|
|
|
|
|
|
} // end namespace UE::Geometry
|
|
} // end namespace UE
|