3#include "CoreMinimal.h"
4#include "Components/ActorComponent.h"
9#include "PhysicsEngine/PhysicsHandleComponent.h"
17#include "PhysicsEngine/PhysicsConstraintComponent.h"
18#include "Runtime/Launch/Resources/Version.h"
26UCLASS( ClassGroup=(Custom), Blueprintable, meta=(BlueprintSpawnableComponent) )
33 UWeArtTouchableObject();
38 UPROPERTY(EditAnywhere, Meta = (DisplayName = "Temperature"))
40 UPROPERTY(EditAnywhere, Meta = (DisplayName = "Stiffness"))
42 bool ForceFeedback = false;
46 bool IsForceFeedback() const;
49 UPROPERTY(EditAnywhere, Meta = (DisplayName = "Texture"))
52 UPROPERTY(EditAnywhere, Meta = (DisplayName = "Volume Texture", ClampMin = 0.0, ClampMax = 100.0))
58 AActor* grasperActor =
nullptr;
60 virtual
void BeginPlay() override;
64 bool isSimulatingPhysics;
67 UPROPERTY(EditAnywhere, Meta = (DisplayName = "Graspable"))
70 float CollisionMultiplier =
WeArtConstants::defaultCollisionMultiplier;
73 virtual
void TickComponent(
float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
80 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
81 void UpdateTemperature(
bool active,
float value);
83 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
84 void UpdateStiffness(
bool active,
float value);
86 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
87 void UpdateTexture(
bool active,
TextureType textureType);
90 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
91 float GetTemperatureValue();
93 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
94 float GetStiffnessValue();
96 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
99 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
100 float GetTextureVolume();
102 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
103 void UpdateIsForcedVelocity(
bool value);
105 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
106 bool GetIsForcedVelocity();
108 UFUNCTION(BlueprintCallable, Category = "WEART TouchableObject")
109 void UpdateTextureVolume(
float value);
112 void Grab(AActor* grasper, UWeArtHapticObject* thumbHaptic, UWeArtHapticObject* indexHaptic, UWeArtHapticObject* middleHaptic);
118 ECollisionEnabled::Type OldStatus;
#define WEARTPLUGIN_API
Definition: Definitions.WEARTPlugin.h:292
TextureType
Definition: WeArtCommon.h:156
GraspingState
Definition: WeArtCommon.h:50
@ Released
Definition: WeArtCommon.h:52
Effect to be applied to the thimble.
Definition: WeArtTouchEffect.h:22
Definition: WeArtCommon.h:179
Force value to be applied to an effect.
Definition: WeArtForce.h:11
Temperature value to be applied to an effect.
Definition: WeArtTemperature.h:11
Texture information to be applied to an effect.
Definition: WeArtTexture.h:11