You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
- remove Cholesky solver calling code - rename Chaos collision and joint stats - add drag handles to RBAN editing in PhAt #rb none #ROBOMERGE-SOURCE: CL 10995456 via CL 10995464 via CL 10995468 via CL 10995475 #ROBOMERGE-BOT: (v633-10983880) [CL 10995481 by chris caulfield in Main branch]
74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
#include "PhysicsAssetEditorPhysicsHandleComponent.h"
|
|
|
|
#include "PhysicsAssetEditorSkeletalMeshComponent.h"
|
|
|
|
UPhysicsAssetEditorPhysicsHandleComponent::UPhysicsAssetEditorPhysicsHandleComponent(const FObjectInitializer& ObjectInitializer)
|
|
: Super(ObjectInitializer)
|
|
, bAnimInstanceMode(false)
|
|
{
|
|
}
|
|
|
|
void UPhysicsAssetEditorPhysicsHandleComponent::UpdateHandleTransform(const FTransform& NewTransform)
|
|
{
|
|
Super::UpdateHandleTransform(NewTransform);
|
|
|
|
if (bAnimInstanceMode)
|
|
{
|
|
UPhysicsAssetEditorSkeletalMeshComponent* PhatComponent = Cast<UPhysicsAssetEditorSkeletalMeshComponent>(GrabbedComponent);
|
|
if (PhatComponent != nullptr)
|
|
{
|
|
PhatComponent->UpdateHandleTransform(NewTransform);
|
|
}
|
|
}
|
|
}
|
|
|
|
void UPhysicsAssetEditorPhysicsHandleComponent::UpdateDriveSettings()
|
|
{
|
|
Super::UpdateDriveSettings();
|
|
|
|
if (bAnimInstanceMode)
|
|
{
|
|
UPhysicsAssetEditorSkeletalMeshComponent* PhatComponent = Cast<UPhysicsAssetEditorSkeletalMeshComponent>(GrabbedComponent);
|
|
if (PhatComponent != nullptr)
|
|
{
|
|
PhatComponent->UpdateDriveSettings(bSoftLinearConstraint, LinearStiffness, LinearDamping);
|
|
}
|
|
}
|
|
}
|
|
|
|
void UPhysicsAssetEditorPhysicsHandleComponent::SetAnimInstanceMode(bool bInAnimInstanceMode)
|
|
{
|
|
bAnimInstanceMode = bInAnimInstanceMode;
|
|
}
|
|
|
|
void UPhysicsAssetEditorPhysicsHandleComponent::GrabComponentImp(class UPrimitiveComponent* Component, FName InBoneName, const FVector& Location, const FRotator& Rotation, bool InbRotationConstrained)
|
|
{
|
|
Super::GrabComponentImp(Component, InBoneName, Location, Rotation, bRotationConstrained);
|
|
|
|
if (bAnimInstanceMode)
|
|
{
|
|
TargetTransform = CurrentTransform = FTransform(Rotation, Location);
|
|
|
|
UPhysicsAssetEditorSkeletalMeshComponent* PhatComponent = Cast<UPhysicsAssetEditorSkeletalMeshComponent>(Component);
|
|
if (PhatComponent != nullptr)
|
|
{
|
|
PhatComponent->Grab(InBoneName, Location, Rotation, InbRotationConstrained);
|
|
}
|
|
}
|
|
}
|
|
|
|
void UPhysicsAssetEditorPhysicsHandleComponent::ReleaseComponent()
|
|
{
|
|
if (bAnimInstanceMode)
|
|
{
|
|
UPhysicsAssetEditorSkeletalMeshComponent* PhatComponent = Cast<UPhysicsAssetEditorSkeletalMeshComponent>(GrabbedComponent);
|
|
if (PhatComponent != nullptr)
|
|
{
|
|
PhatComponent->Ungrab();
|
|
}
|
|
}
|
|
|
|
Super::ReleaseComponent();
|
|
}
|