Files
UnrealEngineUWP/Engine/Source/Runtime/Experimental/GeometryCollectionEngine/Public/GeometryCollection/GeometryCollectionHitProxy.h
Jimmy Andrews c72601ba18 fix geometry collection hit proxies when bone selection is not enabled
#jira UE-153186

#rb cedric.caillaud
#preflight 628bf826016e5daa1cd3b008

[CL 20343691 by Jimmy Andrews in ue5-main branch]
2022-05-23 22:53:11 -04:00

46 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "GeometryCollectionEditorSelection.h"
#if GEOMETRYCOLLECTION_EDITOR_SELECTION
#include "EngineUtils.h"
class UGeometryCollectionComponent;
/** HitProxy with transform index information.
* @todo: These are never actually drawn because the shader is always in per-vertex mode, where it is passed HGeometryCollectionBone (or the whole-object HActor)
*/
struct HGeometryCollection : public HActor
{
DECLARE_HIT_PROXY(GEOMETRYCOLLECTIONENGINE_API)
int32 TransformIndex;
HGeometryCollection(AActor* InActor, const UPrimitiveComponent* InPrimitiveComponent, int32 InSectionIndex, int32 InMaterialIndex, int32 InTransformIndex)
: HActor(InActor, InPrimitiveComponent, InSectionIndex, InMaterialIndex)
, TransformIndex(InTransformIndex)
{}
};
/** HitProxy with transform index information. */
// @todo FractureTools - This is temp, we should merge it with HGeometryCollection
struct HGeometryCollectionBone : public HHitProxy
{
DECLARE_HIT_PROXY(GEOMETRYCOLLECTIONENGINE_API)
UGeometryCollectionComponent* Component;
int32 BoneIndex;
HGeometryCollectionBone(UGeometryCollectionComponent* InGeometryCollectionComponent, int32 InBoneIndex)
: Component(InGeometryCollectionComponent)
, BoneIndex(InBoneIndex)
{}
virtual void AddReferencedObjects(FReferenceCollector& Collector) override
{
Collector.AddReferencedObject(Component);
}
};
#endif // #if GEOMETRYCOLLECTION_EDITOR_SELECTION