void UPrimitiveComponent::SetPhysicsLinearVelocity(FVector NewVel, bool bAddToCurrent, FName BoneName) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("SetPhysicsLinearVelocity", "SetPhysicsLinearVelocity"), nullptr); BI->SetLinearVelocity(NewVel, bAddToCurrent); } }
void UPrimitiveComponent::SetPhysicsMaxAngularVelocity(float NewMaxAngVel, bool bAddToCurrent, FName BoneName) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("SetPhysicsMaxAngularVelocity", "SetPhysicsMaxAngularVelocity"), nullptr); BI->SetMaxAngularVelocity(NewMaxAngVel, bAddToCurrent); } }
void UPrimitiveComponent::AddTorque(FVector Torque, FName BoneName, bool bAccelChange) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("AddTorque", "AddTorque"), BI); BI->AddTorque(Torque, true, bAccelChange); } }
void UPrimitiveComponent::AddForceAtLocation(FVector Force, FVector Location, FName BoneName) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("AddForceAtLocation", "AddForceAtLocation"), BI); BI->AddForceAtPosition(Force, Location); } }
void UPrimitiveComponent::AddAngularImpulse(FVector Impulse, FName BoneName, bool bVelChange) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("AddAngularImpulse", "AddAngularImpulse"), BI); BI->AddAngularImpulse(Impulse, bVelChange); } }
void UPrimitiveComponent::SetMassScale(FName BoneName, float InMassScale) { if (FBodyInstance* BI = GetBodyInstance(BoneName)) { WarnInvalidPhysicsOperations(LOCTEXT("SetMassScale", "SetMassScale"), BI); BI->SetMassScale(InMassScale); } }
float UPrimitiveComponent::GetMass() const { if (FBodyInstance* BI = GetBodyInstance()) { WarnInvalidPhysicsOperations(LOCTEXT("GetMass", "GetMass"), BI); return BI->GetBodyMass(); } return 0.0f; }