Files
UnrealEngine/Engine/Source/Editor/PhysicsAssetEditor/Private/PhysicsAssetEditorHitProxies.h
2025-05-18 13:04:45 +08:00

97 lines
2.0 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "GenericPlatform/ICursor.h"
#include "HAL/Platform.h"
#include "HitProxies.h"
#include "PhysicsEngine/ShapeElem.h"
/*-----------------------------------------------------------------------------
Hit Proxies
-----------------------------------------------------------------------------*/
struct HPhysicsAssetEditorEdBoneProxy : public HHitProxy
{
DECLARE_HIT_PROXY();
int32 BodyIndex;
EAggCollisionShape::Type PrimType;
int32 PrimIndex;
HPhysicsAssetEditorEdBoneProxy(int32 InBodyIndex, EAggCollisionShape::Type InPrimType, int32 InPrimIndex)
: HHitProxy(HPP_World)
, BodyIndex(InBodyIndex)
, PrimType(InPrimType)
, PrimIndex(InPrimIndex) {}
virtual EMouseCursor::Type GetMouseCursor()
{
return EMouseCursor::Crosshairs;
}
virtual bool AlwaysAllowsTranslucentPrimitives() const override
{
return true;
}
};
struct HPhysicsAssetEditorEdCoMProxy : public HHitProxy
{
DECLARE_HIT_PROXY();
int32 BodyIndex;
HPhysicsAssetEditorEdCoMProxy(const int32 InBodyIndex)
: HHitProxy(HPP_World)
, BodyIndex(InBodyIndex)
{}
virtual EMouseCursor::Type GetMouseCursor()
{
return EMouseCursor::Crosshairs;
}
virtual bool AlwaysAllowsTranslucentPrimitives() const override
{
return true;
}
};
struct HPhysicsAssetEditorEdConstraintProxy : public HHitProxy
{
DECLARE_HIT_PROXY();
int32 ConstraintIndex;
HPhysicsAssetEditorEdConstraintProxy(int32 InConstraintIndex)
: HHitProxy(HPP_Foreground)
, ConstraintIndex(InConstraintIndex) {}
virtual EMouseCursor::Type GetMouseCursor()
{
return EMouseCursor::Crosshairs;
}
virtual bool AlwaysAllowsTranslucentPrimitives() const override
{
return true;
}
};
struct HPhysicsAssetEditorEdBoneNameProxy : public HHitProxy
{
DECLARE_HIT_PROXY();
int32 BoneIndex;
HPhysicsAssetEditorEdBoneNameProxy(int32 InBoneIndex)
: HHitProxy(HPP_Foreground)
, BoneIndex(InBoneIndex) {}
virtual bool AlwaysAllowsTranslucentPrimitives() const override
{
return true;
}
};