Files
UnrealEngineUWP/Engine/Source/Runtime/Experimental/GeometryCollectionEngine/Public/GeometryCollection/GeometryCollectionExternalRenderInterface.h
jeremy moore e861e8645f Add support for ISMPool reverse culling flag. This allows us to potentially create two ISM components for left and right handedness if needed.
Add free list for ISMPool ISM component slots so that we can recycle them when the number of instances for a component becomes zero.
#preflight 642f0942427eda562650ef0b

[CL 24957562 by jeremy moore in ue5-main branch]
2023-04-06 17:29:18 -04:00

29 lines
1006 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/Interface.h"
#include "GeometryCollectionExternalRenderInterface.generated.h"
class UGeometryCollection;
class UGeometryCollectionComponent;
UINTERFACE()
class GEOMETRYCOLLECTIONENGINE_API UGeometryCollectionExternalRenderInterface : public UInterface
{
GENERATED_BODY()
};
class GEOMETRYCOLLECTIONENGINE_API IGeometryCollectionExternalRenderInterface
{
GENERATED_BODY()
public:
virtual void OnRegisterGeometryCollection(UGeometryCollectionComponent const& InComponent) = 0;
virtual void OnUnregisterGeometryCollection() = 0;
virtual void UpdateState(UGeometryCollection const& InGeometryCollection, FTransform const& InComponentTransform, bool bInIsBroken) = 0;
virtual void UpdateRootTransform(UGeometryCollection const& InGeometryCollection, FTransform const& InRootTransform) = 0;
virtual void UpdateTransforms(UGeometryCollection const& InGeometryCollection, TArrayView<const FMatrix> InMatrices) = 0;
};